Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update CI to match glotzerlab software suite #24

Open
wants to merge 15 commits into
base: main
Choose a base branch
from
81 changes: 81 additions & 0 deletions .github/requirements3.10.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version 3.10 requirements/requirements-build.txt requirements/requirements-testing.txt requirements/requirements.txt
attrs==23.2.0
# via hypothesis
bottleneck==1.4.0
# via -r requirements/requirements.txt
coverage==7.6.0
# via -r requirements/requirements-testing.txt
exceptiongroup==1.2.2
# via
# hypothesis
# pytest
freud-analysis==3.1.0
# via -r requirements/requirements.txt
hypothesis==6.108.4
# via -r requirements/requirements-testing.txt
iniconfig==2.0.0
# via pytest
joblib==1.4.2
# via scikit-learn
kneed==0.8.5
# via -r requirements/requirements.txt
llvmlite==0.43.0
# via numba
numba==0.60.0
# via -r requirements/requirements.txt
numpy==2.0.1
# via
# -r requirements/requirements.txt
# bottleneck
# freud-analysis
# kneed
# numba
# pandas
# rowan
# ruptures
# scikit-learn
# scipy
# xarray
packaging==24.1
# via
# pytest
# xarray
pandas==2.2.2
# via
# -r requirements/requirements.txt
# xarray
pluggy==1.5.0
# via pytest
pytest==8.3.1
# via -r requirements/requirements-testing.txt
python-dateutil==2.9.0.post0
# via pandas
pytz==2024.1
# via pandas
rowan==1.3.0.post1
# via freud-analysis
ruptures==1.1.9
# via -r requirements/requirements.txt
scikit-learn==1.5.1
# via -r requirements/requirements.txt
scipy==1.14.0
# via
# freud-analysis
# kneed
# ruptures
# scikit-learn
setuptools==71.1.0
# via -r requirements/requirements-build.txt
six==1.16.0
# via python-dateutil
sortedcontainers==2.4.0
# via hypothesis
threadpoolctl==3.5.0
# via scikit-learn
tomli==2.0.1
# via pytest
tzdata==2024.1
# via pandas
xarray==2024.6.0
# via -r requirements/requirements.txt
75 changes: 75 additions & 0 deletions .github/requirements3.11.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version 3.11 requirements/requirements-build.txt requirements/requirements-testing.txt requirements/requirements.txt
attrs==23.2.0
# via hypothesis
bottleneck==1.4.0
# via -r requirements/requirements.txt
coverage==7.6.0
# via -r requirements/requirements-testing.txt
freud-analysis==3.1.0
# via -r requirements/requirements.txt
hypothesis==6.108.4
# via -r requirements/requirements-testing.txt
iniconfig==2.0.0
# via pytest
joblib==1.4.2
# via scikit-learn
kneed==0.8.5
# via -r requirements/requirements.txt
llvmlite==0.43.0
# via numba
numba==0.60.0
# via -r requirements/requirements.txt
numpy==2.0.1
# via
# -r requirements/requirements.txt
# bottleneck
# freud-analysis
# kneed
# numba
# pandas
# rowan
# ruptures
# scikit-learn
# scipy
# xarray
packaging==24.1
# via
# pytest
# xarray
pandas==2.2.2
# via
# -r requirements/requirements.txt
# xarray
pluggy==1.5.0
# via pytest
pytest==8.3.1
# via -r requirements/requirements-testing.txt
python-dateutil==2.9.0.post0
# via pandas
pytz==2024.1
# via pandas
rowan==1.3.0.post1
# via freud-analysis
ruptures==1.1.9
# via -r requirements/requirements.txt
scikit-learn==1.5.1
# via -r requirements/requirements.txt
scipy==1.14.0
# via
# freud-analysis
# kneed
# ruptures
# scikit-learn
setuptools==71.1.0
# via -r requirements/requirements-build.txt
six==1.16.0
# via python-dateutil
sortedcontainers==2.4.0
# via hypothesis
threadpoolctl==3.5.0
# via scikit-learn
tzdata==2024.1
# via pandas
xarray==2024.6.0
# via -r requirements/requirements.txt
75 changes: 75 additions & 0 deletions .github/requirements3.12.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version 3.12 requirements/requirements-build.txt requirements/requirements-testing.txt requirements/requirements.txt
attrs==23.2.0
# via hypothesis
bottleneck==1.4.0
# via -r requirements/requirements.txt
coverage==7.6.0
# via -r requirements/requirements-testing.txt
freud-analysis==3.1.0
# via -r requirements/requirements.txt
hypothesis==6.108.4
# via -r requirements/requirements-testing.txt
iniconfig==2.0.0
# via pytest
joblib==1.4.2
# via scikit-learn
kneed==0.8.5
# via -r requirements/requirements.txt
llvmlite==0.43.0
# via numba
numba==0.60.0
# via -r requirements/requirements.txt
numpy==2.0.1
# via
# -r requirements/requirements.txt
# bottleneck
# freud-analysis
# kneed
# numba
# pandas
# rowan
# ruptures
# scikit-learn
# scipy
# xarray
packaging==24.1
# via
# pytest
# xarray
pandas==2.2.2
# via
# -r requirements/requirements.txt
# xarray
pluggy==1.5.0
# via pytest
pytest==8.3.1
# via -r requirements/requirements-testing.txt
python-dateutil==2.9.0.post0
# via pandas
pytz==2024.1
# via pandas
rowan==1.3.0.post1
# via freud-analysis
ruptures==1.1.9
# via -r requirements/requirements.txt
scikit-learn==1.5.1
# via -r requirements/requirements.txt
scipy==1.14.0
# via
# freud-analysis
# kneed
# ruptures
# scikit-learn
setuptools==71.1.0
# via -r requirements/requirements-build.txt
six==1.16.0
# via python-dateutil
sortedcontainers==2.4.0
# via hypothesis
threadpoolctl==3.5.0
# via scikit-learn
tzdata==2024.1
# via pandas
xarray==2024.6.0
# via -r requirements/requirements.txt
81 changes: 81 additions & 0 deletions .github/requirements3.9.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --python-version 3.9 requirements/requirements-build.txt requirements/requirements-testing.txt requirements/requirements.txt
attrs==23.2.0
# via hypothesis
bottleneck==1.4.0
# via -r requirements/requirements.txt
coverage==7.6.0
# via -r requirements/requirements-testing.txt
exceptiongroup==1.2.2
# via
# hypothesis
# pytest
freud-analysis==3.1.0
# via -r requirements/requirements.txt
hypothesis==6.108.4
# via -r requirements/requirements-testing.txt
iniconfig==2.0.0
# via pytest
joblib==1.4.2
# via scikit-learn
kneed==0.8.5
# via -r requirements/requirements.txt
llvmlite==0.43.0
# via numba
numba==0.60.0
# via -r requirements/requirements.txt
numpy==2.0.1
# via
# -r requirements/requirements.txt
# bottleneck
# freud-analysis
# kneed
# numba
# pandas
# rowan
# ruptures
# scikit-learn
# scipy
# xarray
packaging==24.1
# via
# pytest
# xarray
pandas==2.2.2
# via
# -r requirements/requirements.txt
# xarray
pluggy==1.5.0
# via pytest
pytest==8.3.1
# via -r requirements/requirements-testing.txt
python-dateutil==2.9.0.post0
# via pandas
pytz==2024.1
# via pandas
rowan==1.3.0.post1
# via freud-analysis
ruptures==1.1.9
# via -r requirements/requirements.txt
scikit-learn==1.5.1
# via -r requirements/requirements.txt
scipy==1.13.1
# via
# freud-analysis
# kneed
# ruptures
# scikit-learn
setuptools==71.1.0
# via -r requirements/requirements-build.txt
six==1.16.0
# via python-dateutil
sortedcontainers==2.4.0
# via hypothesis
threadpoolctl==3.5.0
# via scikit-learn
tomli==2.0.1
# via pytest
tzdata==2024.1
# via pandas
xarray==2024.6.0
# via -r requirements/requirements.txt
11 changes: 0 additions & 11 deletions .github/workflows/requirements-test.txt

This file was deleted.

23 changes: 11 additions & 12 deletions .github/workflows/run-pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,22 +30,21 @@ jobs:
- os: 'macos-latest'
python: '3.12'
steps:
- uses: actions/checkout@v4
with:
submodules: "recursive"
- name: Checkout
uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6
janbridley marked this conversation as resolved.
Show resolved Hide resolved
- name: Set up Python ${{ matrix.python }}
uses: actions/setup-python@v5
uses: actions/setup-python@39cd14951b08e74b54015e9e001cdefcf80e669f # v5.1.1
DomFijan marked this conversation as resolved.
Show resolved Hide resolved
with:
python-version: ${{ matrix.python }}
- name: Update pip/build packages
run: |
pip install setuptools --upgrade
- name: Install dependencies
run: |
pip install -r .github/workflows/requirements-test.txt
- name: Install the package
- name: Set up Python environment
uses: glotzerlab/workflows/setup-uv@3573ddaebf3290e00bfb150b82a46412192a61d3
DomFijan marked this conversation as resolved.
Show resolved Hide resolved
with:
only-binary: ":none:"
lockfile: ".github/requirements${{ matrix.python }}.txt"
- name: Install package
run: |
pip install -e .
python --version
uv pip install . --no-build-isolation --no-deps --system -v
DomFijan marked this conversation as resolved.
Show resolved Hide resolved
- name: Test with pytest
run: |
python -m pytest -v
1 change: 1 addition & 0 deletions requirements/requirements-build.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
setuptools
5 changes: 3 additions & 2 deletions requirements/requirements-testing.txt
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
pytest>6.2.1
hypothesis>6.30.0
pytest
hypothesis
coverage
Comment on lines +1 to +3
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

probably need lowest supported versions here OR probably would be good to pin these as well? What do you think?

Also do we need coverage? We don't seem to be using it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably use coverage, I'll add that tomorrow. Pins are set in the pipfiles to ensure there are no user-facing hard pins. This can yield unresolvable environments fairly easily

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should set some minimal version in that case?

16 changes: 9 additions & 7 deletions requirements/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
bottleneck>=1.3.4
freud-analysis>=2.7.0
kneed>=0.8.2
numpy>=1.21
ruptures>=1.1.5
scikit-learn>=0.24.0
pandas>=1.1.3
bottleneck
freud-analysis
kneed
numba
numpy
ruptures
scikit-learn
pandas
xarray
Comment on lines +1 to +9
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

shouldn't these have lowest supported version?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably - I will find the lowest variants for each.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can probably reuse some of the old ones?