Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,12 +35,14 @@ jobs:
with:
coverage: 'codecov'
posargs: '--color=yes'
toxdeps: tox-pypi-filter>=0.14
envs: |
- linux: py314
- macos: py313
- windows: py312
- linux: py311
- linux: py311-oldestdeps
toxdeps: tox-uv tox-pypi-filter>=0.14
secrets:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

Expand Down Expand Up @@ -82,6 +84,7 @@ jobs:
with:
coverage: 'codecov'
posargs: '--color=yes'
toxdeps: tox-pypi-filter>=0.14
envs: |
- linux: py312-online
- linux: py313-devdeps
Expand Down
60 changes: 44 additions & 16 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ dependencies = [
# files with them unpinned so they are now required to read generated asdf
# files.
"asdf>=3.3.0", # Required by gwcs 0.24
"asdf-astropy>=0.5.0", # Required by gwcs 0.24
"asdf-astropy>=0.7.0", # Required by gwcs 0.24
"asdf-coordinates-schemas>=0.3.0", # required by wcs-schemas 0.4
"asdf-standard>=1.1.0",
"asdf-transform-schemas>=0.6.0",
Expand All @@ -46,21 +46,21 @@ dynamic = ["version"]

[project.optional-dependencies]
tests = [
"pytest",
"pytest-asdf-plugin",
"pytest-doctestplus",
"pytest-cov",
"pytest-remotedata",
"pytest-mock",
"pytest-mpl",
"pytest-httpserver",
"pytest-filter-subpackage",
"pytest-benchmark",
"pytest-xdist",
"pytest-lazy-fixtures",
"hypothesis",
"tox",
"pydot",
"pytest>=8.0.1",
"pytest-asdf-plugin>=0.1.0",
"pytest-doctestplus>=1.4.0",
"pytest-cov>=6.0.0",
"pytest-remotedata>=0.4.0",
"pytest-mock>=3.13.0",
"pytest-mpl>=0.18.0",
"pytest-httpserver>=1.1.0",
"pytest-filter-subpackage>=0.2.0",
"pytest-benchmark>=5.0.0",
"pytest-xdist>=3.6.0",
"pytest-lazy-fixtures>=1.1.0",
"hypothesis>=6.84.0",
"tox>=4.0.0",
"pydot>=3.0.0",
]
docs = [
"sphinx<9",
Expand Down Expand Up @@ -183,3 +183,31 @@ version_file = "dkist/_version.py"
directory = "performance"
name = "Performance Improvements"
showcontent = true

[tool.uv]
constraint-dependencies = [
# Core deps
"zarr>=2.15.0",
"pandas>=2.2.0",
"isodate>=0.6.0",
"fasteners>=0.18",
"lxml>=5.2.0",
"pyyaml>=6.0.2",
"cffi>=1.17.0",
"frozenlist>=1.5.0",
"pillow>=9.4.0",
"numcodecs>=0.11.0",
"pycparser>=2.22",
"asciitree>=0.3.3",
"entrypoints>=0.4",
"ply>=3.10",
"locket>=1.0.0",
"markupsafe>=3.0.2",
"jinja2>=3.1.3",
"defusedxml>=0.7.1",
"toolz>=1.0.0",
"urllib3>=2.2.0",
# test deps
"py-cpuinfo>=9.0.0",
"iniconfig>=2.3.0",
]
2 changes: 1 addition & 1 deletion pytest.ini
Original file line number Diff line number Diff line change
Expand Up @@ -74,5 +74,5 @@ filterwarnings =
ignore:pkg_resources is deprecated as an API.*:DeprecationWarning
ignore:Deprecated call to .*pkg_resources\.declare_namespace.*mpl_toolkits.*:DeprecationWarning
ignore:Signature b:UserWarning
ignore:Reshaping is producing a large chunk:dask.array.core.PerformanceWarning
# ignore:Reshaping is producing a large chunk:dask.array.core.PerformanceWarning
ignore:The chararray class is deprecated:DeprecationWarning
11 changes: 8 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -51,18 +51,23 @@ deps =
devdeps: git+https://github.com/sunpy/mpl-animators
devdeps: git+https://github.com/globus/globus-sdk-python
# Autogenerate oldest dependencies from info in setup.cfg
oldestdeps: minimum_dependencies
# oldestdeps: minimum_dependencies
figure-!devdeps: matplotlib==3.10.8
figure-!devdeps: mpl-animators==1.2.4
figure-!devdeps: astropy==7.2.0
figure-!devdeps: ndcube==2.4.0
uv_resolution =
# The oldestdeps factor is intended to be used to install
# Let uv handle this for us by requesting all requirements should be
# resolved to their oldest compatible versions (including transitive dependencies)
oldestdeps: lowest
# The following indicates which extras_require will be installed
extras =
tests
commands_pre =
oldestdeps: minimum_dependencies dkist --filename requirements-min.txt
# oldestdeps: minimum_dependencies dkist --filename requirements-min.txt
# We need to pin down the pyparsing transitive dependency because of matplotlib
oldestdeps: pip install -r requirements-min.txt pyparsing<3.3
# oldestdeps: pip install -r requirements-min.txt pyparsing<3.3
pip freeze --all --no-input
commands =
figure: /bin/sh -c "mkdir -p ./figure_test_images; python -c 'import matplotlib as mpl; print(mpl.ft2font.__file__, mpl.ft2font.__freetype_version__, mpl.ft2font.__freetype_build_type__)' > ./figure_test_images/figure_version_info.txt"
Expand Down
Loading