diff --git a/.coveragerc b/.coveragerc index 2f74e1948..cd290e8f8 100644 --- a/.coveragerc +++ b/.coveragerc @@ -6,7 +6,6 @@ relative_files = true [paths] sources = src/ - /**/lib/python3.8/site-packages /**/lib/python3.9/site-packages /**/lib/python3.10/site-packages /**/lib/python3.11/site-packages diff --git a/.github/workflows/extensive_test.yml b/.github/workflows/extensive_test.yml index 681930653..6c12f81bf 100644 --- a/.github/workflows/extensive_test.yml +++ b/.github/workflows/extensive_test.yml @@ -98,7 +98,7 @@ jobs: - name: Install python dependencies run: | sudo apt-get install graphviz graphviz-dev - pip install wheel "numpy<2.0.0" scipy f90nml h5py scikit-build cmake qsc sympy pyevtk matplotlib ninja plotly networkx pygraphviz ground bentley_ottmann f90wrap + pip install wheel numpy scipy f90nml h5py scikit-build cmake qsc sympy pyevtk matplotlib ninja plotly networkx pygraphviz ground bentley_ottmann f90wrap - name: Install booz_xform if: contains(matrix.packages, 'vmec') || contains(matrix.packages, 'all') @@ -290,7 +290,7 @@ jobs: - name: Upload coverage to Codecov # The next line prevents github from trying to upload to Codecov on forks of the repository, avoiding a permissions error if: github.repository_owner == 'hiddenSymmetries' - uses: codecov/codecov-action@v3 + uses: codecov/codecov-action@v4 with: token: ${{ secrets.CODECOV_TOKEN }} file: ./coverage.xml diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml index 5eea66ef0..012d7bb77 100644 --- a/.github/workflows/linting.yml +++ b/.github/workflows/linting.yml @@ -20,5 +20,5 @@ jobs: python-version: ${{ matrix.python-version }} - name: Run ruff - uses: chartboost/ruff-action@v1 + uses: astral-sh/ruff-action@v1 diff --git a/.github/workflows/non_simd_tests.yml b/.github/workflows/non_simd_tests.yml index 121cc36ee..b59209470 100644 --- a/.github/workflows/non_simd_tests.yml +++ b/.github/workflows/non_simd_tests.yml @@ -84,7 +84,7 @@ jobs: - name: Install python dependencies run: | sudo apt-get install graphviz graphviz-dev - pip install wheel "numpy<2.0.0" scipy f90nml h5py scikit-build cmake qsc sympy pyevtk matplotlib ninja plotly networkx pygraphviz ground bentley_ottmann + pip install wheel numpy scipy f90nml h5py scikit-build cmake qsc sympy pyevtk matplotlib ninja plotly networkx pygraphviz ground bentley_ottmann - name: Install booz_xform run: pip install -v git+https://github.com/hiddenSymmetries/booz_xform diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 6b6671de7..b17d75970 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -93,7 +93,7 @@ jobs: - name: Install python dependencies run: | sudo apt-get install graphviz graphviz-dev - pip install "numpy<2.0.0" cmake scikit-build f90nml ninja wheel setuptools sympy qsc pyevtk matplotlib plotly networkx pygraphviz mpi4py py_spec h5py ground bentley_ottmann f90wrap + pip install numpy cmake scikit-build f90nml ninja wheel setuptools sympy qsc pyevtk matplotlib plotly networkx pygraphviz mpi4py py_spec h5py ground bentley_ottmann f90wrap - name: Install pyoculus run: pip install -v git+https://github.com/zhisong/pyoculus diff --git a/.github/workflows/wheel.yml b/.github/workflows/wheel.yml index f2593af6c..2f21606bb 100644 --- a/.github/workflows/wheel.yml +++ b/.github/workflows/wheel.yml @@ -17,15 +17,15 @@ jobs: run: git fetch --prune --unshallow - name: Build wheels - uses: pypa/cibuildwheel@v2.11.4 + uses: pypa/cibuildwheel@v2.21.3 # To supply options, put them in 'env' env: - # Only build for python 3.{8,9,10,11} - CIBW_BUILD : cp38-* cp39-* cp310-* cp311-* + # Only build for python 3.{9,10,11,12} + CIBW_BUILD : cp39-* cp310-* cp311-* cp312-* # Supports only x86_64 arch for linux CIBW_ARCHS_LINUX: x86_64 CIBW_ARCHS_MACOS: "x86_64 arm64" - CIBW_SKIP: cp27-* cp36-* cp37-* + CIBW_SKIP: cp27-* cp36-* cp37-* cp38-* CIBW_DEPENDENCY_VERSIONS: latest - uses: actions/upload-artifact@v3 @@ -68,7 +68,7 @@ jobs: # alternatively, to publish when a GitHub Release is created, use the following rule: # if: github.event_name == 'release' && github.event.action == 'published' steps: - - uses: actions/download-artifact@v4.1.7 + - uses: actions/download-artifact@v4 with: name: artifact path: dist diff --git a/ci/singularity.def b/ci/singularity.def index 83652710b..b61f212df 100644 --- a/ci/singularity.def +++ b/ci/singularity.def @@ -50,15 +50,17 @@ Stage: devel git clone --depth 1 https://github.com/mpi4py/mpi4py.git && \ cd mpi4py && \ - /venv/bin/python setup.py build --mpicc=mpicc --mpicxx=mpicxx --mpifort=mpifort --mpif90=mpif90 --mpif77=mpif77 --mpild=mpicc && \ - /venv/bin/python setup.py install && \ + # /venv/bin/python setup.py build --mpicc=mpicc --mpicxx=mpicxx --mpifort=mpifort --mpif90=mpif90 --mpif77=mpif77 --mpild=mpicc && \ + # /venv/bin/python setup.py install && \ + /venv/bin/pip install . && \ cd .. && \ rm -rf mpi4py git clone --depth 1 https://github.com/PrincetonUniversity/SPEC.git && \ cd SPEC && \ - /venv/bin/python setup.py bdist_wheel && \ - /venv/bin/pip install -v dist/*.whl && \ + # /venv/bin/python setup.py bdist_wheel && \ + # /venv/bin/pip install -v dist/*.whl && \ + /venv/bin/pip install -v . cd Utilities/pythontools && \ /venv/bin/pip install -r requirements.txt && \ /venv/bin/pip install . && \ diff --git a/conda.recipe/conda_build_config.yaml b/conda.recipe/conda_build_config.yaml index 364f82234..fc418211e 100644 --- a/conda.recipe/conda_build_config.yaml +++ b/conda.recipe/conda_build_config.yaml @@ -2,7 +2,6 @@ numpy: - 1.23 - 1.24 python: - - 3.8 - 3.9 - 3.10 - 3.11 diff --git a/pyproject.toml b/pyproject.toml index b89247f2c..0667b0aae 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,8 +2,7 @@ requires = [ "scikit-build-core", "pybind11", - "numpy >= 2.0.0; python_version > '3.8'", - "oldest-supported-numpy; python_version <= '3.8'", + "numpy >= 2.0.0", "setuptools_scm>=8.0", 'tomli; python_version < "3.11"',] build-backend = "scikit_build_core.build" @@ -53,7 +52,7 @@ keywords = [ "magnetostatics" ] dependencies = [ - "numpy>=1.21,<2.0.0", + "numpy>=1.21", "jax>=0.2.5", "jaxlib>=0.1.56", "scipy>=1.5.4", diff --git a/requirements.txt b/requirements.txt index b3d4e772a..1c1011a24 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ setuptools_scm >= 6.0 -numpy >= 1.19.4 +numpy >= 1.21.0 jax >= 0.2.5 jaxlib >= 0.1.56 scipy >= 1.5.4