Skip to content

Commit

Permalink
DEP: move dev-only dependencies to requirements files
Browse files Browse the repository at this point in the history
  • Loading branch information
neutrinoceros committed Sep 11, 2024
1 parent c9b12af commit 621c71a
Show file tree
Hide file tree
Showing 9 changed files with 101 additions and 38 deletions.
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
version: 2
updates:
- package-ecosystem: pip
directory: /requirements
schedule:
interval: monthly
groups:
actions:
patterns:
- '*'

- package-ecosystem: github-actions
directory: /.github/workflows
schedule:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/type-checking.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ jobs:
- name: Build
run: |
python3 -m pip install --upgrade pip
python3 -m pip install -e .[typecheck]
python3 -m pip install -e . -r requirements/typecheck.txt
- run: python -m pip list

Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
Expand Up @@ -70,5 +70,6 @@ include yt/default.mplstyle

prune yt/frontends/_skeleton
recursive-include yt/frontends/amrvac *.par
exclude requirements
exclude .codecov.yml .coveragerc .git-blame-ignore-revs .gitmodules .hgchurn .mailmap
exclude .pre-commit-config.yaml clean.sh nose_answer.cfg nose_unit.cfg nose_ignores.txt
2 changes: 1 addition & 1 deletion doc/source/developing/building_the_docs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ the top level of a local copy, run

.. code-block:: bash
$ python -m pip install -e ".[doc]"
$ python -m pip install -e . -r requirements/docs.txt
Quick versus Full Documentation Builds
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
37 changes: 2 additions & 35 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,8 @@ keywords = [
"astronomy astrophysics visualization amr adaptivemeshrefinement",
]
requires-python = ">=3.9.2"

# keep in sync with requirements/minimal_env.txt
dependencies = [
"cmyt>=1.1.2",
"ewah-bool-utils>=1.2.0",
Expand Down Expand Up @@ -190,37 +192,9 @@ full = [
]

# dev-only extra targets
doc = [
"alabaster>=0.7.13",
"bottle>=0.12.25",
"ipykernel>=6.29.4",
"jinja2<3.1.0", # see https://github.com/readthedocs/readthedocs.org/issues/9037
"jupyter-client>=8.3.1",
"nbsphinx>=0.9.3",
"nose~=1.3.7; python_version < '3.10'",
"pytest>=6.1",
"pyx>=0.15",
"sphinx>=7.2.5",
"sphinx-bootstrap-theme>=0.8.1",
"sphinx-rtd-theme>=1.3.0",
]
mapserver = [
"bottle",
]
minimal = [
"cmyt==1.1.2",
"ewah-bool-utils==1.2.0",
"matplotlib==3.5",
"more-itertools==8.4",
"numpy==1.19.3",
"packaging==20.9",
"pillow==8.0.0",
"tomli-w==0.4.0",
"tqdm==3.4.0",
"unyt==2.9.2",
"tomli==1.2.3;python_version < '3.11'",
"typing-extensions==4.4.0;python_version < '3.12'",
]
test = [
"pyaml>=17.10.0",
"pytest>=6.1",
Expand All @@ -231,13 +205,6 @@ test = [
"nose-timer~=1.0.0; python_version < '3.10'",
"imageio!=2.35.0", # see https://github.com/yt-project/yt/issues/4966
]
typecheck = [
"mypy==1.8.0",
"types-PyYAML==6.0.12.12",
"types-chardet==5.0.4.6",
"types-requests==2.31.0.20240125",
"typing-extensions==4.4.0; python_version < '3.12'",
]

[project.scripts]
yt = "yt.utilities.command_line:run_main"
Expand Down
12 changes: 12 additions & 0 deletions requirements/docs.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
alabaster>=0.7.13
bottle>=0.12.25
ipykernel>=6.29.4
jinja2<3.1.0 # see https://github.com/readthedocs/readthedocs.org/issues/9037
jupyter-client>=8.3.1
nbsphinx>=0.9.3
nose~=1.3.7; python_version < '3.10'
pytest>=6.1
pyx>=0.15
sphinx>=7.2.5
sphinx-bootstrap-theme>=0.8.1
sphinx-rtd-theme>=1.3.0
69 changes: 69 additions & 0 deletions requirements/minimal_env.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# This file was autogenerated by uv via the following command:
# uv pip compile pyproject.toml --python=3.9 --python-platform=x86_64-unknown-linux-gnu --resolution=lowest-direct --no-build
cmyt==1.1.2
# via yt (pyproject.toml)
colorspacious==1.1.2
# via cmyt
cycler==0.12.1
# via matplotlib
ewah-bool-utils==1.2.0
# via yt (pyproject.toml)
fonttools==4.53.1
# via matplotlib
kiwisolver==1.4.7
# via matplotlib
matplotlib==3.5.0
# via
# yt (pyproject.toml)
# cmyt
more-itertools==8.4.0
# via
# yt (pyproject.toml)
# cmyt
mpmath==1.3.0
# via sympy
numpy==1.19.3
# via
# yt (pyproject.toml)
# cmyt
# colorspacious
# ewah-bool-utils
# matplotlib
# unyt
packaging==20.9
# via
# yt (pyproject.toml)
# matplotlib
# setuptools-scm
pillow==8.0.0
# via
# yt (pyproject.toml)
# matplotlib
pyparsing==3.1.4
# via
# matplotlib
# packaging
python-dateutil==2.9.0.post0
# via matplotlib
setuptools==74.1.2
# via setuptools-scm
setuptools-scm==8.1.0
# via matplotlib
six==1.16.0
# via python-dateutil
sympy==1.13.2
# via unyt
tomli==1.2.3
# via
# yt (pyproject.toml)
# setuptools-scm
tomli-w==0.4.0
# via yt (pyproject.toml)
tqdm==3.4.0
# via yt (pyproject.toml)
typing-extensions==4.4.0
# via
# yt (pyproject.toml)
# setuptools-scm
unyt==2.9.2
# via yt (pyproject.toml)
5 changes: 5 additions & 0 deletions requirements/typecheck.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
mypy==1.8.0
types-PyYAML==6.0.12.12
types-chardet==5.0.4.6
types-requests==2.31.0.20240125
typing-extensions==4.4.0; python_version < '3.12'
2 changes: 1 addition & 1 deletion tests/ci_install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ fi
# but the primary intention is to embed this script in CI jobs
if [[ ${dependencies} == "minimal" ]]; then
# test with minimal versions of runtime dependencies
python -m pip install -e ".[test,minimal]"
python -m pip install -e ".[test]" -r requirements/minimal_env.txt
elif [[ ${dependencies} == "cartopy" ]]; then
python -m pip install 'cartopy>=0.22'
# scipy is an optional dependency to cartopy
Expand Down

0 comments on commit 621c71a

Please sign in to comment.