From ced1033753e87dddbcb7f337c01ab57f46ee2241 Mon Sep 17 00:00:00 2001 From: Carl Simon Adorf Date: Wed, 1 Dec 2021 15:17:23 +0100 Subject: [PATCH] Add support for Python 3.10 (#5188) * Add Python 3.10 to the test-install step. * Add Python 3.10 to trove classifiers. * Define all version numbers as part of the GH actions workflows as strings. Since version "numbers" are not actually numbers, which can lead to bugs, e.g., when a version number like "3.10" is interpreted as a decimal or float and is thus equal to 3.1. * Run CI tests against lowest and highest supported Python version. --- .github/workflows/benchmark.yml | 6 +- .github/workflows/ci-code.yml | 6 +- .github/workflows/ci-style.yml | 2 +- .github/workflows/docs-build.yml | 2 +- .github/workflows/post-release.yml | 2 +- .github/workflows/rabbitmq.yml | 4 +- .github/workflows/release.yml | 8 +- .github/workflows/test-install.yml | 53 +++++--- requirements/requirements-py-3.10.txt | 179 ++++++++++++++++++++++++++ requirements/requirements-py-3.7.txt | 172 ++++++++++++------------- requirements/requirements-py-3.8.txt | 161 +++++++++++------------ requirements/requirements-py-3.9.txt | 160 +++++++++++------------ setup.json | 1 + 13 files changed, 471 insertions(+), 285 deletions(-) create mode 100644 requirements/requirements-py-3.10.txt diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml index c7160741f7..1d9368b82d 100644 --- a/.github/workflows/benchmark.yml +++ b/.github/workflows/benchmark.yml @@ -18,8 +18,8 @@ jobs: fail-fast: false matrix: os: [ubuntu-18.04] - postgres: [12.3] - rabbitmq: [3.8.3] + postgres: ['12.3'] + rabbitmq: ['3.8.3'] backend: ['django', 'sqlalchemy'] runs-on: ${{ matrix.os }} @@ -49,7 +49,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Install python dependencies run: | python -m pip install --upgrade pip diff --git a/.github/workflows/ci-code.yml b/.github/workflows/ci-code.yml index 94435a329e..65fcc45860 100644 --- a/.github/workflows/ci-code.yml +++ b/.github/workflows/ci-code.yml @@ -20,7 +20,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Install utils/ dependencies run: pip install -r utils/requirements.txt @@ -49,7 +49,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.7, 3.8] + python-version: ['3.7', '3.10'] backend: ['django', 'sqlalchemy'] services: @@ -130,7 +130,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.8, 3.9] + python-version: ['3.7', '3.10'] steps: - uses: actions/checkout@v2 diff --git a/.github/workflows/ci-style.yml b/.github/workflows/ci-style.yml index 6b02a49ece..62799611d3 100644 --- a/.github/workflows/ci-style.yml +++ b/.github/workflows/ci-style.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Install system dependencies # note libkrb5-dev is required as a dependency for the gssapi pip install diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml index 4a175dc049..73f1a74a35 100644 --- a/.github/workflows/docs-build.yml +++ b/.github/workflows/docs-build.yml @@ -19,7 +19,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Install python dependencies run: | pip install -e .[docs,tests] diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml index a62f158c9f..89354a7dd8 100644 --- a/.github/workflows/post-release.yml +++ b/.github/workflows/post-release.yml @@ -26,7 +26,7 @@ jobs: - name: Set up Python 3.7 uses: actions/setup-python@v2 with: - python-version: 3.7 + python-version: '3.7' - name: Install python dependencies run: | diff --git a/.github/workflows/rabbitmq.yml b/.github/workflows/rabbitmq.yml index 425fb5e58a..d868ef1629 100644 --- a/.github/workflows/rabbitmq.yml +++ b/.github/workflows/rabbitmq.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - rabbitmq: [3.5, 3.6, 3.7, 3.8] + rabbitmq: ['3.5', '3.6', '3.7', '3.8'] services: postgres: @@ -44,7 +44,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Install system dependencies run: | diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index dd60274922..1c95ff1307 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - run: python .github/workflows/check_release_tag.py $GITHUB_REF setup.json pre-commit: @@ -36,7 +36,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Install system dependencies # note libkrb5-dev is required as a dependency for the gssapi pip install run: | @@ -77,7 +77,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Install system dependencies run: | sudo apt update @@ -104,7 +104,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Build package run: | pip install wheel diff --git a/.github/workflows/test-install.yml b/.github/workflows/test-install.yml index 110641f9b9..7709d77873 100644 --- a/.github/workflows/test-install.yml +++ b/.github/workflows/test-install.yml @@ -28,7 +28,7 @@ jobs: - name: Set up Python 3.9 uses: actions/setup-python@v2 with: - python-version: 3.9 + python-version: '3.9' - name: Install utils/ dependencies run: pip install -r utils/requirements.txt @@ -53,7 +53,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [3.7, 3.8, 3.9] + python-version: ['3.7', '3.8', '3.9', '3.10'] steps: - uses: actions/checkout@v2 @@ -87,13 +87,9 @@ jobs: - name: Setup Conda uses: s-weigand/setup-conda@v1 with: - python-version: 3.9 - update-conda: false conda-channels: conda-forge - run: conda --version - - run: python --version - - run: which python - name: Test conda environment run: | @@ -118,7 +114,7 @@ jobs: - name: Set up Python 3.8 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: '3.8' - name: Pip install id: pip_install @@ -136,15 +132,24 @@ jobs: # Verify that we can install AiiDA with conda. if: github.repository == 'aiidateam/aiida-core' - # Currently the installation for Python 3.7 fails in combination with - # ubuntu-20.04 due to an incompatibility with glibc. - runs-on: ubuntu-18.04 - timeout-minutes: 10 + runs-on: ubuntu-latest + timeout-minutes: 5 strategy: fail-fast: false matrix: - python-version: [3.7, 3.8, 3.9] + + python-version: ['3.7', '3.8', '3.9', '3.10'] + + # Not being able to install with conda on a specific Python version is + # not sufficient to fail the run, but something we want to be aware of. + optional: [true] + + include: + # Installing with conda without specyfing the Python version should + # not fail since this is advocated as part of the user documentation. + - python-version: '' + optional: false steps: - uses: actions/checkout@v2 @@ -152,27 +157,33 @@ jobs: - name: Setup Conda uses: s-weigand/setup-conda@v1 with: - python-version: ${{ matrix.python-version }} - update-conda: false conda-channels: conda-forge + - run: conda --version - - run: python --version - - run: which python - - name: Test direct installation - run: | - conda create --dry-run -n test-install aiida-core python=${{ matrix.python-version }} + - name: Test installation + id: test_installation + continue-on-error: ${{ matrix.optional }} + run: > + conda create --dry-run -n test-install aiida-core + ${{ matrix.python-version && format('python={0}', matrix.python-version) }} + + - name: Warn about failure + if: steps.test_installation.outcome == 'Failure' + run: > + echo "::warning ::Failed conda installation for + Python ${{ matrix.python-version }}." tests: needs: [install-with-pip] runs-on: ubuntu-latest - timeout-minutes: 35 + timeout-minutes: 30 strategy: fail-fast: false matrix: - python-version: [3.7, 3.8, 3.9] + python-version: ['3.7', '3.8', '3.9', '3.10'] backend: ['django', 'sqlalchemy'] services: diff --git a/requirements/requirements-py-3.10.txt b/requirements/requirements-py-3.10.txt new file mode 100644 index 0000000000..21e0a9790b --- /dev/null +++ b/requirements/requirements-py-3.10.txt @@ -0,0 +1,179 @@ +aiida-export-migration-tests==0.9.0 +aio-pika==6.8.0 +aiormq==3.3.1 +alabaster==0.7.12 +aldjemy==2.6 +alembic==1.7.5 +aniso8601==9.0.1 +archive-path==0.3.6 +argon2-cffi==21.1.0 +ase==3.22.0 +asn1crypto==1.4.0 +async-generator==1.10 +attrs==21.2.0 +Babel==2.9.1 +backcall==0.2.0 +bcrypt==3.2.0 +beautifulsoup4==4.10.0 +bleach==4.1.0 +certifi==2021.10.8 +cffi==1.15.0 +charset-normalizer==2.0.8 +circus==0.17.1 +click==8.0.3 +click-config-file==0.6.0 +click-spinner==0.1.10 +configobj==5.0.6 +coverage==4.5.4 +cryptography==36.0.0 +cycler==0.11.0 +debugpy==1.5.1 +decorator==5.1.0 +defusedxml==0.7.1 +deprecation==2.1.0 +disk-objectstore==0.6.0 +Django==2.2.24 +docutils==0.15.2 +entrypoints==0.3 +Flask==1.1.2 +Flask-Cors==3.0.10 +Flask-RESTful==0.3.9 +fonttools==4.28.2 +future==0.18.2 +graphviz==0.19 +greenlet==1.1.2 +idna==3.3 +imagesize==1.3.0 +importlib-metadata==4.8.2 +iniconfig==1.1.1 +ipykernel==6.5.1 +ipython==7.30.0 +ipython-genutils==0.2.0 +ipywidgets==7.6.5 +itsdangerous==2.0.1 +jedi==0.18.1 +Jinja2==3.0.3 +jsonschema==3.2.0 +jupyter==1.0.0 +jupyter-client==6.1.12 +jupyter-console==6.4.0 +jupyter-core==4.9.1 +jupyterlab-pygments==0.1.2 +jupyterlab-widgets==1.0.2 +kiwipy==0.7.4 +kiwisolver==1.3.2 +Mako==1.1.6 +MarkupSafe==2.0.1 +matplotlib==3.5.0 +matplotlib-inline==0.1.3 +mistune==0.8.4 +monty==2021.8.17 +mpmath==1.2.1 +multidict==5.2.0 +nbclient==0.5.9 +nbconvert==6.3.0 +nbformat==5.1.3 +nest-asyncio==1.4.3 +networkx==2.6.3 +notebook==6.4.5 +numpy==1.21.4 +packaging==21.3 +palettable==3.3.0 +pamqp==2.3.0 +pandas==1.3.4 +pandocfilters==1.5.0 +paramiko==2.8.1 +parso==0.8.3 +pexpect==4.8.0 +pg8000==1.23.0 +pgsu==0.2.1 +pgtest==1.3.2 +pickleshare==0.7.5 +Pillow==8.4.0 +plotly==5.4.0 +pluggy==1.0.0 +plumpy==0.20.0 +prometheus-client==0.12.0 +prompt-toolkit==3.0.23 +psutil==5.8.0 +psycopg2-binary==2.8.6 +ptyprocess==0.7.0 +py==1.11.0 +py-cpuinfo==8.0.0 +PyCifRW==4.4.3 +pycparser==2.21 +pydata-sphinx-theme==0.6.3 +Pygments==2.10.0 +pymatgen==2022.0.16 +Pympler==0.9 +PyMySQL==0.9.3 +PyNaCl==1.4.0 +pyparsing==2.4.7 +pyrsistent==0.18.0 +pytest==6.2.5 +pytest-asyncio==0.16.0 +pytest-benchmark==3.4.1 +pytest-cov==2.10.1 +pytest-datadir==1.3.1 +pytest-regressions==2.2.0 +pytest-rerunfailures==9.1.1 +pytest-timeout==1.4.2 +python-dateutil==2.8.2 +python-memcached==1.59 +pytray==0.3.2 +pytz==2021.3 +PyYAML==5.4.1 +pyzmq==22.3.0 +qtconsole==5.2.1 +QtPy==1.11.2 +requests==2.26.0 +ruamel.yaml==0.17.17 +scipy==1.7.3 +scramp==1.4.1 +seekpath==1.9.7 +Send2Trash==1.8.0 +setuptools-scm==6.3.2 +shortuuid==1.0.8 +simplejson==3.17.6 +six==1.16.0 +snowballstemmer==2.2.0 +soupsieve==2.3.1 +spglib==1.16.1 +Sphinx==3.2.1 +sphinx-copybutton==0.3.3 +sphinx-notfound-page==0.8 +sphinx-panels==0.5.2 +sphinx-sqlalchemy==0.1.1 +sphinxcontrib-applehelp==1.0.2 +sphinxcontrib-details-directive==0.1.0 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==2.0.0 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.5 +sphinxext-rediraffe==0.2.7 +SQLAlchemy==1.4.27 +sqlalchemy-diff==0.1.5 +SQLAlchemy-Utils==0.37.9 +sqlparse==0.4.2 +sympy==1.9 +tabulate==0.8.9 +tenacity==8.0.1 +terminado==0.12.1 +testpath==0.5.0 +toml==0.10.2 +tomli==1.2.2 +tornado==6.1 +tqdm==4.62.3 +traitlets==5.1.1 +tzlocal==2.1 +uncertainties==3.1.6 +upf-to-json==0.9.3 +urllib3==1.26.7 +wcwidth==0.2.5 +webencodings==0.5.1 +Werkzeug==2.0.2 +widgetsnbextension==3.5.2 +wrapt==1.11.2 +yarl==1.7.2 +zipp==3.6.0 diff --git a/requirements/requirements-py-3.7.txt b/requirements/requirements-py-3.7.txt index 0531789545..e066ee95c2 100644 --- a/requirements/requirements-py-3.7.txt +++ b/requirements/requirements-py-3.7.txt @@ -2,13 +2,12 @@ aiida-export-migration-tests==0.9.0 aio-pika==6.8.0 aiormq==3.3.1 alabaster==0.7.12 -aldjemy==2.4 -alembic==1.6.5 +aldjemy==2.6 +alembic==1.7.5 aniso8601==9.0.1 -appdirs==1.4.4 -appnope==0.1.2 archive-path==0.3.6 -argon2-cffi==20.1.0 +argcomplete==1.12.3 +argon2-cffi==21.1.0 ase==3.22.0 asn1crypto==1.4.0 async-generator==1.10 @@ -16,23 +15,21 @@ attrs==21.2.0 Babel==2.9.1 backcall==0.2.0 bcrypt==3.2.0 -beautifulsoup4==4.9.3 -black==20.8b1 -bleach==4.0.0 -certifi==2021.5.30 -cffi==1.14.6 -charset-normalizer==2.0.4 +beautifulsoup4==4.10.0 +bleach==4.1.0 +certifi==2021.10.8 +cffi==1.15.0 +charset-normalizer==2.0.8 circus==0.17.1 click==8.0.3 -click-completion==0.5.2 click-config-file==0.6.0 click-spinner==0.1.10 configobj==5.0.6 coverage==4.5.4 -cryptography==3.4.7 -cycler==0.10.0 -debugpy==1.4.1 -decorator==5.0.9 +cryptography==36.0.0 +cycler==0.11.0 +debugpy==1.5.1 +decorator==5.1.0 defusedxml==0.7.1 deprecation==2.1.0 disk-objectstore==0.6.0 @@ -42,82 +39,81 @@ entrypoints==0.3 Flask==1.1.2 Flask-Cors==3.0.10 Flask-RESTful==0.3.9 +fonttools==4.28.2 future==0.18.2 -graphviz==0.17 -greenlet==1.1.1 -idna==3.2 -imagesize==1.2.0 -importlib-metadata==4.6.3 +graphviz==0.19 +greenlet==1.1.2 +idna==3.3 +imagesize==1.3.0 +importlib-metadata==4.8.2 +importlib-resources==5.4.0 iniconfig==1.1.1 -ipykernel==6.1 -ipython==7.26.0 +ipykernel==6.5.1 +ipython==7.30.0 ipython-genutils==0.2.0 -ipywidgets==7.6.3 +ipywidgets==7.6.5 itsdangerous==2.0.1 -jedi==0.18.0 -Jinja2==3.0.1 +jedi==0.18.1 +Jinja2==3.0.3 jsonschema==3.2.0 jupyter==1.0.0 jupyter-client==6.1.12 jupyter-console==6.4.0 -jupyter-core==4.7.1 +jupyter-core==4.9.1 jupyterlab-pygments==0.1.2 -jupyterlab-widgets==1.0.0 +jupyterlab-widgets==1.0.2 kiwipy==0.7.4 -kiwisolver==1.3.1 -Mako==1.1.4 +kiwisolver==1.3.2 +Mako==1.1.6 MarkupSafe==2.0.1 -matplotlib==3.4.2 -matplotlib-inline==0.1.2 -mccabe==0.6.1 +matplotlib==3.5.0 +matplotlib-inline==0.1.3 mistune==0.8.4 -monty==2021.7.8 +monty==2021.8.17 mpmath==1.2.1 -multidict==5.1.0 -mypy-extensions==0.4.3 -nbclient==0.5.3 -nbconvert==6.1.0 +multidict==5.2.0 +nbclient==0.5.9 +nbconvert==6.3.0 nbformat==5.1.3 nest-asyncio==1.4.3 -networkx==2.6.2 -notebook==6.4.3 -numpy==1.21.1 -packaging==21.0 +networkx==2.6.3 +notebook==6.4.5 +numpy==1.21.4 +packaging==21.3 palettable==3.3.0 pamqp==2.3.0 -pandas==1.3.1 -pandocfilters==1.4.3 -paramiko==2.7.2 -parso==0.8.2 -pathspec==0.8.0 +pandas==1.3.4 +pandocfilters==1.5.0 +paramiko==2.8.1 +parso==0.8.3 pexpect==4.8.0 -pg8000==1.21.0 -pgsu==0.2.0 +pg8000==1.23.0 +pgsu==0.2.1 pgtest==1.3.2 pickleshare==0.7.5 -Pillow==8.3.2 -plotly==5.1.0 -pluggy==0.13.1 +Pillow==8.4.0 +plotly==5.4.0 +pluggy==1.0.0 plumpy==0.20.0 -prometheus-client==0.11.0 -prompt-toolkit==3.0.19 +prometheus-client==0.12.0 +prompt-toolkit==3.0.23 psutil==5.8.0 psycopg2-binary==2.8.6 ptyprocess==0.7.0 -py==1.10.0 +py==1.11.0 py-cpuinfo==8.0.0 PyCifRW==4.4.3 -pycparser==2.20 +pycparser==2.21 pydata-sphinx-theme==0.6.3 -Pygments==2.9.0 -pymatgen==2022.0.11 +Pygments==2.10.0 +pymatgen==2022.0.16 Pympler==0.9 PyMySQL==0.9.3 PyNaCl==1.4.0 pyparsing==2.4.7 pyrsistent==0.18.0 -pytest==6.2.4 -pytest-asyncio==0.15.1 +pytest==6.2.5 +pytest-asyncio==0.16.0 pytest-benchmark==3.4.1 pytest-cov==2.10.1 pytest-datadir==1.3.1 @@ -125,31 +121,30 @@ pytest-regressions==2.2.0 pytest-rerunfailures==9.1.1 pytest-timeout==1.4.2 python-dateutil==2.8.2 -python-editor==1.0.4 python-memcached==1.59 pytray==0.3.2 -pytz==2021.1 +pytz==2021.3 PyYAML==5.4.1 -pyzmq==22.2.1 -qtconsole==5.1.1 -QtPy==1.9.0 +pyzmq==22.3.0 +qtconsole==5.2.1 +QtPy==1.11.2 requests==2.26.0 -ruamel.yaml==0.17.10 +ruamel.yaml==0.17.17 ruamel.yaml.clib==0.2.6 -scipy==1.7.1 -scramp==1.4.0 +scipy==1.7.3 +scramp==1.4.1 seekpath==1.9.7 Send2Trash==1.8.0 -shellingham==1.4.0 -shortuuid==1.0.1 -simplejson==3.17.3 +setuptools-scm==6.3.2 +shortuuid==1.0.8 +simplejson==3.17.6 six==1.16.0 -snowballstemmer==2.1.0 -soupsieve==2.2.1 -spglib==1.16.1 +snowballstemmer==2.2.0 +soupsieve==2.3.1 +spglib==1.16.2 Sphinx==3.2.1 sphinx-copybutton==0.3.3 -sphinx-notfound-page==0.7.1 +sphinx-notfound-page==0.8 sphinx-panels==0.5.2 sphinx-sqlalchemy==0.1.1 sphinxcontrib-applehelp==1.0.2 @@ -160,30 +155,29 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 sphinxext-rediraffe==0.2.7 -SQLAlchemy==1.4.22 +SQLAlchemy==1.4.27 sqlalchemy-diff==0.1.5 -SQLAlchemy-Utils==0.37.8 +SQLAlchemy-Utils==0.37.9 sqlparse==0.4.2 -sympy==1.8 +sympy==1.9 tabulate==0.8.9 tenacity==8.0.1 -terminado==0.10.1 +terminado==0.12.1 testpath==0.5.0 toml==0.10.2 +tomli==1.2.2 tornado==6.1 -tqdm==4.62.0 -traitlets==5.0.5 -typed-ast==1.4.1 -typing-extensions==3.10.0.0 +tqdm==4.62.3 +traitlets==5.1.1 +typing_extensions==4.0.1 tzlocal==2.1 uncertainties==3.1.6 upf-to-json==0.9.3 -urllib3==1.26.6 +urllib3==1.26.7 wcwidth==0.2.5 webencodings==0.5.1 -Werkzeug==2.0.1 -widgetsnbextension==3.5.1 +Werkzeug==2.0.2 +widgetsnbextension==3.5.2 wrapt==1.11.2 -yapf==0.30.0 -yarl==1.6.3 -zipp==3.5.0 +yarl==1.7.2 +zipp==3.6.0 diff --git a/requirements/requirements-py-3.8.txt b/requirements/requirements-py-3.8.txt index 9396c1fcd0..82709a80d1 100644 --- a/requirements/requirements-py-3.8.txt +++ b/requirements/requirements-py-3.8.txt @@ -2,12 +2,11 @@ aiida-export-migration-tests==0.9.0 aio-pika==6.8.0 aiormq==3.3.1 alabaster==0.7.12 -aldjemy==2.4 -alembic==1.6.5 +aldjemy==2.6 +alembic==1.7.5 aniso8601==9.0.1 -appnope==0.1.2 archive-path==0.3.6 -argon2-cffi==20.1.0 +argon2-cffi==21.1.0 ase==3.22.0 asn1crypto==1.4.0 async-generator==1.10 @@ -15,22 +14,21 @@ attrs==21.2.0 Babel==2.9.1 backcall==0.2.0 bcrypt==3.2.0 -beautifulsoup4==4.9.3 -bleach==4.0.0 -certifi==2021.5.30 -cffi==1.14.6 -charset-normalizer==2.0.4 +beautifulsoup4==4.10.0 +bleach==4.1.0 +certifi==2021.10.8 +cffi==1.15.0 +charset-normalizer==2.0.8 circus==0.17.1 click==8.0.3 -click-completion==0.5.2 click-config-file==0.6.0 click-spinner==0.1.10 configobj==5.0.6 coverage==4.5.4 -cryptography==3.4.7 -cycler==0.10.0 -debugpy==1.4.1 -decorator==5.0.9 +cryptography==36.0.0 +cycler==0.11.0 +debugpy==1.5.1 +decorator==5.1.0 defusedxml==0.7.1 deprecation==2.1.0 disk-objectstore==0.6.0 @@ -40,79 +38,81 @@ entrypoints==0.3 Flask==1.1.2 Flask-Cors==3.0.10 Flask-RESTful==0.3.9 +fonttools==4.28.2 future==0.18.2 -graphviz==0.17 -greenlet==1.1.1 -idna==3.2 -imagesize==1.2.0 -importlib-metadata==4.6.3 +graphviz==0.19 +greenlet==1.1.2 +idna==3.3 +imagesize==1.3.0 +importlib-metadata==4.8.2 +importlib-resources==5.4.0 iniconfig==1.1.1 -ipykernel==6.1 -ipython==7.26.0 +ipykernel==6.5.1 +ipython==7.30.0 ipython-genutils==0.2.0 -ipywidgets==7.6.3 +ipywidgets==7.6.5 itsdangerous==2.0.1 -jedi==0.18.0 -Jinja2==3.0.1 +jedi==0.18.1 +Jinja2==3.0.3 jsonschema==3.2.0 jupyter==1.0.0 jupyter-client==6.1.12 jupyter-console==6.4.0 -jupyter-core==4.7.1 +jupyter-core==4.9.1 jupyterlab-pygments==0.1.2 -jupyterlab-widgets==1.0.0 +jupyterlab-widgets==1.0.2 kiwipy==0.7.4 -kiwisolver==1.3.1 -Mako==1.1.4 +kiwisolver==1.3.2 +Mako==1.1.6 MarkupSafe==2.0.1 -matplotlib==3.4.2 -matplotlib-inline==0.1.2 +matplotlib==3.5.0 +matplotlib-inline==0.1.3 mistune==0.8.4 -monty==2021.7.8 +monty==2021.8.17 mpmath==1.2.1 -multidict==5.1.0 -nbclient==0.5.3 -nbconvert==6.1.0 +multidict==5.2.0 +nbclient==0.5.9 +nbconvert==6.3.0 nbformat==5.1.3 nest-asyncio==1.4.3 -networkx==2.6.2 -notebook==6.4.3 -numpy==1.21.1 -packaging==21.0 +networkx==2.6.3 +notebook==6.4.5 +numpy==1.21.4 +packaging==21.3 palettable==3.3.0 pamqp==2.3.0 -pandas==1.3.1 -pandocfilters==1.4.3 -paramiko==2.7.2 -parso==0.8.2 +pandas==1.3.4 +pandocfilters==1.5.0 +paramiko==2.8.1 +parso==0.8.3 pexpect==4.8.0 -pg8000==1.21.0 -pgsu==0.2.0 +pg8000==1.23.0 +pgsu==0.2.1 pgtest==1.3.2 pickleshare==0.7.5 -Pillow==8.3.2 -plotly==5.1.0 -pluggy==0.13.1 +Pillow==8.4.0 +plotly==5.4.0 +pluggy==1.0.0 plumpy==0.20.0 -prometheus-client==0.11.0 -prompt-toolkit==3.0.19 +prometheus-client==0.12.0 +prompt-toolkit==3.0.23 psutil==5.8.0 psycopg2-binary==2.8.6 ptyprocess==0.7.0 -py==1.10.0 +py==1.11.0 py-cpuinfo==8.0.0 PyCifRW==4.4.3 -pycparser==2.20 +pycparser==2.21 pydata-sphinx-theme==0.6.3 -Pygments==2.9.0 -pymatgen==2022.0.11 +Pygments==2.10.0 +pymatgen==2022.0.16 Pympler==0.9 PyMySQL==0.9.3 PyNaCl==1.4.0 pyparsing==2.4.7 pyrsistent==0.18.0 -pytest==6.2.4 -pytest-asyncio==0.15.1 +pytest==6.2.5 +pytest-asyncio==0.16.0 pytest-benchmark==3.4.1 pytest-cov==2.10.1 pytest-datadir==1.3.1 @@ -120,31 +120,30 @@ pytest-regressions==2.2.0 pytest-rerunfailures==9.1.1 pytest-timeout==1.4.2 python-dateutil==2.8.2 -python-editor==1.0.4 python-memcached==1.59 pytray==0.3.2 -pytz==2021.1 +pytz==2021.3 PyYAML==5.4.1 -pyzmq==22.2.1 -qtconsole==5.1.1 -QtPy==1.9.0 +pyzmq==22.3.0 +qtconsole==5.2.1 +QtPy==1.11.2 requests==2.26.0 -ruamel.yaml==0.17.10 +ruamel.yaml==0.17.17 ruamel.yaml.clib==0.2.6 -scipy==1.7.1 -scramp==1.4.0 +scipy==1.7.3 +scramp==1.4.1 seekpath==1.9.7 Send2Trash==1.8.0 -shellingham==1.4.0 -shortuuid==1.0.1 -simplejson==3.17.3 +setuptools-scm==6.3.2 +shortuuid==1.0.8 +simplejson==3.17.6 six==1.16.0 -snowballstemmer==2.1.0 -soupsieve==2.2.1 -spglib==1.16.1 +snowballstemmer==2.2.0 +soupsieve==2.3.1 +spglib==1.16.2 Sphinx==3.2.1 sphinx-copybutton==0.3.3 -sphinx-notfound-page==0.7.1 +sphinx-notfound-page==0.8 sphinx-panels==0.5.2 sphinx-sqlalchemy==0.1.1 sphinxcontrib-applehelp==1.0.2 @@ -155,26 +154,28 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 sphinxext-rediraffe==0.2.7 -SQLAlchemy==1.4.22 +SQLAlchemy==1.4.27 sqlalchemy-diff==0.1.5 -SQLAlchemy-Utils==0.37.8 +SQLAlchemy-Utils==0.37.9 sqlparse==0.4.2 -sympy==1.8 +sympy==1.9 tabulate==0.8.9 tenacity==8.0.1 -terminado==0.10.1 +terminado==0.12.1 testpath==0.5.0 toml==0.10.2 +tomli==1.2.2 tornado==6.1 -tqdm==4.62.0 -traitlets==5.0.5 +tqdm==4.62.3 +traitlets==5.1.1 tzlocal==2.1 uncertainties==3.1.6 upf-to-json==0.9.3 -urllib3==1.26.6 +urllib3==1.26.7 wcwidth==0.2.5 webencodings==0.5.1 -Werkzeug==2.0.1 -widgetsnbextension==3.5.1 +Werkzeug==2.0.2 +widgetsnbextension==3.5.2 wrapt==1.11.2 -yarl==1.6.3 +yarl==1.7.2 +zipp==3.6.0 diff --git a/requirements/requirements-py-3.9.txt b/requirements/requirements-py-3.9.txt index 9396c1fcd0..8df485cff5 100644 --- a/requirements/requirements-py-3.9.txt +++ b/requirements/requirements-py-3.9.txt @@ -2,12 +2,11 @@ aiida-export-migration-tests==0.9.0 aio-pika==6.8.0 aiormq==3.3.1 alabaster==0.7.12 -aldjemy==2.4 -alembic==1.6.5 +aldjemy==2.6 +alembic==1.7.5 aniso8601==9.0.1 -appnope==0.1.2 archive-path==0.3.6 -argon2-cffi==20.1.0 +argon2-cffi==21.1.0 ase==3.22.0 asn1crypto==1.4.0 async-generator==1.10 @@ -15,22 +14,21 @@ attrs==21.2.0 Babel==2.9.1 backcall==0.2.0 bcrypt==3.2.0 -beautifulsoup4==4.9.3 -bleach==4.0.0 -certifi==2021.5.30 -cffi==1.14.6 -charset-normalizer==2.0.4 +beautifulsoup4==4.10.0 +bleach==4.1.0 +certifi==2021.10.8 +cffi==1.15.0 +charset-normalizer==2.0.8 circus==0.17.1 click==8.0.3 -click-completion==0.5.2 click-config-file==0.6.0 click-spinner==0.1.10 configobj==5.0.6 coverage==4.5.4 -cryptography==3.4.7 -cycler==0.10.0 -debugpy==1.4.1 -decorator==5.0.9 +cryptography==36.0.0 +cycler==0.11.0 +debugpy==1.5.1 +decorator==5.1.0 defusedxml==0.7.1 deprecation==2.1.0 disk-objectstore==0.6.0 @@ -40,79 +38,80 @@ entrypoints==0.3 Flask==1.1.2 Flask-Cors==3.0.10 Flask-RESTful==0.3.9 +fonttools==4.28.2 future==0.18.2 -graphviz==0.17 -greenlet==1.1.1 -idna==3.2 -imagesize==1.2.0 -importlib-metadata==4.6.3 +graphviz==0.19 +greenlet==1.1.2 +idna==3.3 +imagesize==1.3.0 +importlib-metadata==4.8.2 iniconfig==1.1.1 -ipykernel==6.1 -ipython==7.26.0 +ipykernel==6.5.1 +ipython==7.30.0 ipython-genutils==0.2.0 -ipywidgets==7.6.3 +ipywidgets==7.6.5 itsdangerous==2.0.1 -jedi==0.18.0 -Jinja2==3.0.1 +jedi==0.18.1 +Jinja2==3.0.3 jsonschema==3.2.0 jupyter==1.0.0 jupyter-client==6.1.12 jupyter-console==6.4.0 -jupyter-core==4.7.1 +jupyter-core==4.9.1 jupyterlab-pygments==0.1.2 -jupyterlab-widgets==1.0.0 +jupyterlab-widgets==1.0.2 kiwipy==0.7.4 -kiwisolver==1.3.1 -Mako==1.1.4 +kiwisolver==1.3.2 +Mako==1.1.6 MarkupSafe==2.0.1 -matplotlib==3.4.2 -matplotlib-inline==0.1.2 +matplotlib==3.5.0 +matplotlib-inline==0.1.3 mistune==0.8.4 -monty==2021.7.8 +monty==2021.8.17 mpmath==1.2.1 -multidict==5.1.0 -nbclient==0.5.3 -nbconvert==6.1.0 +multidict==5.2.0 +nbclient==0.5.9 +nbconvert==6.3.0 nbformat==5.1.3 nest-asyncio==1.4.3 -networkx==2.6.2 -notebook==6.4.3 -numpy==1.21.1 -packaging==21.0 +networkx==2.6.3 +notebook==6.4.5 +numpy==1.21.4 +packaging==21.3 palettable==3.3.0 pamqp==2.3.0 -pandas==1.3.1 -pandocfilters==1.4.3 -paramiko==2.7.2 -parso==0.8.2 +pandas==1.3.4 +pandocfilters==1.5.0 +paramiko==2.8.1 +parso==0.8.3 pexpect==4.8.0 -pg8000==1.21.0 -pgsu==0.2.0 +pg8000==1.23.0 +pgsu==0.2.1 pgtest==1.3.2 pickleshare==0.7.5 -Pillow==8.3.2 -plotly==5.1.0 -pluggy==0.13.1 +Pillow==8.4.0 +plotly==5.4.0 +pluggy==1.0.0 plumpy==0.20.0 -prometheus-client==0.11.0 -prompt-toolkit==3.0.19 +prometheus-client==0.12.0 +prompt-toolkit==3.0.23 psutil==5.8.0 psycopg2-binary==2.8.6 ptyprocess==0.7.0 -py==1.10.0 +py==1.11.0 py-cpuinfo==8.0.0 PyCifRW==4.4.3 -pycparser==2.20 +pycparser==2.21 pydata-sphinx-theme==0.6.3 -Pygments==2.9.0 -pymatgen==2022.0.11 +Pygments==2.10.0 +pymatgen==2022.0.16 Pympler==0.9 PyMySQL==0.9.3 PyNaCl==1.4.0 pyparsing==2.4.7 pyrsistent==0.18.0 -pytest==6.2.4 -pytest-asyncio==0.15.1 +pytest==6.2.5 +pytest-asyncio==0.16.0 pytest-benchmark==3.4.1 pytest-cov==2.10.1 pytest-datadir==1.3.1 @@ -120,31 +119,30 @@ pytest-regressions==2.2.0 pytest-rerunfailures==9.1.1 pytest-timeout==1.4.2 python-dateutil==2.8.2 -python-editor==1.0.4 python-memcached==1.59 pytray==0.3.2 -pytz==2021.1 +pytz==2021.3 PyYAML==5.4.1 -pyzmq==22.2.1 -qtconsole==5.1.1 -QtPy==1.9.0 +pyzmq==22.3.0 +qtconsole==5.2.1 +QtPy==1.11.2 requests==2.26.0 -ruamel.yaml==0.17.10 +ruamel.yaml==0.17.17 ruamel.yaml.clib==0.2.6 -scipy==1.7.1 -scramp==1.4.0 +scipy==1.7.3 +scramp==1.4.1 seekpath==1.9.7 Send2Trash==1.8.0 -shellingham==1.4.0 -shortuuid==1.0.1 -simplejson==3.17.3 +setuptools-scm==6.3.2 +shortuuid==1.0.8 +simplejson==3.17.6 six==1.16.0 -snowballstemmer==2.1.0 -soupsieve==2.2.1 -spglib==1.16.1 +snowballstemmer==2.2.0 +soupsieve==2.3.1 +spglib==1.16.2 Sphinx==3.2.1 sphinx-copybutton==0.3.3 -sphinx-notfound-page==0.7.1 +sphinx-notfound-page==0.8 sphinx-panels==0.5.2 sphinx-sqlalchemy==0.1.1 sphinxcontrib-applehelp==1.0.2 @@ -155,26 +153,28 @@ sphinxcontrib-jsmath==1.0.1 sphinxcontrib-qthelp==1.0.3 sphinxcontrib-serializinghtml==1.1.5 sphinxext-rediraffe==0.2.7 -SQLAlchemy==1.4.22 +SQLAlchemy==1.4.27 sqlalchemy-diff==0.1.5 -SQLAlchemy-Utils==0.37.8 +SQLAlchemy-Utils==0.37.9 sqlparse==0.4.2 -sympy==1.8 +sympy==1.9 tabulate==0.8.9 tenacity==8.0.1 -terminado==0.10.1 +terminado==0.12.1 testpath==0.5.0 toml==0.10.2 +tomli==1.2.2 tornado==6.1 -tqdm==4.62.0 -traitlets==5.0.5 +tqdm==4.62.3 +traitlets==5.1.1 tzlocal==2.1 uncertainties==3.1.6 upf-to-json==0.9.3 -urllib3==1.26.6 +urllib3==1.26.7 wcwidth==0.2.5 webencodings==0.5.1 -Werkzeug==2.0.1 -widgetsnbextension==3.5.1 +Werkzeug==2.0.2 +widgetsnbextension==3.5.2 wrapt==1.11.2 -yarl==1.6.3 +yarl==1.7.2 +zipp==3.6.0 diff --git a/setup.json b/setup.json index 24f2361353..df04adcebe 100644 --- a/setup.json +++ b/setup.json @@ -17,6 +17,7 @@ "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", "Topic :: Scientific/Engineering" ], "install_requires": [