diff --git a/.github/workflows/_disabled/gt4py-sphinx.yml b/.github/workflows/_disabled/gt4py-sphinx.yml index d862ab7321..cb3b275787 100644 --- a/.github/workflows/_disabled/gt4py-sphinx.yml +++ b/.github/workflows/_disabled/gt4py-sphinx.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v1 with: - python-version: 3.8 + python-version: 3.10 - name: Install dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/daily-ci.yml b/.github/workflows/daily-ci.yml index 7ece5a4d5e..28512a18ac 100644 --- a/.github/workflows/daily-ci.yml +++ b/.github/workflows/daily-ci.yml @@ -15,7 +15,7 @@ jobs: daily-ci: strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] tox-module-factor: ["cartesian", "eve", "next", "storage"] os: ["ubuntu-latest"] requirements-file: ["requirements-dev.txt", "min-requirements-test.txt", "min-extra-requirements-test.txt"] diff --git a/.github/workflows/test-cartesian-fallback.yml b/.github/workflows/test-cartesian-fallback.yml index 45bbdf271a..76fd898159 100644 --- a/.github/workflows/test-cartesian-fallback.yml +++ b/.github/workflows/test-cartesian-fallback.yml @@ -17,7 +17,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] tox-factor: [internal, dace] steps: diff --git a/.github/workflows/test-cartesian.yml b/.github/workflows/test-cartesian.yml index f7e78ee6c1..fd896c3d89 100644 --- a/.github/workflows/test-cartesian.yml +++ b/.github/workflows/test-cartesian.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] tox-factor: [internal, dace] steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/test-eve-fallback.yml b/.github/workflows/test-eve-fallback.yml index 661118e71d..461400423f 100644 --- a/.github/workflows/test-eve-fallback.yml +++ b/.github/workflows/test-eve-fallback.yml @@ -18,7 +18,7 @@ jobs: test-eve: strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] os: ["ubuntu-latest"] runs-on: ${{ matrix.os }} diff --git a/.github/workflows/test-eve.yml b/.github/workflows/test-eve.yml index bfd6d8e481..e83c4c563b 100644 --- a/.github/workflows/test-eve.yml +++ b/.github/workflows/test-eve.yml @@ -22,7 +22,7 @@ jobs: test-eve: strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] os: ["ubuntu-latest"] fail-fast: false diff --git a/.github/workflows/test-storage-fallback.yml b/.github/workflows/test-storage-fallback.yml index df861c6468..022c66b1f1 100644 --- a/.github/workflows/test-storage-fallback.yml +++ b/.github/workflows/test-storage-fallback.yml @@ -19,7 +19,7 @@ jobs: test-storage: strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] tox-factor: [internal, dace] os: ["ubuntu-latest"] diff --git a/.github/workflows/test-storage.yml b/.github/workflows/test-storage.yml index 2f85670eeb..bfe6e49d23 100644 --- a/.github/workflows/test-storage.yml +++ b/.github/workflows/test-storage.yml @@ -23,7 +23,7 @@ jobs: test-storage: strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.10", "3.11"] tox-factor: [internal, dace] os: ["ubuntu-latest"] fail-fast: false diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e383112310..051781ea49 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -50,7 +50,7 @@ repos: ## version = re.search('ruff==([0-9\.]*)', open("constraints.txt").read())[1] ## print(f"rev: v{version}") ##]]] - rev: v0.8.2 + rev: v0.8.6 ##[[[end]]] hooks: # Run the linter. @@ -72,9 +72,9 @@ repos: ## version = re.search('mypy==([0-9\.]*)', open("constraints.txt").read())[1] ## print(f"#========= FROM constraints.txt: v{version} =========") ##]]] - #========= FROM constraints.txt: v1.13.0 ========= + #========= FROM constraints.txt: v1.14.1 ========= ##[[[end]]] - rev: v1.13.0 # MUST match version ^^^^ in constraints.txt (if the mirror is up-to-date) + rev: v1.14.1 # MUST match version ^^^^ in constraints.txt (if the mirror is up-to-date) hooks: - id: mypy additional_dependencies: # versions from constraints.txt @@ -90,31 +90,29 @@ repos: ## for pkg in packages: ## print(f"- {pkg}==" + str(re.search(f'\n{pkg}==([0-9\.]*)', constraints)[1])) ##]]] - - astunparse==1.6.3 - - attrs==24.2.0 - - black==24.8.0 + - attrs==24.3.0 + - black==24.10.0 - boltons==24.1.0 - cached-property==2.0.1 - - click==8.1.7 - - cmake==3.31.1 - - cytoolz==1.0.0 - - deepdiff==8.0.1 + - click==8.1.8 + - cmake==3.31.2 + - cytoolz==1.0.1 + - deepdiff==8.1.1 - devtools==0.12.2 - diskcache==5.6.3 - factory-boy==3.3.1 - filelock==3.16.1 - frozendict==2.4.6 - gridtools-cpp==2.3.8 - - importlib-resources==6.4.5 - - jinja2==3.1.4 + - jinja2==3.1.5 - lark==1.2.2 - mako==1.3.8 - nanobind==2.4.0 - - ninja==1.11.1.2 - - numpy==1.24.4 + - ninja==1.11.1.3 + - numpy==1.26.4 - packaging==24.2 - pybind11==2.13.6 - - setuptools==75.3.0 + - setuptools==75.8.0 - tabulate==0.9.0 - typing-extensions==4.12.2 - xxhash==3.0.0 diff --git a/README.md b/README.md index b782e20f63..07e0e1cdee 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ GT4Py is a Python library for generating high performance implementations of stencil kernels from a high-level definition using regular Python functions. GT4Py is part of the GridTools framework, a set of libraries and utilities to develop performance portable applications in the area of weather and climate modeling. -**NOTE:** The `gt4py.next` subpackage contains a new version of GT4Py which is not compatible with the current _stable_ version defined in `gt4py.cartesian`. The new version is highly experimental, it only works with unstructured meshes and it requires `python >= 3.10`. +**NOTE:** The `gt4py.next` subpackage contains a new version of GT4Py which is not compatible with the current _stable_ version defined in `gt4py.cartesian`. The new version is still experimental. ## 📃 Description diff --git a/ci/cscs-ci.yml b/ci/cscs-ci.yml index 7adb88459e..c2a872c1c4 100644 --- a/ci/cscs-ci.yml +++ b/ci/cscs-ci.yml @@ -9,13 +9,6 @@ include: PYVERSION_PREFIX: py310 PYVERSION: 3.10.9 -.py39: &py39 - PYVERSION_PREFIX: py39 - PYVERSION: 3.9.1 - -.py38: &py38 - PYVERSION_PREFIX: py38 - PYVERSION: 3.8.5 stages: - baseimage @@ -78,20 +71,6 @@ build_py310_baseimage_aarch64: variables: <<: *py310 -build_py39_baseimage_x86_64: - extends: .build_baseimage_x86_64 - variables: - <<: *py39 -build_py39_baseimage_aarch64: - extends: .build_baseimage_aarch64 - variables: - <<: *py39 - -build_py38_baseimage_x86_64: - extends: .build_baseimage_x86_64 - variables: - <<: *py38 - .build_image: stage: image @@ -128,23 +107,6 @@ build_py310_image_aarch64: variables: <<: *py310 -build_py39_image_x86_64: - extends: .build_image_x86_64 - needs: [build_py39_baseimage_x86_64] - variables: - <<: *py39 -build_py39_image_aarch64: - extends: .build_image_aarch64 - needs: [build_py39_baseimage_aarch64] - variables: - <<: *py39 - -build_py38_image_x86_64: - extends: .build_image_x86_64 - needs: [build_py38_baseimage_x86_64] - variables: - <<: *py38 - .test_helper: stage: test @@ -210,20 +172,3 @@ test_py310_aarch64: needs: [build_py310_image_aarch64] variables: <<: *py310 - -test_py39_x86_64: - extends: [.test_helper_x86_64] - needs: [build_py39_image_x86_64] - variables: - <<: *py39 -test_py39_aarch64: - extends: [.test_helper_aarch64] - needs: [build_py39_image_aarch64] - variables: - <<: *py39 - -test_py38_x86_64: - extends: [.test_helper_x86_64] - needs: [build_py38_image_x86_64] - variables: - <<: *py38 diff --git a/constraints.txt b/constraints.txt index fbdfb6e267..8b3e5e697f 100644 --- a/constraints.txt +++ b/constraints.txt @@ -1,182 +1,178 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # "tox run -e requirements-base" # aenum==3.1.15 # via dace -alabaster==0.7.13 # via sphinx +alabaster==1.0.0 # via sphinx annotated-types==0.7.0 # via pydantic asttokens==2.4.1 # via devtools, stack-data -astunparse==1.6.3 ; python_version < "3.9" # via dace, gt4py (pyproject.toml) -attrs==24.2.0 # via gt4py (pyproject.toml), hypothesis, jsonschema, referencing +astunparse==1.6.3 # via dace +attrs==24.3.0 # via gt4py (pyproject.toml), hypothesis, jsonschema, referencing babel==2.16.0 # via sphinx -backcall==0.2.0 # via ipython -black==24.8.0 # via gt4py (pyproject.toml) +black==24.10.0 # via gt4py (pyproject.toml) boltons==24.1.0 # via gt4py (pyproject.toml) bracex==2.5.post1 # via wcmatch build==1.2.2.post1 # via pip-tools -bump-my-version==0.28.1 # via -r requirements-dev.in +bump-my-version==0.29.0 # via -r requirements-dev.in cached-property==2.0.1 # via gt4py (pyproject.toml) cachetools==5.5.0 # via tox -certifi==2024.8.30 # via requests +certifi==2024.12.14 # via requests cfgv==3.4.0 # via pre-commit chardet==5.2.0 # via tox -charset-normalizer==3.4.0 # via requests -clang-format==19.1.4 # via -r requirements-dev.in, gt4py (pyproject.toml) -click==8.1.7 # via black, bump-my-version, gt4py (pyproject.toml), pip-tools, rich-click -cmake==3.31.1 # via gt4py (pyproject.toml) +charset-normalizer==3.4.1 # via requests +clang-format==19.1.6 # via -r requirements-dev.in, gt4py (pyproject.toml) +click==8.1.8 # via black, bump-my-version, gt4py (pyproject.toml), pip-tools, rich-click +cmake==3.31.2 # via gt4py (pyproject.toml) cogapp==3.4.1 # via -r requirements-dev.in colorama==0.4.6 # via tox comm==0.2.2 # via ipykernel -contourpy==1.1.1 # via matplotlib -coverage==7.6.1 # via -r requirements-dev.in, pytest-cov +contourpy==1.3.1 # via matplotlib +coverage==7.6.10 # via -r requirements-dev.in, pytest-cov cycler==0.12.1 # via matplotlib -cytoolz==1.0.0 # via gt4py (pyproject.toml) +cytoolz==1.0.1 # via gt4py (pyproject.toml) dace==1.0.0 # via gt4py (pyproject.toml) darglint==1.8.1 # via -r requirements-dev.in -debugpy==1.8.9 # via ipykernel +debugpy==1.8.11 # via ipykernel decorator==5.1.1 # via ipython -deepdiff==8.0.1 # via gt4py (pyproject.toml) +deepdiff==8.1.1 # via gt4py (pyproject.toml) devtools==0.12.2 # via gt4py (pyproject.toml) dill==0.3.9 # via dace diskcache==5.6.3 # via gt4py (pyproject.toml) distlib==0.3.9 # via virtualenv -docutils==0.20.1 # via sphinx, sphinx-rtd-theme -exceptiongroup==1.2.2 # via hypothesis, pytest +docutils==0.21.2 # via sphinx, sphinx-rtd-theme +exceptiongroup==1.2.2 # via hypothesis, ipython, pytest execnet==2.1.1 # via pytest-cache, pytest-xdist executing==2.1.0 # via devtools, stack-data factory-boy==3.3.1 # via gt4py (pyproject.toml), pytest-factoryboy -faker==33.1.0 # via factory-boy +faker==33.3.0 # via factory-boy fastjsonschema==2.21.1 # via nbformat filelock==3.16.1 # via gt4py (pyproject.toml), tox, virtualenv -fonttools==4.55.2 # via matplotlib +fonttools==4.55.3 # via matplotlib fparser==0.2.0 # via dace frozendict==2.4.6 # via gt4py (pyproject.toml) -gitdb==4.0.11 # via gitpython -gitpython==3.1.43 # via tach +gitdb==4.0.12 # via gitpython +gitpython==3.1.44 # via tach gridtools-cpp==2.3.8 # via gt4py (pyproject.toml) -hypothesis==6.113.0 # via -r requirements-dev.in, gt4py (pyproject.toml) -identify==2.6.1 # via pre-commit +hypothesis==6.123.11 # via -r requirements-dev.in, gt4py (pyproject.toml) +identify==2.6.5 # via pre-commit idna==3.10 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==8.5.0 # via build, jupyter-client, sphinx -importlib-resources==6.4.5 ; python_version < "3.9" # via gt4py (pyproject.toml), jsonschema, jsonschema-specifications, matplotlib inflection==0.5.1 # via pytest-factoryboy iniconfig==2.0.0 # via pytest ipykernel==6.29.5 # via nbmake -ipython==8.12.3 # via ipykernel +ipython==8.31.0 # via ipykernel +jax==0.4.38 # via gt4py (pyproject.toml) +jaxlib==0.4.38 # via jax jedi==0.19.2 # via ipython -jinja2==3.1.4 # via gt4py (pyproject.toml), sphinx +jinja2==3.1.5 # via gt4py (pyproject.toml), sphinx jsonschema==4.23.0 # via nbformat -jsonschema-specifications==2023.12.1 # via jsonschema +jsonschema-specifications==2024.10.1 # via jsonschema jupyter-client==8.6.3 # via ipykernel, nbclient -jupyter-core==5.7.2 # via ipykernel, jupyter-client, nbformat -jupytext==1.16.4 # via -r requirements-dev.in -kiwisolver==1.4.7 # via matplotlib +jupyter-core==5.7.2 # via ipykernel, jupyter-client, nbclient, nbformat +jupytext==1.16.6 # via -r requirements-dev.in +kiwisolver==1.4.8 # via matplotlib lark==1.2.2 # via gt4py (pyproject.toml) mako==1.3.8 # via gt4py (pyproject.toml) markdown-it-py==3.0.0 # via jupytext, mdit-py-plugins, rich -markupsafe==2.1.5 # via jinja2, mako -matplotlib==3.7.5 # via -r requirements-dev.in +markupsafe==3.0.2 # via jinja2, mako +matplotlib==3.10.0 # via -r requirements-dev.in matplotlib-inline==0.1.7 # via ipykernel, ipython mdit-py-plugins==0.4.2 # via jupytext mdurl==0.1.2 # via markdown-it-py +ml-dtypes==0.5.1 # via jax, jaxlib mpmath==1.3.0 # via sympy -mypy==1.13.0 # via -r requirements-dev.in +mypy==1.14.1 # via -r requirements-dev.in mypy-extensions==1.0.0 # via black, mypy nanobind==2.4.0 # via gt4py (pyproject.toml) -nbclient==0.6.8 # via nbmake +nbclient==0.10.2 # via nbmake nbformat==5.10.4 # via jupytext, nbclient, nbmake -nbmake==1.5.4 # via -r requirements-dev.in -nest-asyncio==1.6.0 # via ipykernel, nbclient -networkx==3.1 # via dace, tach -ninja==1.11.1.2 # via gt4py (pyproject.toml) +nbmake==1.5.5 # via -r requirements-dev.in +nest-asyncio==1.6.0 # via ipykernel +networkx==3.4.2 # via dace, tach +ninja==1.11.1.3 # via gt4py (pyproject.toml) nodeenv==1.9.1 # via pre-commit -numpy==1.24.4 # via contourpy, dace, gt4py (pyproject.toml), matplotlib, scipy -orderly-set==5.2.2 # via deepdiff +numpy==1.26.4 # via contourpy, dace, gt4py (pyproject.toml), jax, jaxlib, matplotlib, ml-dtypes, scipy +opt-einsum==3.4.0 # via jax +orderly-set==5.2.3 # via deepdiff packaging==24.2 # via black, build, dace, gt4py (pyproject.toml), ipykernel, jupytext, matplotlib, pipdeptree, pyproject-api, pytest, pytest-factoryboy, setuptools-scm, sphinx, tox parso==0.8.4 # via jedi pathspec==0.12.1 # via black pexpect==4.9.0 # via ipython -pickleshare==0.7.5 # via ipython -pillow==10.4.0 # via matplotlib +pillow==11.1.0 # via matplotlib pip-tools==7.4.1 # via -r requirements-dev.in pipdeptree==2.24.0 # via -r requirements-dev.in -pkgutil-resolve-name==1.3.10 # via jsonschema platformdirs==4.3.6 # via black, jupyter-core, tox, virtualenv pluggy==1.5.0 # via pytest, tox ply==3.11 # via dace -pre-commit==3.5.0 # via -r requirements-dev.in -prompt-toolkit==3.0.36 # via ipython, questionary, tach -psutil==6.1.0 # via -r requirements-dev.in, ipykernel, pytest-xdist +pre-commit==4.0.1 # via -r requirements-dev.in +prompt-toolkit==3.0.48 # via ipython, questionary, tach +psutil==6.1.1 # via -r requirements-dev.in, ipykernel, pytest-xdist ptyprocess==0.7.0 # via pexpect pure-eval==0.2.3 # via stack-data pybind11==2.13.6 # via gt4py (pyproject.toml) -pydantic==2.10.3 # via bump-my-version, pydantic-settings -pydantic-core==2.27.1 # via pydantic -pydantic-settings==2.6.1 # via bump-my-version -pydot==3.0.3 # via tach -pygments==2.18.0 # via -r requirements-dev.in, devtools, ipython, nbmake, rich, sphinx -pyparsing==3.1.4 # via matplotlib, pydot +pydantic==2.10.4 # via bump-my-version, pydantic-settings +pydantic-core==2.27.2 # via pydantic +pydantic-settings==2.7.1 # via bump-my-version +pydot==3.0.4 # via tach +pygments==2.19.1 # via -r requirements-dev.in, devtools, ipython, nbmake, rich, sphinx +pyparsing==3.2.1 # via matplotlib, pydot pyproject-api==1.8.0 # via tox pyproject-hooks==1.2.0 # via build, pip-tools pytest==8.3.4 # via -r requirements-dev.in, gt4py (pyproject.toml), nbmake, pytest-cache, pytest-cov, pytest-custom-exit-code, pytest-factoryboy, pytest-instafail, pytest-xdist pytest-cache==1.0 # via -r requirements-dev.in -pytest-cov==5.0.0 # via -r requirements-dev.in +pytest-cov==6.0.0 # via -r requirements-dev.in pytest-custom-exit-code==0.3.0 # via -r requirements-dev.in pytest-factoryboy==2.7.0 # via -r requirements-dev.in pytest-instafail==0.5.0 # via -r requirements-dev.in pytest-xdist==3.6.1 # via -r requirements-dev.in python-dateutil==2.9.0.post0 # via faker, jupyter-client, matplotlib python-dotenv==1.0.1 # via pydantic-settings -pytz==2024.2 # via babel pyyaml==6.0.2 # via dace, jupytext, pre-commit, tach pyzmq==26.2.0 # via ipykernel, jupyter-client -questionary==2.0.1 # via bump-my-version +questionary==2.1.0 # via bump-my-version referencing==0.35.1 # via jsonschema, jsonschema-specifications requests==2.32.3 # via sphinx rich==13.9.4 # via bump-my-version, rich-click, tach rich-click==1.8.5 # via bump-my-version -rpds-py==0.20.1 # via jsonschema, referencing -ruff==0.8.2 # via -r requirements-dev.in -scipy==1.10.1 # via gt4py (pyproject.toml) +rpds-py==0.22.3 # via jsonschema, referencing +ruff==0.8.6 # via -r requirements-dev.in +scipy==1.15.0 # via gt4py (pyproject.toml), jax, jaxlib setuptools-scm==8.1.0 # via fparser six==1.17.0 # via asttokens, astunparse, python-dateutil -smmap==5.0.1 # via gitdb +smmap==5.0.2 # via gitdb snowballstemmer==2.2.0 # via sphinx sortedcontainers==2.4.0 # via hypothesis -sphinx==7.1.2 # via -r requirements-dev.in, sphinx-rtd-theme, sphinxcontrib-jquery +sphinx==8.1.3 # via -r requirements-dev.in, sphinx-rtd-theme, sphinxcontrib-jquery sphinx-rtd-theme==3.0.2 # via -r requirements-dev.in -sphinxcontrib-applehelp==1.0.4 # via sphinx -sphinxcontrib-devhelp==1.0.2 # via sphinx -sphinxcontrib-htmlhelp==2.0.1 # via sphinx +sphinxcontrib-applehelp==2.0.0 # via sphinx +sphinxcontrib-devhelp==2.0.0 # via sphinx +sphinxcontrib-htmlhelp==2.1.0 # via sphinx sphinxcontrib-jquery==4.1 # via sphinx-rtd-theme sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 # via sphinx -sphinxcontrib-serializinghtml==1.1.5 # via sphinx +sphinxcontrib-qthelp==2.0.0 # via sphinx +sphinxcontrib-serializinghtml==2.0.0 # via sphinx stack-data==0.6.3 # via ipython -stdlib-list==0.10.0 # via tach sympy==1.13.3 # via dace tabulate==0.9.0 # via gt4py (pyproject.toml) -tach==0.16.5 # via -r requirements-dev.in -tomli==2.2.1 ; python_version < "3.11" # via -r requirements-dev.in, black, build, coverage, jupytext, mypy, pip-tools, pyproject-api, pytest, setuptools-scm, tach, tox -tomli-w==1.0.0 # via tach +tach==0.19.5 # via -r requirements-dev.in +tomli==2.2.1 ; python_version < "3.11" # via -r requirements-dev.in, black, build, coverage, jupytext, mypy, pip-tools, pyproject-api, pytest, setuptools-scm, sphinx, tach, tox +tomli-w==1.1.0 # via tach tomlkit==0.13.2 # via bump-my-version toolz==1.0.0 # via cytoolz tornado==6.4.2 # via ipykernel, jupyter-client tox==4.23.2 # via -r requirements-dev.in traitlets==5.14.3 # via comm, ipykernel, ipython, jupyter-client, jupyter-core, matplotlib-inline, nbclient, nbformat types-tabulate==0.9.0.20241207 # via -r requirements-dev.in -typing-extensions==4.12.2 # via annotated-types, black, faker, gt4py (pyproject.toml), ipython, mypy, pydantic, pydantic-core, pytest-factoryboy, rich, rich-click, setuptools-scm, tox -urllib3==2.2.3 # via requests -virtualenv==20.28.0 # via pre-commit, tox +typing-extensions==4.12.2 # via black, faker, gt4py (pyproject.toml), ipython, mypy, pydantic, pydantic-core, pytest-factoryboy, rich, rich-click, tox +urllib3==2.3.0 # via requests +virtualenv==20.28.1 # via pre-commit, tox wcmatch==10.0 # via bump-my-version wcwidth==0.2.13 # via prompt-toolkit wheel==0.45.1 # via astunparse, pip-tools xxhash==3.0.0 # via gt4py (pyproject.toml) -zipp==3.20.2 # via importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: pip==24.3.1 # via pip-tools, pipdeptree -setuptools==75.3.0 # via gt4py (pyproject.toml), pip-tools, setuptools-scm +setuptools==75.8.0 # via gt4py (pyproject.toml), pip-tools, setuptools-scm diff --git a/min-extra-requirements-test.txt b/min-extra-requirements-test.txt index 6d75415181..a4924cc09c 100644 --- a/min-extra-requirements-test.txt +++ b/min-extra-requirements-test.txt @@ -49,7 +49,6 @@ ## result.append(str(make_min_req(r))) ## print("\n".join(sorted(result))) ##]]] -astunparse==1.6.3; python_version < "3.9" attrs==21.3 black==22.3 boltons==20.1 @@ -71,8 +70,7 @@ filelock==3.16.1 frozendict==2.3 gridtools-cpp==2.3.8 hypothesis==6.0.0 -importlib-resources==5.0; python_version < "3.9" -jax[cpu]==0.4.18; python_version >= "3.10" +jax[cpu]==0.4.18 jinja2==3.0.0 jupytext==1.14 lark==1.1.2 diff --git a/min-requirements-test.txt b/min-requirements-test.txt index 991b7a6941..4b24385410 100644 --- a/min-requirements-test.txt +++ b/min-requirements-test.txt @@ -46,7 +46,6 @@ ## result.append(str(make_min_req(r))) ## print("\n".join(sorted(result))) ##]]] -astunparse==1.6.3; python_version < "3.9" attrs==21.3 black==22.3 boltons==20.1 @@ -67,7 +66,6 @@ filelock==3.16.1 frozendict==2.3 gridtools-cpp==2.3.8 hypothesis==6.0.0 -importlib-resources==5.0; python_version < "3.9" jinja2==3.0.0 jupytext==1.14 lark==1.1.2 diff --git a/pyproject.toml b/pyproject.toml index d086363ec4..78735116ed 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,8 +14,6 @@ classifiers = [ 'License :: OSI Approved :: BSD License', 'Operating System :: POSIX', 'Programming Language :: Python', - 'Programming Language :: Python :: 3.8', - 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: Implementation :: CPython', @@ -24,7 +22,6 @@ classifiers = [ 'Topic :: Scientific/Engineering :: Physics' ] dependencies = [ - "astunparse>=1.6.3;python_version<'3.9'", 'attrs>=21.3', 'black>=22.3', 'boltons>=20.1', @@ -39,7 +36,6 @@ dependencies = [ 'filelock>=3.16.1', 'frozendict>=2.3', 'gridtools-cpp>=2.3.8,==2.*', - "importlib-resources>=5.0;python_version<'3.9'", 'jinja2>=3.0.0', 'lark>=1.1.2', 'mako>=1.1', @@ -67,7 +63,7 @@ keywords = [ license = {file = 'LICENSE.txt'} name = 'gt4py' readme = 'README.md' -requires-python = '>=3.8' +requires-python = '>=3.10' [project.optional-dependencies] # Bundles @@ -80,9 +76,9 @@ cuda12 = ['cupy-cuda12x>=12.0'] dace = ['dace>=1.0.0,<1.1.0'] # v1.x will contain breaking changes, see https://github.com/spcl/dace/milestone/4 formatting = ['clang-format>=9.0'] gpu = ['cupy>=12.0'] -jax-cpu = ['jax[cpu]>=0.4.18; python_version>="3.10"'] -jax-cuda11 = ['jax[cuda11_pip]>=0.4.18; python_version>="3.10"'] -jax-cuda12 = ['jax[cuda12_pip]>=0.4.18; python_version>="3.10"'] +jax-cpu = ['jax[cpu]>=0.4.18'] +jax-cuda11 = ['jax[cuda11_pip]>=0.4.18'] +jax-cuda12 = ['jax[cuda12_pip]>=0.4.18'] performance = ['scipy>=1.9.2'] rocm-43 = ['cupy-rocm-4-3'] testing = ['hypothesis>=6.0.0', 'pytest>=7.0'] @@ -275,7 +271,7 @@ line-length = 100 # It should be the same as in `tool.black.line-length` above respect-gitignore = true show-fixes = true # show-source = true -target-version = 'py38' +target-version = 'py310' [tool.ruff.format] docstring-code-format = true @@ -292,7 +288,8 @@ docstring-code-format = true # NPY: NumPy-specific rules # RUF: Ruff-specific rules ignore = [ - 'E501' # [line-too-long] + 'E501', # [line-too-long] + 'B905' # [zip-without-explicit-strict] # TODO(egparedes): Reevaluate this rule ] select = ['E', 'F', 'I', 'B', 'A', 'T10', 'ERA', 'NPY', 'RUF'] typing-modules = ['gt4py.eve.extended_typing'] diff --git a/requirements-dev.txt b/requirements-dev.txt index 40554cef13..463b1bc6ac 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,181 +1,178 @@ # -# This file is autogenerated by pip-compile with Python 3.8 +# This file is autogenerated by pip-compile with Python 3.10 # by the following command: # # "tox run -e requirements-base" # aenum==3.1.15 # via -c constraints.txt, dace -alabaster==0.7.13 # via -c constraints.txt, sphinx +alabaster==1.0.0 # via -c constraints.txt, sphinx annotated-types==0.7.0 # via -c constraints.txt, pydantic asttokens==2.4.1 # via -c constraints.txt, devtools, stack-data -astunparse==1.6.3 ; python_version < "3.9" # via -c constraints.txt, dace, gt4py (pyproject.toml) -attrs==24.2.0 # via -c constraints.txt, gt4py (pyproject.toml), hypothesis, jsonschema, referencing +astunparse==1.6.3 # via -c constraints.txt, dace +attrs==24.3.0 # via -c constraints.txt, gt4py (pyproject.toml), hypothesis, jsonschema, referencing babel==2.16.0 # via -c constraints.txt, sphinx -backcall==0.2.0 # via -c constraints.txt, ipython -black==24.8.0 # via -c constraints.txt, gt4py (pyproject.toml) +black==24.10.0 # via -c constraints.txt, gt4py (pyproject.toml) boltons==24.1.0 # via -c constraints.txt, gt4py (pyproject.toml) bracex==2.5.post1 # via -c constraints.txt, wcmatch build==1.2.2.post1 # via -c constraints.txt, pip-tools -bump-my-version==0.28.1 # via -c constraints.txt, -r requirements-dev.in +bump-my-version==0.29.0 # via -c constraints.txt, -r requirements-dev.in cached-property==2.0.1 # via -c constraints.txt, gt4py (pyproject.toml) cachetools==5.5.0 # via -c constraints.txt, tox -certifi==2024.8.30 # via -c constraints.txt, requests +certifi==2024.12.14 # via -c constraints.txt, requests cfgv==3.4.0 # via -c constraints.txt, pre-commit chardet==5.2.0 # via -c constraints.txt, tox -charset-normalizer==3.4.0 # via -c constraints.txt, requests -clang-format==19.1.4 # via -c constraints.txt, -r requirements-dev.in, gt4py (pyproject.toml) -click==8.1.7 # via -c constraints.txt, black, bump-my-version, gt4py (pyproject.toml), pip-tools, rich-click -cmake==3.31.1 # via -c constraints.txt, gt4py (pyproject.toml) +charset-normalizer==3.4.1 # via -c constraints.txt, requests +clang-format==19.1.6 # via -c constraints.txt, -r requirements-dev.in, gt4py (pyproject.toml) +click==8.1.8 # via -c constraints.txt, black, bump-my-version, gt4py (pyproject.toml), pip-tools, rich-click +cmake==3.31.2 # via -c constraints.txt, gt4py (pyproject.toml) cogapp==3.4.1 # via -c constraints.txt, -r requirements-dev.in colorama==0.4.6 # via -c constraints.txt, tox comm==0.2.2 # via -c constraints.txt, ipykernel -contourpy==1.1.1 # via -c constraints.txt, matplotlib -coverage[toml]==7.6.1 # via -c constraints.txt, -r requirements-dev.in, pytest-cov +contourpy==1.3.1 # via -c constraints.txt, matplotlib +coverage[toml]==7.6.10 # via -c constraints.txt, -r requirements-dev.in, pytest-cov cycler==0.12.1 # via -c constraints.txt, matplotlib -cytoolz==1.0.0 # via -c constraints.txt, gt4py (pyproject.toml) +cytoolz==1.0.1 # via -c constraints.txt, gt4py (pyproject.toml) dace==1.0.0 # via -c constraints.txt, gt4py (pyproject.toml) darglint==1.8.1 # via -c constraints.txt, -r requirements-dev.in -debugpy==1.8.9 # via -c constraints.txt, ipykernel +debugpy==1.8.11 # via -c constraints.txt, ipykernel decorator==5.1.1 # via -c constraints.txt, ipython -deepdiff==8.0.1 # via -c constraints.txt, gt4py (pyproject.toml) +deepdiff==8.1.1 # via -c constraints.txt, gt4py (pyproject.toml) devtools==0.12.2 # via -c constraints.txt, gt4py (pyproject.toml) dill==0.3.9 # via -c constraints.txt, dace diskcache==5.6.3 # via -c constraints.txt, gt4py (pyproject.toml) distlib==0.3.9 # via -c constraints.txt, virtualenv -docutils==0.20.1 # via -c constraints.txt, sphinx, sphinx-rtd-theme -exceptiongroup==1.2.2 # via -c constraints.txt, hypothesis, pytest +docutils==0.21.2 # via -c constraints.txt, sphinx, sphinx-rtd-theme +exceptiongroup==1.2.2 # via -c constraints.txt, hypothesis, ipython, pytest execnet==2.1.1 # via -c constraints.txt, pytest-cache, pytest-xdist executing==2.1.0 # via -c constraints.txt, devtools, stack-data factory-boy==3.3.1 # via -c constraints.txt, gt4py (pyproject.toml), pytest-factoryboy -faker==33.1.0 # via -c constraints.txt, factory-boy +faker==33.3.0 # via -c constraints.txt, factory-boy fastjsonschema==2.21.1 # via -c constraints.txt, nbformat filelock==3.16.1 # via -c constraints.txt, gt4py (pyproject.toml), tox, virtualenv -fonttools==4.55.2 # via -c constraints.txt, matplotlib +fonttools==4.55.3 # via -c constraints.txt, matplotlib fparser==0.2.0 # via -c constraints.txt, dace frozendict==2.4.6 # via -c constraints.txt, gt4py (pyproject.toml) -gitdb==4.0.11 # via -c constraints.txt, gitpython -gitpython==3.1.43 # via -c constraints.txt, tach +gitdb==4.0.12 # via -c constraints.txt, gitpython +gitpython==3.1.44 # via -c constraints.txt, tach gridtools-cpp==2.3.8 # via -c constraints.txt, gt4py (pyproject.toml) -hypothesis==6.113.0 # via -c constraints.txt, -r requirements-dev.in, gt4py (pyproject.toml) -identify==2.6.1 # via -c constraints.txt, pre-commit +hypothesis==6.123.11 # via -c constraints.txt, -r requirements-dev.in, gt4py (pyproject.toml) +identify==2.6.5 # via -c constraints.txt, pre-commit idna==3.10 # via -c constraints.txt, requests imagesize==1.4.1 # via -c constraints.txt, sphinx -importlib-metadata==8.5.0 # via -c constraints.txt, build, jupyter-client, sphinx -importlib-resources==6.4.5 ; python_version < "3.9" # via -c constraints.txt, gt4py (pyproject.toml), jsonschema, jsonschema-specifications, matplotlib inflection==0.5.1 # via -c constraints.txt, pytest-factoryboy iniconfig==2.0.0 # via -c constraints.txt, pytest ipykernel==6.29.5 # via -c constraints.txt, nbmake -ipython==8.12.3 # via -c constraints.txt, ipykernel +ipython==8.31.0 # via -c constraints.txt, ipykernel +jax[cpu]==0.4.38 # via -c constraints.txt, gt4py (pyproject.toml) +jaxlib==0.4.38 # via -c constraints.txt, jax jedi==0.19.2 # via -c constraints.txt, ipython -jinja2==3.1.4 # via -c constraints.txt, gt4py (pyproject.toml), sphinx +jinja2==3.1.5 # via -c constraints.txt, gt4py (pyproject.toml), sphinx jsonschema==4.23.0 # via -c constraints.txt, nbformat -jsonschema-specifications==2023.12.1 # via -c constraints.txt, jsonschema +jsonschema-specifications==2024.10.1 # via -c constraints.txt, jsonschema jupyter-client==8.6.3 # via -c constraints.txt, ipykernel, nbclient -jupyter-core==5.7.2 # via -c constraints.txt, ipykernel, jupyter-client, nbformat -jupytext==1.16.4 # via -c constraints.txt, -r requirements-dev.in -kiwisolver==1.4.7 # via -c constraints.txt, matplotlib +jupyter-core==5.7.2 # via -c constraints.txt, ipykernel, jupyter-client, nbclient, nbformat +jupytext==1.16.6 # via -c constraints.txt, -r requirements-dev.in +kiwisolver==1.4.8 # via -c constraints.txt, matplotlib lark==1.2.2 # via -c constraints.txt, gt4py (pyproject.toml) mako==1.3.8 # via -c constraints.txt, gt4py (pyproject.toml) markdown-it-py==3.0.0 # via -c constraints.txt, jupytext, mdit-py-plugins, rich -markupsafe==2.1.5 # via -c constraints.txt, jinja2, mako -matplotlib==3.7.5 # via -c constraints.txt, -r requirements-dev.in +markupsafe==3.0.2 # via -c constraints.txt, jinja2, mako +matplotlib==3.10.0 # via -c constraints.txt, -r requirements-dev.in matplotlib-inline==0.1.7 # via -c constraints.txt, ipykernel, ipython mdit-py-plugins==0.4.2 # via -c constraints.txt, jupytext mdurl==0.1.2 # via -c constraints.txt, markdown-it-py +ml-dtypes==0.5.1 # via -c constraints.txt, jax, jaxlib mpmath==1.3.0 # via -c constraints.txt, sympy -mypy==1.13.0 # via -c constraints.txt, -r requirements-dev.in +mypy==1.14.1 # via -c constraints.txt, -r requirements-dev.in mypy-extensions==1.0.0 # via -c constraints.txt, black, mypy nanobind==2.4.0 # via -c constraints.txt, gt4py (pyproject.toml) -nbclient==0.6.8 # via -c constraints.txt, nbmake +nbclient==0.10.2 # via -c constraints.txt, nbmake nbformat==5.10.4 # via -c constraints.txt, jupytext, nbclient, nbmake -nbmake==1.5.4 # via -c constraints.txt, -r requirements-dev.in -nest-asyncio==1.6.0 # via -c constraints.txt, ipykernel, nbclient -networkx==3.1 # via -c constraints.txt, dace, tach -ninja==1.11.1.2 # via -c constraints.txt, gt4py (pyproject.toml) +nbmake==1.5.5 # via -c constraints.txt, -r requirements-dev.in +nest-asyncio==1.6.0 # via -c constraints.txt, ipykernel +networkx==3.4.2 # via -c constraints.txt, dace, tach +ninja==1.11.1.3 # via -c constraints.txt, gt4py (pyproject.toml) nodeenv==1.9.1 # via -c constraints.txt, pre-commit -numpy==1.24.4 # via -c constraints.txt, contourpy, dace, gt4py (pyproject.toml), matplotlib -orderly-set==5.2.2 # via -c constraints.txt, deepdiff +numpy==1.26.4 # via -c constraints.txt, contourpy, dace, gt4py (pyproject.toml), jax, jaxlib, matplotlib, ml-dtypes, scipy +opt-einsum==3.4.0 # via -c constraints.txt, jax +orderly-set==5.2.3 # via -c constraints.txt, deepdiff packaging==24.2 # via -c constraints.txt, black, build, dace, gt4py (pyproject.toml), ipykernel, jupytext, matplotlib, pipdeptree, pyproject-api, pytest, pytest-factoryboy, setuptools-scm, sphinx, tox parso==0.8.4 # via -c constraints.txt, jedi pathspec==0.12.1 # via -c constraints.txt, black pexpect==4.9.0 # via -c constraints.txt, ipython -pickleshare==0.7.5 # via -c constraints.txt, ipython -pillow==10.4.0 # via -c constraints.txt, matplotlib +pillow==11.1.0 # via -c constraints.txt, matplotlib pip-tools==7.4.1 # via -c constraints.txt, -r requirements-dev.in pipdeptree==2.24.0 # via -c constraints.txt, -r requirements-dev.in -pkgutil-resolve-name==1.3.10 # via -c constraints.txt, jsonschema platformdirs==4.3.6 # via -c constraints.txt, black, jupyter-core, tox, virtualenv pluggy==1.5.0 # via -c constraints.txt, pytest, tox ply==3.11 # via -c constraints.txt, dace -pre-commit==3.5.0 # via -c constraints.txt, -r requirements-dev.in -prompt-toolkit==3.0.36 # via -c constraints.txt, ipython, questionary, tach -psutil==6.1.0 # via -c constraints.txt, -r requirements-dev.in, ipykernel, pytest-xdist +pre-commit==4.0.1 # via -c constraints.txt, -r requirements-dev.in +prompt-toolkit==3.0.48 # via -c constraints.txt, ipython, questionary, tach +psutil==6.1.1 # via -c constraints.txt, -r requirements-dev.in, ipykernel, pytest-xdist ptyprocess==0.7.0 # via -c constraints.txt, pexpect pure-eval==0.2.3 # via -c constraints.txt, stack-data pybind11==2.13.6 # via -c constraints.txt, gt4py (pyproject.toml) -pydantic==2.10.3 # via -c constraints.txt, bump-my-version, pydantic-settings -pydantic-core==2.27.1 # via -c constraints.txt, pydantic -pydantic-settings==2.6.1 # via -c constraints.txt, bump-my-version -pydot==3.0.3 # via -c constraints.txt, tach -pygments==2.18.0 # via -c constraints.txt, -r requirements-dev.in, devtools, ipython, nbmake, rich, sphinx -pyparsing==3.1.4 # via -c constraints.txt, matplotlib, pydot +pydantic==2.10.4 # via -c constraints.txt, bump-my-version, pydantic-settings +pydantic-core==2.27.2 # via -c constraints.txt, pydantic +pydantic-settings==2.7.1 # via -c constraints.txt, bump-my-version +pydot==3.0.4 # via -c constraints.txt, tach +pygments==2.19.1 # via -c constraints.txt, -r requirements-dev.in, devtools, ipython, nbmake, rich, sphinx +pyparsing==3.2.1 # via -c constraints.txt, matplotlib, pydot pyproject-api==1.8.0 # via -c constraints.txt, tox pyproject-hooks==1.2.0 # via -c constraints.txt, build, pip-tools pytest==8.3.4 # via -c constraints.txt, -r requirements-dev.in, gt4py (pyproject.toml), nbmake, pytest-cache, pytest-cov, pytest-custom-exit-code, pytest-factoryboy, pytest-instafail, pytest-xdist pytest-cache==1.0 # via -c constraints.txt, -r requirements-dev.in -pytest-cov==5.0.0 # via -c constraints.txt, -r requirements-dev.in +pytest-cov==6.0.0 # via -c constraints.txt, -r requirements-dev.in pytest-custom-exit-code==0.3.0 # via -c constraints.txt, -r requirements-dev.in pytest-factoryboy==2.7.0 # via -c constraints.txt, -r requirements-dev.in pytest-instafail==0.5.0 # via -c constraints.txt, -r requirements-dev.in pytest-xdist[psutil]==3.6.1 # via -c constraints.txt, -r requirements-dev.in python-dateutil==2.9.0.post0 # via -c constraints.txt, faker, jupyter-client, matplotlib python-dotenv==1.0.1 # via -c constraints.txt, pydantic-settings -pytz==2024.2 # via -c constraints.txt, babel pyyaml==6.0.2 # via -c constraints.txt, dace, jupytext, pre-commit, tach pyzmq==26.2.0 # via -c constraints.txt, ipykernel, jupyter-client -questionary==2.0.1 # via -c constraints.txt, bump-my-version +questionary==2.1.0 # via -c constraints.txt, bump-my-version referencing==0.35.1 # via -c constraints.txt, jsonschema, jsonschema-specifications requests==2.32.3 # via -c constraints.txt, sphinx rich==13.9.4 # via -c constraints.txt, bump-my-version, rich-click, tach rich-click==1.8.5 # via -c constraints.txt, bump-my-version -rpds-py==0.20.1 # via -c constraints.txt, jsonschema, referencing -ruff==0.8.2 # via -c constraints.txt, -r requirements-dev.in +rpds-py==0.22.3 # via -c constraints.txt, jsonschema, referencing +ruff==0.8.6 # via -c constraints.txt, -r requirements-dev.in +scipy==1.15.0 # via -c constraints.txt, jax, jaxlib setuptools-scm==8.1.0 # via -c constraints.txt, fparser six==1.17.0 # via -c constraints.txt, asttokens, astunparse, python-dateutil -smmap==5.0.1 # via -c constraints.txt, gitdb +smmap==5.0.2 # via -c constraints.txt, gitdb snowballstemmer==2.2.0 # via -c constraints.txt, sphinx sortedcontainers==2.4.0 # via -c constraints.txt, hypothesis -sphinx==7.1.2 # via -c constraints.txt, -r requirements-dev.in, sphinx-rtd-theme, sphinxcontrib-jquery +sphinx==8.1.3 # via -c constraints.txt, -r requirements-dev.in, sphinx-rtd-theme, sphinxcontrib-jquery sphinx-rtd-theme==3.0.2 # via -c constraints.txt, -r requirements-dev.in -sphinxcontrib-applehelp==1.0.4 # via -c constraints.txt, sphinx -sphinxcontrib-devhelp==1.0.2 # via -c constraints.txt, sphinx -sphinxcontrib-htmlhelp==2.0.1 # via -c constraints.txt, sphinx +sphinxcontrib-applehelp==2.0.0 # via -c constraints.txt, sphinx +sphinxcontrib-devhelp==2.0.0 # via -c constraints.txt, sphinx +sphinxcontrib-htmlhelp==2.1.0 # via -c constraints.txt, sphinx sphinxcontrib-jquery==4.1 # via -c constraints.txt, sphinx-rtd-theme sphinxcontrib-jsmath==1.0.1 # via -c constraints.txt, sphinx -sphinxcontrib-qthelp==1.0.3 # via -c constraints.txt, sphinx -sphinxcontrib-serializinghtml==1.1.5 # via -c constraints.txt, sphinx +sphinxcontrib-qthelp==2.0.0 # via -c constraints.txt, sphinx +sphinxcontrib-serializinghtml==2.0.0 # via -c constraints.txt, sphinx stack-data==0.6.3 # via -c constraints.txt, ipython -stdlib-list==0.10.0 # via -c constraints.txt, tach sympy==1.13.3 # via -c constraints.txt, dace tabulate==0.9.0 # via -c constraints.txt, gt4py (pyproject.toml) -tach==0.16.5 # via -c constraints.txt, -r requirements-dev.in -tomli==2.2.1 ; python_version < "3.11" # via -c constraints.txt, -r requirements-dev.in, black, build, coverage, jupytext, mypy, pip-tools, pyproject-api, pytest, setuptools-scm, tach, tox -tomli-w==1.0.0 # via -c constraints.txt, tach +tach==0.19.5 # via -c constraints.txt, -r requirements-dev.in +tomli==2.2.1 ; python_version < "3.11" # via -c constraints.txt, -r requirements-dev.in, black, build, coverage, jupytext, mypy, pip-tools, pyproject-api, pytest, setuptools-scm, sphinx, tach, tox +tomli-w==1.1.0 # via -c constraints.txt, tach tomlkit==0.13.2 # via -c constraints.txt, bump-my-version toolz==1.0.0 # via -c constraints.txt, cytoolz tornado==6.4.2 # via -c constraints.txt, ipykernel, jupyter-client tox==4.23.2 # via -c constraints.txt, -r requirements-dev.in traitlets==5.14.3 # via -c constraints.txt, comm, ipykernel, ipython, jupyter-client, jupyter-core, matplotlib-inline, nbclient, nbformat types-tabulate==0.9.0.20241207 # via -c constraints.txt, -r requirements-dev.in -typing-extensions==4.12.2 # via -c constraints.txt, annotated-types, black, faker, gt4py (pyproject.toml), ipython, mypy, pydantic, pydantic-core, pytest-factoryboy, rich, rich-click, setuptools-scm, tox -urllib3==2.2.3 # via -c constraints.txt, requests -virtualenv==20.28.0 # via -c constraints.txt, pre-commit, tox +typing-extensions==4.12.2 # via -c constraints.txt, black, faker, gt4py (pyproject.toml), ipython, mypy, pydantic, pydantic-core, pytest-factoryboy, rich, rich-click, tox +urllib3==2.3.0 # via -c constraints.txt, requests +virtualenv==20.28.1 # via -c constraints.txt, pre-commit, tox wcmatch==10.0 # via -c constraints.txt, bump-my-version wcwidth==0.2.13 # via -c constraints.txt, prompt-toolkit wheel==0.45.1 # via -c constraints.txt, astunparse, pip-tools xxhash==3.0.0 # via -c constraints.txt, gt4py (pyproject.toml) -zipp==3.20.2 # via -c constraints.txt, importlib-metadata, importlib-resources # The following packages are considered to be unsafe in a requirements file: pip==24.3.1 # via -c constraints.txt, pip-tools, pipdeptree -setuptools==75.3.0 # via -c constraints.txt, gt4py (pyproject.toml), pip-tools, setuptools-scm +setuptools==75.8.0 # via -c constraints.txt, gt4py (pyproject.toml), pip-tools, setuptools-scm diff --git a/src/gt4py/cartesian/gtc/common.py b/src/gt4py/cartesian/gtc/common.py index dcb01db7ca..8c3c731c75 100644 --- a/src/gt4py/cartesian/gtc/common.py +++ b/src/gt4py/cartesian/gtc/common.py @@ -229,8 +229,8 @@ class LevelMarker(eve.StrEnum): @enum.unique class ExprKind(eve.IntEnum): - SCALAR: ExprKind = typing.cast("ExprKind", enum.auto()) - FIELD: ExprKind = typing.cast("ExprKind", enum.auto()) + SCALAR = typing.cast("ExprKind", enum.auto()) + FIELD = typing.cast("ExprKind", enum.auto()) class LocNode(eve.Node): diff --git a/src/gt4py/eve/utils.py b/src/gt4py/eve/utils.py index 2c66d39290..96e41a7bd8 100644 --- a/src/gt4py/eve/utils.py +++ b/src/gt4py/eve/utils.py @@ -440,8 +440,8 @@ def content_hash(*args: Any, hash_algorithm: str | xtyping.HashlibAlgorithm | No return result -ddiff = deepdiff.DeepDiff -"""Shortcut for deepdiff.DeepDiff. +ddiff = deepdiff.diff.DeepDiff +"""Shortcut for deepdiff.diff.DeepDiff. Check https://zepworks.com/deepdiff/current/diff.html for more info. """ @@ -458,13 +458,13 @@ def dhash(obj: Any, **kwargs: Any) -> str: def pprint_ddiff( old: Any, new: Any, *, pprint_opts: Optional[Dict[str, Any]] = None, **kwargs: Any ) -> None: - """Pretty printing of deepdiff.DeepDiff objects. + """Pretty printing of deepdiff.diff.DeepDiff objects. Keyword Arguments: pprint_opts: kwargs dict with options for pprint.pprint. """ pprint_opts = pprint_opts or {"indent": 2} - pprint.pprint(deepdiff.DeepDiff(old, new, **kwargs), **pprint_opts) + pprint.pprint(deepdiff.diff.DeepDiff(old, new, **kwargs), **pprint_opts) AnyWordsIterable = Union[str, Iterable[str]] diff --git a/tox.ini b/tox.ini index 8da0e45810..e7bfd4a3e4 100644 --- a/tox.ini +++ b/tox.ini @@ -9,19 +9,14 @@ envlist = storage-py{310}-{internal,dace}-{cpu} # docs labels = - test-cartesian-cpu = cartesian-py38-internal-cpu, cartesian-internal-py39-cpu, \ - cartesian-internal-py310-cpu, cartesian-py311-internal-cpu, \ - cartesian-py38-dace-cpu, cartesian-py39-dace-cpu, cartesian-py310-dace-cpu, cartesian-py311-dace-cpu - test-eve-cpu = eve-py38, eve-py39, eve-py310, eve-py311 + test-cartesian-cpu = cartesian-internal-py310-cpu, cartesian-py311-internal-cpu, cartesian-py310-dace-cpu, cartesian-py311-dace-cpu + test-eve-cpu = eve-py310, eve-py311 test-next-cpu = next-py310-nomesh-cpu, next-py311-nomesh-cpu, next-py310-atlas-cpu, next-py311-atlas-cpu - test-storage-cpu = storage-py38-internal-cpu, storage-py39-internal-cpu, storage-py310-internal-cpu, storage-py311-internal-cpu, \ - storage-py38-dace-cpu, storage-py39-dace-cpu, storage-py310-dace-cpu, storage-py311-dace-cpu - test-cpu = cartesian-py38-internal-cpu, cartesian-py39-internal-cpu, cartesian-py310-internal-cpu, cartesian-py311-internal-cpu, \ - cartesian-py38-dace-cpu, cartesian-py39-dace-cpu, cartesian-py310-dace-cpu, cartesian-py311-dace-cpu, \ - eve-py38, eve-py39, eve-py310, eve-py311, \ + test-storage-cpu = storage-py310-internal-cpu, storage-py311-internal-cpu, storage-py310-dace-cpu, storage-py311-dace-cpu + test-cpu = cartesian-py310-internal-cpu, cartesian-py311-internal-cpu, cartesian-py310-dace-cpu, cartesian-py311-dace-cpu, \ + eve-py310, eve-py311, \ next-py310-nomesh-cpu, next-py311-nomesh-cpu, next-py310-atlas-cpu, next-py311-atlas-cpu, \ - storage-py38-internal-cpu, storage-py39-internal-cpu, storage-py310-internal-cpu, storage-py311-internal-cpu, \ - storage-py38-dace-cpu, storage-py39-dace-cpu, storage-py310-dace-cpu, storage-py311-dace-cpu + storage-py310-internal-cpu, storage-py311-internal-cpu, storage-py310-dace-cpu, storage-py311-dace-cpu [testenv] deps = -r {tox_root}{/}{env:ENV_REQUIREMENTS_FILE:requirements-dev.txt} @@ -42,7 +37,7 @@ set_env = PYTHONWARNINGS = {env:PYTHONWARNINGS:ignore:Support for `[tool.setuptools]` in `pyproject.toml` is still *beta*:UserWarning,ignore:Field View Program:UserWarning} # -- Primary tests -- -[testenv:cartesian-py{38,39,310,311}-{internal,dace}-{cpu,cuda,cuda11x,cuda12x}] +[testenv:cartesian-py{310,311}-{internal,dace}-{cpu,cuda,cuda11x,cuda12x}] description = Run 'gt4py.cartesian' tests pass_env = {[testenv]pass_env}, BOOST_ROOT, BOOST_HOME, CUDA_HOME, CUDA_PATH, CXX, CC, OPENMP_CPPFLAGS, OPENMP_LDFLAGS, PIP_USER, PYTHONUSERBASE allowlist_externals = @@ -65,7 +60,7 @@ commands = # coverage json --rcfile=setup.cfg # coverage html --rcfile=setup.cfg --show-contexts -[testenv:eve-py{38,39,310,311}] +[testenv:eve-py{310,311}] description = Run 'gt4py.eve' tests commands = python -m pytest --cache-clear -v -n {env:NUM_PROCESSES:1} {posargs} tests{/}eve_tests @@ -89,7 +84,7 @@ commands = " {posargs} tests{/}next_tests pytest --doctest-modules src{/}gt4py{/}next -[testenv:storage-py{38,39,310,311}-{internal,dace}-{cpu,cuda,cuda11x,cuda12x}] +[testenv:storage-py{310,311}-{internal,dace}-{cpu,cuda,cuda11x,cuda12x}] description = Run 'gt4py.storage' tests commands = python -m pytest --cache-clear -v -n {env:NUM_PROCESSES:1} -m "\ @@ -112,7 +107,7 @@ commands = python -m pytest --nbmake examples -v -n {env:NUM_PROCESSES:1} # -- Other artefacts -- -[testenv:dev-py{38,39,310,311}{-atlas,}] +[testenv:dev-py{310,311}{-atlas,}] description = Initialize development environment for gt4py deps = -r {tox_root}{/}requirements-dev.txt @@ -141,17 +136,13 @@ set_env = # git add _static # commands_post = -[testenv:requirements-{base,py38,py39,py310,py311}] +[testenv:requirements-{base,py310,py311}] description = base: Update pinned development requirements - py38: Update requirements for testing a specific python version - py39: Update requirements for testing a specific python version py310: Update requirements for testing a specific python version py311: Update requirements for testing a specific python version base_python = - base: py38 - py38: py38 - py39: py39 + base: py310 py310: py310 py311: py311 deps =