diff --git a/.github/workflows/test-install.yml b/.github/workflows/test-install.yml index 65964d3876..e8c0f6beb0 100644 --- a/.github/workflows/test-install.yml +++ b/.github/workflows/test-install.yml @@ -25,10 +25,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install dm-script dependencies run: pip install packaging==20.3 click~=7.0 pyyaml~=5.1 tomlkit @@ -52,6 +52,8 @@ jobs: steps: - uses: actions/checkout@v2 + # Set to Python version 3.8, as the installation with 3.9 still takes + # significantly longer to install. - name: Set up Python 3.8 uses: actions/setup-python@v2 with: @@ -89,8 +91,9 @@ jobs: - name: Setup Conda uses: s-weigand/setup-conda@v1 with: - update-conda: true - python-version: 3.8 + python-version: 3.9 + update-conda: false + conda-channels: conda-forge - run: conda --version - run: python --version - run: which python @@ -110,12 +113,12 @@ jobs: needs: [install-with-pip, install-with-conda] runs-on: ubuntu-latest - timeout-minutes: 30 + timeout-minutes: 35 strategy: fail-fast: false matrix: - python-version: [3.6, 3.7, 3.8] + python-version: [3.6, 3.7, 3.8, 3.9] backend: ['django', 'sqlalchemy'] services: @@ -198,10 +201,10 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Python 3.8 + - name: Set up Python 3.9 uses: actions/setup-python@v2 with: - python-version: 3.8 + python-version: 3.9 - name: Install dm-script dependencies run: pip install packaging==20.3 click~=7.0 pyyaml~=5.1 tomlkit diff --git a/pyproject.toml b/pyproject.toml index 3a46a24cb9..939a30965f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -76,17 +76,18 @@ envlist = py37-django [testenv] usedevelop=True -[testenv:py{36,37,38}-{django,sqla}] +[testenv:py{36,37,38,39}-{django,sqla}] deps = py36: -rrequirements/requirements-py-3.6.txt py37: -rrequirements/requirements-py-3.7.txt py38: -rrequirements/requirements-py-3.8.txt + py39: -rrequirements/requirements-py-3.9.txt setenv = django: AIIDA_TEST_BACKEND = django sqla: AIIDA_TEST_BACKEND = sqlalchemy commands = pytest {posargs} -[testenv:py{36,37,38}-docs-{clean,update}] +[testenv:py{36,37,38,39}-docs-{clean,update}] description = clean: Build the documentation (remove any existing build) update: Build the documentation (modify any existing build) @@ -94,6 +95,7 @@ deps = py36: -rrequirements/requirements-py-3.6.txt py37: -rrequirements/requirements-py-3.7.txt py38: -rrequirements/requirements-py-3.8.txt + py38: -rrequirements/requirements-py-3.9.txt passenv = RUN_APIDOC setenv = update: RUN_APIDOC = False @@ -103,13 +105,14 @@ commands = clean: make clean make debug -[testenv:py{36,37,38}-docs-live] +[testenv:py{36,37,38,39}-docs-live] # tip: remove apidocs before using this feature (`cd docs; make clean`) description = Build the documentation and launch browser (with live updates) deps = py36: -rrequirements/requirements-py-3.6.txt py37: -rrequirements/requirements-py-3.7.txt py38: -rrequirements/requirements-py-3.8.txt + py39: -rrequirements/requirements-py-3.9.txt sphinx-autobuild setenv = RUN_APIDOC = False @@ -119,7 +122,7 @@ commands = --port 0 --open-browser \ -n -b {posargs:html} docs/source/ docs/build/{posargs:html} -[testenv:py{36,37,38}-pre-commit] +[testenv:py{36,37,38,39}-pre-commit] description = Run the pre-commit checks extras = all commands = pre-commit run {posargs} diff --git a/requirements/requirements-py-3.9.txt b/requirements/requirements-py-3.9.txt new file mode 100644 index 0000000000..583bc2247e --- /dev/null +++ b/requirements/requirements-py-3.9.txt @@ -0,0 +1,158 @@ +aiida-export-migration-tests==0.9.0 +alabaster==0.7.12 +aldjemy==0.9.1 +alembic==1.4.3 +aniso8601==8.0.0 +ase==3.20.1 +attrs==20.2.0 +Babel==2.8.0 +backcall==0.2.0 +bcrypt==3.2.0 +bleach==3.2.1 +certifi==2020.6.20 +cffi==1.14.3 +chardet==3.0.4 +circus==0.16.1 +click==7.1.2 +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.2.1 +cycler==0.10.0 +decorator==4.4.2 +defusedxml==0.6.0 +Django==2.2.17 +docutils==0.15.2 +entrypoints==0.3 +ete3==3.1.2 +Flask==1.1.2 +Flask-Cors==3.0.9 +Flask-RESTful==0.3.8 +frozendict==1.2 +furl==2.1.0 +future==0.18.2 +graphviz==0.14.2 +idna==2.10 +imagesize==1.2.0 +iniconfig==1.1.1 +ipykernel==5.3.4 +ipython==7.19.0 +ipython-genutils==0.2.0 +ipywidgets==7.5.1 +itsdangerous==1.1.0 +jedi==0.17.2 +Jinja2==2.11.2 +jsonschema==3.2.0 +jupyter==1.0.0 +jupyter-client==6.1.7 +jupyter-console==6.2.0 +jupyter-core==4.6.3 +kiwipy==0.5.5 +kiwisolver==1.3.1 +Mako==1.1.3 +MarkupSafe==1.1.1 +matplotlib==3.3.2 +mistune==0.8.4 +monty==4.0.2 +mpmath==1.1.0 +nbconvert==5.6.1 +nbformat==5.0.8 +networkx==2.5 +notebook==5.7.10 +numpy==1.19.4 +orderedmultidict==1.0.1 +packaging==20.4 +palettable==3.3.0 +pandas==1.1.4 +pandocfilters==1.4.3 +paramiko==2.7.2 +parso==0.7.1 +pexpect==4.8.0 +pg8000==1.16.6 +pgsu==0.1.0 +pgtest==1.3.2 +pickleshare==0.7.5 +pika==1.1.0 +Pillow==8.0.1 +plotly==4.12.0 +pluggy==0.13.1 +plumpy==0.15.1 +prometheus-client==0.8.0 +prompt-toolkit==3.0.8 +psutil==5.7.3 +psycopg2-binary==2.8.6 +ptyprocess==0.6.0 +py==1.9.0 +py-cpuinfo==7.0.0 +PyCifRW==4.4.1 +pycparser==2.20 +pydata-sphinx-theme==0.4.1 +Pygments==2.7.2 +pymatgen==2020.10.20 +PyMySQL==0.9.3 +PyNaCl==1.4.0 +pyparsing==2.4.7 +pyrsistent==0.17.3 +pytest==6.1.2 +pytest-benchmark==3.2.3 +pytest-cov==2.10.1 +pytest-rerunfailures==9.1.1 +pytest-timeout==1.4.2 +python-dateutil==2.8.1 +python-editor==1.0.4 +python-memcached==1.59 +pytz==2019.3 +PyYAML==5.1.2 +pyzmq==19.0.2 +qtconsole==4.7.7 +QtPy==1.9.0 +reentry==1.3.1 +requests==2.24.0 +retrying==1.3.3 +ruamel.yaml==0.16.12 +scipy==1.5.3 +scramp==1.2.0 +seekpath==1.9.7 +Send2Trash==1.5.0 +shellingham==1.3.2 +shortuuid==1.0.1 +simplejson==3.17.2 +six==1.15.0 +snowballstemmer==2.0.0 +spglib==1.16.0 +Sphinx==3.3.0 +sphinx-copybutton==0.3.1 +sphinx-notfound-page==0.5 +sphinx-panels==0.5.2 +sphinxcontrib-applehelp==1.0.2 +sphinxcontrib-details-directive==0.1.0 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==1.0.3 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.4 +sphinxext-rediraffe==0.2.4 +SQLAlchemy==1.3.20 +sqlalchemy-diff==0.1.3 +SQLAlchemy-Utils==0.34.2 +sqlparse==0.4.1 +sympy==1.6.2 +tabulate==0.8.7 +terminado==0.9.1 +testpath==0.4.4 +toml==0.10.2 +topika==0.2.2 +tornado==4.5.3 +tqdm==4.51.0 +traitlets==5.0.5 +tzlocal==2.1 +uncertainties==3.1.4 +upf-to-json==0.9.2 +urllib3==1.25.11 +wcwidth==0.2.5 +webencodings==0.5.1 +Werkzeug==1.0.1 +widgetsnbextension==3.5.1 +wrapt==1.11.2 diff --git a/setup.json b/setup.json index 1b96d61ec1..3cb4dc0797 100644 --- a/setup.json +++ b/setup.json @@ -17,6 +17,7 @@ "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", "Topic :: Scientific/Engineering" ], "install_requires": [