diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a9e527dcfa90b550df13e80c9b07fd8eaf6beaaf..ed3f38eb1927c925a783c5b3860059a8f7cc642a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -79,7 +79,7 @@ python linting: script: - pycodestyle --config=pycodestyle.ini nomad tests - pylint --rcfile=.pylintrc nomad tests - - mypy --ignore-missing-imports --follow-imports=silent --no-strict-optional nomad tests + - mypy nomad tests rules: - if: $CI_COMMIT_TAG when: never @@ -102,7 +102,7 @@ gui linting: check python dependencies: stage: test - image: python:3.7 + image: python:3.9 variables: GIT_SUBMODULE_STRATEGY: recursive GIT_SUBMODULE_UPDATE_FLAGS: --jobs 4 diff --git a/Dockerfile b/Dockerfile index 1eb4278a2f39fdb123cb8b8606b306c84c5de209..f72d071cb1aaac71f3948cd2395639239f42e5b3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -25,7 +25,7 @@ FROM node:16.15 AS base_node -FROM python:3.7-slim AS base_python +FROM python:3.9-slim AS base_python # ================================================================================ # Built the GUI in the gui build image @@ -179,9 +179,9 @@ COPY --from=dev_python /app/dist/nomad-lab-*.tar.gz . RUN pip install nomad-lab-*.tar.gz # Reduce the size of the packages -RUN find /usr/local/lib/python3.7/ -type d -name 'tests' ! -path '*/networkx/*' -exec rm -r '{}' + \ - && find /usr/local/lib/python3.7/ -type d -name 'test' -exec rm -r '{}' + \ - && find /usr/local/lib/python3.7/site-packages/ -name '*.so' ! -path '*/h5py/*' -print -exec sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \; +RUN find /usr/local/lib/python3.9/ -type d -name 'tests' ! -path '*/networkx/*' -exec rm -r '{}' + \ + && find /usr/local/lib/python3.9/ -type d -name 'test' -exec rm -r '{}' + \ + && find /usr/local/lib/python3.9/site-packages/ -name '*.so' ! -path '*/h5py/*' -print -exec sh -c 'file "{}" | grep -q "not stripped" && strip -s "{}"' \; # ================================================================================ @@ -212,14 +212,14 @@ COPY --chown=nomad:1000 nomad/jupyterhub_config.py ./nomad/jupyterhub_config.py COPY --chown=nomad:1000 dependencies/nomad-remote-tools-hub/tools.json ./dependencies/nomad-remote-tools-hub/tools.json COPY --chown=nomad:1000 --from=dev_python /app/examples/data/uploads /app/examples/data/uploads -COPY --chown=nomad:1000 --from=builder /usr/local/lib/python3.7/site-packages /usr/local/lib/python3.7/site-packages +COPY --chown=nomad:1000 --from=builder /usr/local/lib/python3.9/site-packages /usr/local/lib/python3.9/site-packages COPY --chown=nomad:1000 --from=builder /usr/local/share/jupyterhub /usr/local/share/jupyterhub COPY --chown=nomad:1000 --from=builder /usr/local/bin/nomad /usr/local/bin/nomad RUN useradd -ms /bin/bash nomad \ && mkdir -p /app/.volumes/fs \ && chown -R nomad:1000 /app \ - && chown -R nomad:1000 /usr/local/lib/python3.7/site-packages/nomad + && chown -R nomad:1000 /usr/local/lib/python3.9/site-packages/nomad USER nomad diff --git a/README.md b/README.md index 3c26ab4102816f4239f905de1268f1bf93fa4ad1..f928d8f72327e6334b5275847b97a3a6fa5f3b62 100644 --- a/README.md +++ b/README.md @@ -51,6 +51,9 @@ Omitted versions are plain bugfix releases with only minor changes and fixes. Th file `CHANGELOG.md` might contain more detailed change information for the latest versions. +### v1.1.8 +- use Python 3.9 + ### v1.1.7 - refactored NORTH configuration and k8s deployment - categorized build-in ELN schemas diff --git a/docs/develop/setup.md b/docs/develop/setup.md index adf44c943c1d76b391b192a99a180c57b1a647d6..32353ff560886cc4a380b3ba3b9f6d020f725f43 100644 --- a/docs/develop/setup.md +++ b/docs/develop/setup.md @@ -59,31 +59,25 @@ git submodule update --init You should work in a Python virtual environment. #### pyenv -The nomad code currently targets python 3.7. If your host machine has an older version installed, -you can use [pyenv](https://github.com/pyenv/pyenv) to use python 3.7 in parallel to your -system's python. Never the less, we have good experience with 3.8 and 3.9 users as well -and everything might work with newer versions as well. +The nomad code currently targets python 3.9. If your host machine has an older version installed, +you can use [pyenv](https://github.com/pyenv/pyenv) to use python 3.9 in parallel to your +system's python. #### virtualenv -We strongly recommend to use *virtualenv* to create a virtual environment. It allows you +Create a virtual environment. It allows you to keep nomad and its dependencies separate from your system's python installation. -Make sure that the virtual environment is based on Python 3. +Make sure that the virtual environment is based on Python 3.8 or higher (ideally Python 3.9). Use the built-in `venv` or (virtualenv)[https://pypi.org/project/virtualenv/] alternatively. -To install *virtualenv*, create an environment, and activate the environment, use: ``` -pip install virtualenv -virtualenv -p `which python3` .pyenv +python3 -m venv .pyenv source .pyenv/bin/activate ``` -If you use *pyenv* (or similar solutions) make sure that the `-p` arguments evaluates -to the `python` binary with the desired version. - #### conda If you are a conda user, there is an equivalent, but you have to install pip and the right python version while creating the environment. ```sh -conda create --name nomad_env pip python=3.7 +conda create --name nomad_env pip python=3.9 conda activate nomad_env ``` diff --git a/docs/oasis.md b/docs/oasis.md index f92e8b0b8f0e1c2bb0aa64742cd992a6e623325d..1f075e07c90e64361bc542170e5f357f596bda11 100644 --- a/docs/oasis.md +++ b/docs/oasis.md @@ -410,9 +410,9 @@ able to run NOMAD in user space. You will need: -- preferably a linux computer, which Python 3.7, preferable a Python virtual environment -- elasticsearch 6.x, running without users and authentication, preferable on the default settings -- mongodb 4.x, running without users and authentication, preferable on the default settings +- preferably a linux computer, which Python 3.9, preferable a Python virtual environment +- elasticsearch 7.x, running without users and authentication, preferable on the default settings +- mongodb 5.x, running without users and authentication, preferable on the default settings - rabbitmq 3.x, running without users and authentication, preferable on the default settings - nginx - an empty directory to work in diff --git a/gui/src/parserMetadata.json b/gui/src/parserMetadata.json index cf3cd1184e9baea79e2d69a56f416b7a2c529af3..251a03b5f5523560f3db963f861c0506bde0fcb5 100644 --- a/gui/src/parserMetadata.json +++ b/gui/src/parserMetadata.json @@ -484,7 +484,7 @@ "codeUrl": "https://www.nexusformat.org/", "parserDirName": "dependencies/parsers/nexus/", "parserGitUrl": "https://github.com/nomad-coe/nomad-parser-nexus.git", - "preamble": "This is not a real parser, but an example template on how to write one. You can fork this repository to create actual parsers.\n\n## Get started\n\nYou should create a virtual environment. This is optional, but highly recommended as\nthe required nomad-lab pypi package requires many dependencies with specific versions\nthat might conflict with other libraries that you have installed. This was tested\nwith Python 3.7.\n\n```\npip install virtualenv\nvirtualenv -p `which python3` .pyenv\nsource .pyenv/bin/activate\n```\n\nSimply install our pypi package with pip:\n```\npip install --upgrade pip\npip install nomad-lab\n```\n\nClone this project (or fork and then clone the fork). Go into the cloned directly and\ndirectly run the parser from there:\n```\ngit clone https://github.com/nomad-coe/nomad-parser-nexus.git parser-nexus\ncd parser-nexus\npython -m nexusutils tests/data/nexus.out\n```\n\nThere are also a basic test framework written in [pytest](https://docs.pytest.org/en/stable/).\nInstall the remaining dev dependencies and run the tests with:\n```\npip install -r requirements.txt\npytest -sv tests\n```\n\n## Next steps\n\nOur documentation provides several resources that might be interesting:\n- [How to write a parser](https://nomad-lab.eu/prod/rae/docs/parser.html). Provides\n a more detailed tutorial on how to write a parser.\n- [Introduction to the NOMAD Metainfo](https://nomad-lab.eu/prod/rae/docs/metainfo.html).\n This explains how NOMAD data schema and can be extended and used within your parser.\n\nTo get you parser included in NOMAD or ask further questions, you can:\n- Use our forums at [matsci.org](https://matsci.org/c/nomad/32)\n- Open an issue on the [nexus-parser GitHub project](https://github.com/nomad-coe/nomad-parser-nexus/issues)\n- Write to [support@nomad-lab.eu](mailto:support@nomad-lab.eu)\n\n**Note!** The rest of this README.md is the usual text that applies to all NOMAD parsers.\n", + "preamble": "This is not a real parser, but an example template on how to write one. You can fork this repository to create actual parsers.\n\n## Get started\n\nYou should create a virtual environment. This is optional, but highly recommended as\nthe required nomad-lab pypi package requires many dependencies with specific versions\nthat might conflict with other libraries that you have installed. This was tested\nwith Python 3.9.\n\n```\npip install virtualenv\nvirtualenv -p `which python3` .pyenv\nsource .pyenv/bin/activate\n```\n\nSimply install our pypi package with pip:\n```\npip install --upgrade pip\npip install nomad-lab\n```\n\nClone this project (or fork and then clone the fork). Go into the cloned directly and\ndirectly run the parser from there:\n```\ngit clone https://github.com/nomad-coe/nomad-parser-nexus.git parser-nexus\ncd parser-nexus\npython -m nexusutils tests/data/nexus.out\n```\n\nThere are also a basic test framework written in [pytest](https://docs.pytest.org/en/stable/).\nInstall the remaining dev dependencies and run the tests with:\n```\npip install -r requirements.txt\npytest -sv tests\n```\n\n## Next steps\n\nOur documentation provides several resources that might be interesting:\n- [How to write a parser](https://nomad-lab.eu/prod/rae/docs/parser.html). Provides\n a more detailed tutorial on how to write a parser.\n- [Introduction to the NOMAD Metainfo](https://nomad-lab.eu/prod/rae/docs/metainfo.html).\n This explains how NOMAD data schema and can be extended and used within your parser.\n\nTo get you parser included in NOMAD or ask further questions, you can:\n- Use our forums at [matsci.org](https://matsci.org/c/nomad/32)\n- Open an issue on the [nexus-parser GitHub project](https://github.com/nomad-coe/nomad-parser-nexus/issues)\n- Write to [support@nomad-lab.eu](mailto:support@nomad-lab.eu)\n\n**Note!** The rest of this README.md is the usual text that applies to all NOMAD parsers.\n", "status": "production", "tableOfFiles": "|Input Filename| Description|\n|--- | --- |\n|`nexus.out` | **Mainfile** in NEXUS specific plain-text |\n" }, diff --git a/mypy.ini b/mypy.ini new file mode 100644 index 0000000000000000000000000000000000000000..a922f13471d53daa927e934f4dd823922f795f95 --- /dev/null +++ b/mypy.ini @@ -0,0 +1,6 @@ +[mypy] +strict = false +ignore_missing_imports = true +follow_imports = silent +no_strict_optional = true +disable_error_code = import, annotation-unchecked diff --git a/nomad/app/v1/routers/uploads.py b/nomad/app/v1/routers/uploads.py index e6d9a20ae76bb3377d447b990858bc9014c81d3d..0dd47de1bae14687a7b25a05b4e24d96aa4dea8c 100644 --- a/nomad/app/v1/routers/uploads.py +++ b/nomad/app/v1/routers/uploads.py @@ -1677,7 +1677,7 @@ async def get_upload_bundle( raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST, detail=strip(''' Could not export due to error: ''' + str(e))) - return StreamingResponse(stream, media_type='application/zip') + return StreamingResponse(iter(stream), media_type='application/zip') @router.post( diff --git a/nomad/atomutils.py b/nomad/atomutils.py index 49097208c5dfc8d691751e07a74060a11c437793..40f84b57605357bb1d59376e0668e0c091ddbaf7 100644 --- a/nomad/atomutils.py +++ b/nomad/atomutils.py @@ -1516,7 +1516,7 @@ def __parse_jumps(universe: MDAnalysis.Universe, selection: MDAnalysis.AtomGroup __ = universe.trajectory[0] prev = np.array(selection.positions) box = universe.trajectory[0].dimensions[:3] - sparse_data = namedtuple('SparseData', ['data', 'row', 'col']) + sparse_data = namedtuple('SparseData', ['data', 'row', 'col']) # type: ignore[name-match] jump_data = ( sparse_data(data=array('b'), row=array('l'), col=array('l')), sparse_data(data=array('b'), row=array('l'), col=array('l')), diff --git a/nomad/cli/dev.py b/nomad/cli/dev.py index 24634e7c1e13f1eb446f2c5285801cc7a10c3c5f..2bec90fa4dc0ec92594a808f652bbe9d8923ba4d 100644 --- a/nomad/cli/dev.py +++ b/nomad/cli/dev.py @@ -46,7 +46,7 @@ def qa(skip_tests: bool, exitfirst: bool): click.echo('Run linter ...') ret_code += os.system('python -m pylint --rcfile=.pylintrc nomad tests') click.echo('Run static type checks ...') - ret_code += os.system('python -m mypy --ignore-missing-imports --follow-imports=silent --no-strict-optional nomad tests') + ret_code += os.system('python -m mypy nomad tests') sys.exit(ret_code) diff --git a/nomad/client/processing.py b/nomad/client/processing.py index 255803bda3280a75d783b0680daa013268cb9164..26aa0514ce926238f9b686b094c096468c34d22e 100644 --- a/nomad/client/processing.py +++ b/nomad/client/processing.py @@ -133,9 +133,14 @@ class LocalEntryProcessing: response = self.__handle_response( api.get(f'entries/{self.entry_id}/raw', auth=auth)) + iter_content = getattr(response, 'iter_content', None) with open(self.local_path, 'wb') as f: - for chunk in response.iter_content(chunk_size=io.DEFAULT_BUFFER_SIZE): - f.write(chunk) + if iter_content: + for chunk in iter_content(chunk_size=io.DEFAULT_BUFFER_SIZE): + f.write(chunk) + else: + # Fallback for clients that don't support iterating the content + f.write(response.content) else: print('Entry already downloaded.') diff --git a/nomad/config/models.py b/nomad/config/models.py index 60d521569356ab18d40383502428beefd199eb00..cb80b52db4b76b469dc73cc3c511859c12b3dab8 100644 --- a/nomad/config/models.py +++ b/nomad/config/models.py @@ -262,16 +262,15 @@ class NORTH(NomadSettings): if not isinstance(v, str): return v - # interpret as file + # interpret v as file path path = v if not os.path.exists(path): + # try to interprete path as relative to project root root_path = os.path.join(os.path.dirname(__file__), '../..') path = os.path.join(root_path, v) with open(path, 'rt') as f: - v = json.load(f) - - return v + return json.load(f) class RabbitMQ(NomadSettings): diff --git a/nomad/metainfo/util.py b/nomad/metainfo/util.py index 237bb758f38b614a6e3fcb41a86ffd8d7c048cb9..1d441e769a91c08eca0092797590e9ff78caf5b5 100644 --- a/nomad/metainfo/util.py +++ b/nomad/metainfo/util.py @@ -744,9 +744,9 @@ def validate_shape(section, quantity_def, value: Any) -> bool: if type(value) == np.ndarray: value_shape = value.shape elif isinstance(value, list) and not isinstance(value, MEnum): - value_shape = [len(value)] + value_shape = (len(value),) else: - value_shape = [] + value_shape = () if len(value_shape) != len(quantity_shape): return False diff --git a/nomad/parsing/metadata.yaml b/nomad/parsing/metadata.yaml index 6d941c76c422599f11dd90b7668b3b49510c5dce..437fb77566e5e83f64ea2a0c5e2ffc372214297a 100644 --- a/nomad/parsing/metadata.yaml +++ b/nomad/parsing/metadata.yaml @@ -14,7 +14,7 @@ preamble: | You should create a virtual environment. This is optional, but highly recommended as the required nomad-lab pypi package requires many dependencies with specific versions that might conflict with other libraries that you have installed. This was tested - with Python 3.7. + with Python 3.9. ``` pip install virtualenv diff --git a/pyproject.toml b/pyproject.toml index c39849ebe8fffa1671fcb95081829b358a38f23e..7a5d8163546262c985ca0e9c8a2e7e04e5985ce1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ authors = [ ] dynamic = ["version"] license = { file = "LICENSE" } -requires-python = ">=3.6" +requires-python = ">=3.8" dependencies = [ 'nptyping==1.4.4', 'cachetools==4.2.4', @@ -19,13 +19,13 @@ dependencies = [ 'Pint==0.17', 'orjson==3.6.0', 'click>=7.1.2', - 'requests==2.27.1', + 'requests==2.28.2', 'pytz==2021.1', 'aniso8601==7.0.0', 'ase==3.19.0', 'python-keycloak==0.26.1', 'elasticsearch-dsl==7.4.0', - 'pydantic==1.9.1', + 'pydantic==1.10.5', 'jmespath==0.10.0', 'h5grove>=1.0.0', 'httpx==0.22.0', @@ -54,7 +54,7 @@ parsing = [ 'mdanalysis==2.1.0', 'xarray', 'phonopy==2.11.0', - 'pymatgen==2022.0.17', + 'pymatgen==2023.2.28', 'asr==0.4.1', 'bitarray==2.3.5', 'xrdtools==0.1.1', @@ -94,7 +94,7 @@ infrastructure = [ 'recommonmark==0.7.1', 'jinja2==3.0.3', 'rdflib==5.0.0', - 'fastapi==0.65.3', + 'fastapi==0.92.0', 'uvicorn[standard]', 'python-multipart==0.0.5', 'jupyterhub==1.4.2', @@ -102,7 +102,7 @@ infrastructure = [ 'oauthenticator==14.2.0', 'validators==0.18.2', 'aiofiles==0.8.0', - 'joblib==1.1.0', + 'joblib>=1.1.0', 'importlib-metadata~=4.13.0' # Needed because of https://github.com/python/importlib_metadata/issues/411 ] dev = [ @@ -110,7 +110,7 @@ dev = [ 'pip-tools', 'markupsafe', 'gitpython==3.1.24', - 'mypy==0.730', + 'mypy>=1.0.1', 'typed-ast>=1.4.2', 'astroid>=2.5.1', 'pylint==2.13.9', @@ -150,4 +150,12 @@ where = [ exclude = ["tests*"] namespaces = false +[tool.mypy] +strict = false +ignore_missing_imports = true +follow_imports = "silent" +no_strict_optional = true +disable_error_code = "import, annotation-unchecked" + + [tool.setuptools_scm] diff --git a/requirements-dev.txt b/requirements-dev.txt index 3c1c5b852691ea5c09a4619c24fe7183417c10de..8fd3dd80d7911527ebe00f297fc202f118964f80 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with python 3.7 +# This file is autogenerated by pip-compile with python 3.9 # To update, run: # # pip-compile --annotation-style=line --extra=dev --extra=infrastructure --extra=parsing --output-file=requirements-dev.txt dependencies/matid/pyproject.toml dependencies/nomad-dos-fingerprints/pyproject.toml dependencies/parsers/atomistic/pyproject.toml dependencies/parsers/database/pyproject.toml dependencies/parsers/eelsdb/pyproject.toml dependencies/parsers/electronic/pyproject.toml dependencies/parsers/nexus/pyproject.toml dependencies/parsers/workflow/pyproject.toml pyproject.toml requirements.txt @@ -9,8 +9,8 @@ alabaster==0.7.12 # via -r requirements.txt, sphinx alembic==1.9.1 # via -r requirements.txt, jupyterhub amqp==2.6.1 # via -r requirements.txt, kombu aniso8601==7.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) -anyio==3.6.2 # via -r requirements.txt, httpcore, jupyter-server, watchfiles -appnope==0.1.3 # via -r requirements.txt +anyio==3.6.2 # via -r requirements.txt, httpcore, jupyter-server, starlette, watchfiles +appnope==0.1.3 # via -r requirements.txt, ipykernel, ipython argon2-cffi==21.3.0 # via -r requirements.txt, jupyter-server argon2-cffi-bindings==21.2.0 # via -r requirements.txt, argon2-cffi arrow==1.2.3 # via -r requirements.txt, isoduration @@ -37,7 +37,6 @@ bitarray==2.3.5 # via -r requirements.txt, nomad-dos-fingerprints (dep bleach==5.0.1 # via -r requirements.txt, nbconvert, readme-renderer bs4==0.0.1 # via -r requirements.txt, nomad-lab (pyproject.toml) build==0.9.0 # via nomad-lab (pyproject.toml), pip-tools -cached-property==1.5.2 # via -r requirements.txt, fqdn, h5py cachetools==4.2.4 # via -r requirements.txt, nomad-lab (pyproject.toml) celery[redis]==4.4.7 # via -r requirements.txt, nomad-lab (pyproject.toml) certifi==2022.12.7 # via -r requirements.txt, elasticsearch, httpcore, httpx, requests @@ -50,7 +49,7 @@ cloudpickle==2.2.0 # via -r requirements.txt, dask colorama==0.4.6 # via twine commonmark==0.9.1 # via -r requirements.txt, recommonmark coverage==6.5.0 # via pytest-cov -cryptography==39.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml), pyjwt, pyopenssl, rfc3161ng, secretstorage +cryptography==39.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml), pyjwt, pyopenssl, rfc3161ng cycler==0.11.0 # via -r requirements.txt, matplotlib dask[array]==2022.2.0 # via -r requirements.txt, hyperspy debugpy==1.6.5 # via -r requirements.txt, ipykernel @@ -67,12 +66,13 @@ ecdsa==0.18.0 # via -r requirements.txt, python-jose elasticsearch==7.17.1 # via -r requirements.txt, elasticsearch-dsl, nomad-lab (pyproject.toml) elasticsearch-dsl==7.4.0 # via -r requirements.txt, nomad-lab (pyproject.toml) email-validator==1.3.0 # via -r requirements.txt, optimade +emmet-core==0.48.4 # via -r requirements.txt, mp-api entrypoints==0.4 # via -r requirements.txt, ipyparallel, jupyter-client, jupyterhub, numcodecs escapism==1.0.1 # via -r requirements.txt, dockerspawner essential-generators==1.0 # via nomad-lab (pyproject.toml) et-xmlfile==1.1.0 # via -r requirements.txt, openpyxl executing==0.10.0 # via devtools -fastapi==0.65.3 # via -r requirements.txt, nomad-lab (pyproject.toml), optimade +fastapi==0.92.0 # via -r requirements.txt, nomad-lab (pyproject.toml), optimade fasteners==0.18 # via -r requirements.txt, zarr fastjsonschema==2.16.2 # via -r requirements.txt, nbformat filelock==3.3.1 # via -r requirements.txt, nomad-lab (pyproject.toml) @@ -90,7 +90,7 @@ griddataformats==0.7.0 # via -r requirements.txt, mdanalysis gsd==2.7.0 # via -r requirements.txt, mdanalysis h11==0.12.0 # via -r requirements.txt, httpcore, uvicorn h5grove==1.2.0 # via -r requirements.txt, jupyterlab-h5web, nomad-lab (pyproject.toml) -h5py==3.6.0 # via -r requirements.txt, electronicparsers (dependencies/parsers/electronic/pyproject.toml), h5grove, h5py-wrapper, hyperspy, jupyterlab-h5web, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), phonopy, workflowparsers (dependencies/parsers/workflow/pyproject.toml) +h5py==3.6.0 # via -r requirements.txt, electronicparsers (dependencies/parsers/electronic/pyproject.toml), h5grove, h5py-wrapper, hyperspy, jupyterlab-h5web, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), phonopy, pyscf, workflowparsers (dependencies/parsers/workflow/pyproject.toml) h5py-wrapper==1.1.0 # via -r requirements.txt, hdfdict hdfdict @ git+https://github.com/shabihsherjeel/hdfdict@f48a586 # via -r requirements.txt, nexusutils (dependencies/parsers/nexus/pyproject.toml) hjson==3.0.2 # via -r requirements.txt, nomad-lab (pyproject.toml) @@ -102,8 +102,7 @@ hyperspy==1.7.3 # via -r requirements.txt, nexusutils (dependencies/pa idna==3.4 # via -r requirements.txt, anyio, email-validator, jsonschema, requests, rfc3986 imageio==2.24.0 # via -r requirements.txt, hyperspy, scikit-image imagesize==1.4.1 # via -r requirements.txt, sphinx -importlib-metadata==4.13.0 # via -r requirements.txt, alembic, build, click, flask, hyperspy, jsonschema, keyring, kombu, mako, markdown, mkdocs, nbconvert, nbformat, nomad-lab (pyproject.toml), numba, pep517, pint, pluggy, prettytable, redis, sphinx, sqlalchemy, structlog, twine, xarray -importlib-resources==5.10.2 # via -r requirements.txt, alembic +importlib-metadata==4.13.0 # via -r requirements.txt, flask, hyperspy, keyring, markdown, mkdocs, nbconvert, nomad-lab (pyproject.toml), sphinx, twine inflection==0.5.1 # via -r requirements.txt, nomad-lab (pyproject.toml) ipykernel==6.16.2 # via -r requirements.txt, ipyparallel ipyparallel==8.4.1 # via -r requirements.txt, hyperspy @@ -114,7 +113,6 @@ isort==4.3.21 # via pylint itsdangerous==2.0.1 # via -r requirements.txt, flask, nomad-lab (pyproject.toml) jaraco-classes==3.2.3 # via keyring jedi==0.18.2 # via -r requirements.txt, ipython -jeepney==0.8.0 # via keyring, secretstorage jinja2==3.0.3 # via -r requirements.txt, flask, hyperspy, jupyter-server, jupyterhub, mkdocs, mkdocs-macros-plugin, mkdocs-material, nbconvert, nomad-lab (pyproject.toml), sphinx jmespath==0.10.0 # via -r requirements.txt, nomad-lab (pyproject.toml) joblib==1.1.0 # via -r requirements.txt, mdanalysis, nomad-lab (pyproject.toml), scikit-learn @@ -131,6 +129,7 @@ keyring==23.11.0 # via twine kiwisolver==1.4.4 # via -r requirements.txt, matplotlib kombu==4.6.11 # via -r requirements.txt, celery lark-parser==0.12.0 # via -r requirements.txt, optimade +latexcodec==2.0.1 # via -r requirements.txt, pybtex lazy-object-proxy==1.9.0 # via astroid llvmlite==0.39.1 # via -r requirements.txt, numba locket==1.0.0 # via -r requirements.txt, partd @@ -154,12 +153,13 @@ mkdocs-material-extensions==1.0.3 # via mkdocs-material, nomad-lab (pyproject.t mmtf-python==1.1.3 # via -r requirements.txt, mdanalysis mongoengine==0.25.0 # via -r requirements.txt, nomad-lab (pyproject.toml) mongomock==4.1.2 # via -r requirements.txt, optimade -monty==2022.9.9 # via -r requirements.txt, pymatgen -more-itertools==9.0.0 # via jaraco-classes, pytest +monty==2022.9.9 # via -r requirements.txt, emmet-core, mp-api, pymatgen +more-itertools==9.0.0 # via pytest +mp-api==0.30.10 # via -r requirements.txt, pymatgen mpmath==1.2.1 # via -r requirements.txt, sympy mrcfile==1.4.3 # via -r requirements.txt, griddataformats -msgpack==1.0.4 # via -r requirements.txt, mmtf-python, nomad-lab (pyproject.toml) -mypy==0.730 # via nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml) +msgpack==1.0.4 # via -r requirements.txt, mmtf-python, mp-api, nomad-lab (pyproject.toml) +mypy==1.0.1 # via nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml) mypy-extensions==0.4.3 # via mypy names==0.3.0 # via nomad-lab (pyproject.toml) natsort==8.2.0 # via -r requirements.txt, hyperspy @@ -173,7 +173,7 @@ nptyping==1.4.4 # via -r requirements.txt, nomad-lab (pyproject.toml) numba==0.56.4 # via -r requirements.txt, hyperspy, sparse numcodecs==0.10.2 # via -r requirements.txt, zarr numexpr==2.8.4 # via -r requirements.txt, hyperspy -numpy==1.21.6 # via -r requirements.txt, ase, biopython, cftime, dask, griddataformats, gsd, h5grove, h5py, hyperspy, imageio, matid (dependencies/matid/pyproject.toml), matplotlib, mdanalysis, mdtraj, mrcfile, netcdf4, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nptyping, numba, numcodecs, numexpr, pandas, phonopy, pymatgen, pywavelets, scikit-image, scikit-learn, scipy, sparse, spglib, tifffile, xarray, xrdtools, zarr +numpy==1.21.6 # via -r requirements.txt, ase, biopython, cftime, dask, griddataformats, gsd, h5grove, h5py, hyperspy, imageio, matid (dependencies/matid/pyproject.toml), matplotlib, mdanalysis, mdtraj, mrcfile, netcdf4, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nptyping, numba, numcodecs, numexpr, pandas, phonopy, pymatgen, pyscf, pywavelets, scikit-image, scikit-learn, scipy, sparse, spglib, tifffile, xarray, xrdtools, zarr oauthenticator==14.2.0 # via -r requirements.txt, nomad-lab (pyproject.toml) oauthlib==3.2.2 # via -r requirements.txt, jupyterhub openpyxl==3.0.9 # via -r requirements.txt, nomad-lab (pyproject.toml) @@ -208,20 +208,22 @@ ptyprocess==0.7.0 # via -r requirements.txt, pexpect, terminado py==1.11.0 # via pytest pyasn1==0.4.8 # via -r requirements.txt, pyasn1-modules, python-jose, rfc3161ng, rsa pyasn1-modules==0.2.8 # via -r requirements.txt, rfc3161ng +pybtex==0.24.0 # via -r requirements.txt, emmet-core, pymatgen pycodestyle==2.8.0 # via nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml) pycparser==2.21 # via -r requirements.txt, cffi -pydantic==1.9.1 # via -r requirements.txt, fastapi, nomad-lab (pyproject.toml), optimade +pydantic==1.10.5 # via -r requirements.txt, emmet-core, fastapi, nomad-lab (pyproject.toml), optimade pygments==2.14.0 # via -r requirements.txt, ipython, mkdocs-material, nbconvert, readme-renderer, sphinx pyjwt[crypto]==1.7.1 # via -r requirements.txt, nomad-lab (pyproject.toml) pylint==2.13.9 # via nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), pylint-mongoengine, pylint-plugin-utils pylint-mongoengine==0.4.0 # via nomad-lab (pyproject.toml) pylint-plugin-utils==0.7 # via nomad-lab (pyproject.toml), pylint-mongoengine -pymatgen==2022.0.17 # via -r requirements.txt, asr, nomad-lab (pyproject.toml) +pymatgen==2023.2.28 # via -r requirements.txt, asr, emmet-core, mp-api, nomad-lab (pyproject.toml) pymdown-extensions==9.7 # via mkdocs-material pymongo==3.12.1 # via -r requirements.txt, mongoengine, nomad-lab (pyproject.toml), optimade pyopenssl==23.0.0 # via -r requirements.txt, certipy pyparsing==3.0.9 # via -r requirements.txt, matplotlib, mdtraj, rdflib pyrsistent==0.19.3 # via -r requirements.txt, jsonschema +pyscf==2.0.1 ; sys_platform == "darwin" # via -r requirements.txt, electronicparsers (dependencies/parsers/electronic/pyproject.toml) pytest==3.10.0 # via nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), pytest-cov, pytest-timeout pytest-cov==2.7.1 # via nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml) pytest-runner==6.0.0 # via -r requirements.txt, h5py-wrapper @@ -237,14 +239,14 @@ python-magic==0.4.24 # via -r requirements.txt, nomad-lab (pyproject.toml) python-multipart==0.0.5 # via -r requirements.txt, nomad-lab (pyproject.toml) pytz==2021.1 # via -r requirements.txt, babel, celery, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), pandas pywavelets==1.3.0 # via -r requirements.txt, scikit-image -pyyaml==6.0 # via -r requirements.txt, dask, hdfdict, hyperspy, mkdocs, mkdocs-macros-plugin, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), phonopy, pyyaml-env-tag, uvicorn +pyyaml==6.0 # via -r requirements.txt, dask, hdfdict, hyperspy, mkdocs, mkdocs-macros-plugin, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), phonopy, pybtex, pyyaml-env-tag, uvicorn pyyaml-env-tag==0.1 # via mkdocs pyzmq==25.0.0 # via -r requirements.txt, ipykernel, ipyparallel, jupyter-client, jupyter-server rdflib==5.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) readme-renderer==37.3 # via twine recommonmark==0.7.1 # via -r requirements.txt, nomad-lab (pyproject.toml) redis==4.4.2 # via -r requirements.txt, celery -requests==2.27.1 # via -r requirements.txt, docker, hyperspy, jupyterhub, nomad-lab (pyproject.toml), optimade, pymatgen, python-gitlab, python-keycloak, requests-toolbelt, rfc3161ng, sphinx, twine +requests==2.28.2 # via -r requirements.txt, docker, hyperspy, jupyterhub, mp-api, nomad-lab (pyproject.toml), optimade, pymatgen, python-gitlab, python-keycloak, requests-toolbelt, rfc3161ng, sphinx, twine requests-toolbelt==0.10.1 # via python-gitlab, twine rfc3161ng==2.1.3 # via -r requirements.txt, nomad-lab (pyproject.toml) rfc3339-validator==0.1.4 # via -r requirements.txt, jsonschema @@ -257,17 +259,16 @@ ruamel-yaml-clib==0.2.7 # via -r requirements.txt, ruamel-yaml runstats==2.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) scikit-image==0.19.3 # via -r requirements.txt, hyperspy scikit-learn==1.0.2 # via -r requirements.txt, matid (dependencies/matid/pyproject.toml) -scipy==1.7.1 # via -r requirements.txt, ase, atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), griddataformats, hyperspy, matid (dependencies/matid/pyproject.toml), mdanalysis, mdtraj, nomad-lab (pyproject.toml), pymatgen, scikit-image, scikit-learn, sparse -secretstorage==3.3.3 # via keyring +scipy==1.7.1 # via -r requirements.txt, ase, atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), griddataformats, hyperspy, matid (dependencies/matid/pyproject.toml), mdanalysis, mdtraj, nomad-lab (pyproject.toml), pymatgen, pyscf, scikit-image, scikit-learn, sparse send2trash==1.8.0 # via -r requirements.txt, jupyter-server sentinels==1.0.0 # via -r requirements.txt, mongomock -six==1.16.0 # via -r requirements.txt, asttokens, astunparse, basicauth, bcrypt, bleach, ecdsa, elasticsearch-dsl, griddataformats, html5lib, isodate, pytest, python-dateutil, python-multipart, rdflib, rfc3339-validator, validators +six==1.16.0 # via -r requirements.txt, asttokens, astunparse, basicauth, bcrypt, bleach, ecdsa, elasticsearch-dsl, griddataformats, html5lib, isodate, latexcodec, pybtex, pytest, python-dateutil, python-multipart, rdflib, rfc3339-validator, validators smmap==5.0.0 # via -r requirements.txt, gitdb sniffio==1.3.0 # via -r requirements.txt, anyio, httpcore, httpx snowballstemmer==2.2.0 # via -r requirements.txt, sphinx soupsieve==2.3.2.post1 # via -r requirements.txt, beautifulsoup4 sparse==0.13.0 # via -r requirements.txt, hyperspy -spglib==2.0.2 # via -r requirements.txt, asr, matid (dependencies/matid/pyproject.toml), phonopy, pymatgen +spglib==2.0.2 # via -r requirements.txt, asr, emmet-core, matid (dependencies/matid/pyproject.toml), phonopy, pymatgen sphinx==5.3.0 # via -r requirements.txt, recommonmark sphinxcontrib-applehelp==1.0.2 # via -r requirements.txt, sphinx sphinxcontrib-devhelp==1.0.2 # via -r requirements.txt, sphinx @@ -276,7 +277,7 @@ sphinxcontrib-jsmath==1.0.1 # via -r requirements.txt, sphinx sphinxcontrib-qthelp==1.0.3 # via -r requirements.txt, sphinx sphinxcontrib-serializinghtml==1.1.5 # via -r requirements.txt, sphinx sqlalchemy==1.4.46 # via -r requirements.txt, alembic, jupyterhub -starlette==0.14.2 # via -r requirements.txt, fastapi +starlette==0.25.0 # via -r requirements.txt, fastapi structlog==22.3.0 # via -r requirements.txt, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml) sympy==1.10.1 # via -r requirements.txt, hyperspy, pymatgen tabulate==0.8.9 # via -r requirements.txt, nomad-lab (pyproject.toml), pymatgen @@ -286,18 +287,18 @@ terminado==0.17.1 # via -r requirements.txt, jupyter-server threadpoolctl==3.1.0 # via -r requirements.txt, mdanalysis, scikit-learn tifffile==2021.11.2 # via -r requirements.txt, h5grove, hyperspy, scikit-image tinycss2==1.2.1 # via -r requirements.txt, nbconvert -tomli==2.0.1 # via build, pep517, pylint +tomli==2.0.1 # via build, mypy, pep517, pylint toolz==0.12.0 # via -r requirements.txt, dask, hyperspy, partd toposort==1.9 # via -r requirements.txt, nomad-lab (pyproject.toml) tornado==6.2 # via -r requirements.txt, ipykernel, ipyparallel, jupyter-client, jupyter-server, jupyterhub, terminado -tqdm==4.64.1 # via -r requirements.txt, hyperspy, ipyparallel, mdanalysis, twine +tqdm==4.64.1 # via -r requirements.txt, hyperspy, ipyparallel, mdanalysis, pymatgen, twine traitlets==5.8.1 # via -r requirements.txt, ipykernel, ipyparallel, ipython, jupyter-client, jupyter-core, jupyter-server, jupyter-telemetry, jupyterhub, matplotlib-inline, nbclient, nbconvert, nbformat traits==6.4.1 # via -r requirements.txt, hyperspy twine==3.4.2 # via nomad-lab (pyproject.toml) -typed-ast==1.4.2 # via astroid, mypy, nomad-lab (pyproject.toml) +typed-ast==1.4.2 # via nomad-lab (pyproject.toml) types-pytz==2022.7.0.0 # via nexusutils (dependencies/parsers/nexus/pyproject.toml) types-pyyaml==6.0.12.1 # via nexusutils (dependencies/parsers/nexus/pyproject.toml) -typing-extensions==4.4.0 # via -r requirements.txt, anyio, argon2-cffi, arrow, asgiref, astroid, async-timeout, gitpython, importlib-metadata, kiwisolver, mypy, numcodecs, optimade, platformdirs, pydantic, pylint, pymatgen, redis, structlog, uvicorn, xarray +typing-extensions==4.4.0 # via -r requirements.txt, astroid, emmet-core, gitpython, mp-api, mypy, numcodecs, pydantic, pylint, starlette typish==1.9.3 # via -r requirements.txt, nptyping uncertainties==3.1.7 # via -r requirements.txt, pymatgen unidecode==1.3.2 # via -r requirements.txt, nomad-lab (pyproject.toml) @@ -321,7 +322,7 @@ xarray==0.20.2 # via -r requirements.txt, nexusutils (dependencies/pa xrdtools==0.1.1 # via -r requirements.txt, nomad-lab (pyproject.toml) zarr==2.12.0 # via -r requirements.txt, hyperspy zipfile37==0.1.3 # via -r requirements.txt, nomad-lab (pyproject.toml) -zipp==3.11.0 # via -r requirements.txt, importlib-metadata, importlib-resources, pep517 +zipp==3.11.0 # via -r requirements.txt, importlib-metadata zipstream-new==1.1.5 # via -r requirements.txt, nomad-lab (pyproject.toml) # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements.txt b/requirements.txt index 7ee3b1401f1427d06d60570d4f65785a473b882b..2f8ad131769922cf6b03c893e81dc921d1d74ed5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with python 3.7 +# This file is autogenerated by pip-compile with python 3.9 # To update, run: # # pip-compile --annotation-style=line --extra=infrastructure --extra=parsing --output-file=requirements.txt dependencies/matid/pyproject.toml dependencies/nomad-dos-fingerprints/pyproject.toml dependencies/parsers/atomistic/pyproject.toml dependencies/parsers/database/pyproject.toml dependencies/parsers/eelsdb/pyproject.toml dependencies/parsers/electronic/pyproject.toml dependencies/parsers/nexus/pyproject.toml dependencies/parsers/workflow/pyproject.toml pyproject.toml @@ -9,7 +9,7 @@ alabaster==0.7.12 # via sphinx alembic==1.9.1 # via jupyterhub amqp==2.6.1 # via kombu aniso8601==7.0.0 # via nomad-lab (pyproject.toml) -anyio==3.6.2 # via httpcore, jupyter-server, watchfiles +anyio==3.6.2 # via httpcore, jupyter-server, starlette, watchfiles appnope==0.1.3 # via ipykernel, ipython argon2-cffi==21.3.0 # via jupyter-server argon2-cffi-bindings==21.2.0 # via argon2-cffi @@ -33,7 +33,6 @@ biopython==1.80 # via mdanalysis bitarray==2.3.5 # via nomad-dos-fingerprints (dependencies/nomad-dos-fingerprints/pyproject.toml), nomad-lab (pyproject.toml) bleach==5.0.1 # via nbconvert bs4==0.0.1 # via nomad-lab (pyproject.toml) -cached-property==1.5.2 # via fqdn, h5py cachetools==4.2.4 # via nomad-lab (pyproject.toml) celery[redis]==4.4.7 # via nomad-lab (pyproject.toml) certifi==2022.12.7 # via elasticsearch, httpcore, httpx, requests @@ -60,10 +59,11 @@ ecdsa==0.18.0 # via python-jose elasticsearch==7.17.1 # via elasticsearch-dsl, nomad-lab (pyproject.toml) elasticsearch-dsl==7.4.0 # via nomad-lab (pyproject.toml) email-validator==1.3.0 # via optimade +emmet-core==0.48.4 # via mp-api entrypoints==0.4 # via ipyparallel, jupyter-client, jupyterhub, numcodecs escapism==1.0.1 # via dockerspawner et-xmlfile==1.1.0 # via openpyxl -fastapi==0.65.3 # via nomad-lab (pyproject.toml), optimade +fastapi==0.92.0 # via nomad-lab (pyproject.toml), optimade fasteners==0.18 # via zarr fastjsonschema==2.16.2 # via nbformat filelock==3.3.1 # via nomad-lab (pyproject.toml) @@ -92,8 +92,7 @@ hyperspy==1.7.3 # via nexusutils (dependencies/parsers/nexus/pyproject idna==3.4 # via anyio, email-validator, jsonschema, requests, rfc3986 imageio==2.24.0 # via hyperspy, scikit-image imagesize==1.4.1 # via sphinx -importlib-metadata==4.13.0 # via alembic, click, flask, hyperspy, jsonschema, kombu, mako, nbconvert, nbformat, nomad-lab (pyproject.toml), numba, pint, prettytable, redis, sphinx, sqlalchemy, structlog, xarray -importlib-resources==5.10.2 # via alembic +importlib-metadata==4.13.0 # via flask, hyperspy, nbconvert, nomad-lab (pyproject.toml), sphinx inflection==0.5.1 # via nomad-lab (pyproject.toml) ipykernel==6.16.2 # via ipyparallel ipyparallel==8.4.1 # via hyperspy @@ -117,6 +116,7 @@ jupyterlab-pygments==0.2.2 # via nbconvert kiwisolver==1.4.4 # via matplotlib kombu==4.6.11 # via celery lark-parser==0.12.0 # via optimade +latexcodec==2.0.1 # via pybtex llvmlite==0.39.1 # via numba locket==1.0.0 # via partd lxml==4.7.1 # via atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), electronicparsers (dependencies/parsers/electronic/pyproject.toml), nomad-lab (pyproject.toml), workflowparsers (dependencies/parsers/workflow/pyproject.toml), xrdtools @@ -132,10 +132,11 @@ mistune==2.0.4 # via m2r, nbconvert mmtf-python==1.1.3 # via mdanalysis mongoengine==0.25.0 # via nomad-lab (pyproject.toml) mongomock==4.1.2 # via optimade -monty==2022.9.9 # via pymatgen +monty==2022.9.9 # via emmet-core, mp-api, pymatgen +mp-api==0.30.10 # via pymatgen mpmath==1.2.1 # via sympy mrcfile==1.4.3 # via griddataformats -msgpack==1.0.4 # via mmtf-python, nomad-lab (pyproject.toml) +msgpack==1.0.4 # via mmtf-python, mp-api, nomad-lab (pyproject.toml) natsort==8.2.0 # via hyperspy nbclient==0.7.2 # via nbconvert nbconvert==7.2.7 # via jupyter-server @@ -176,11 +177,12 @@ psutil==5.9.4 # via ipykernel, ipyparallel ptyprocess==0.7.0 # via pexpect, terminado pyasn1==0.4.8 # via pyasn1-modules, python-jose, rfc3161ng, rsa pyasn1-modules==0.2.8 # via rfc3161ng +pybtex==0.24.0 # via emmet-core, pymatgen pycparser==2.21 # via cffi -pydantic==1.9.1 # via fastapi, nomad-lab (pyproject.toml), optimade +pydantic==1.10.5 # via emmet-core, fastapi, nomad-lab (pyproject.toml), optimade pygments==2.14.0 # via ipython, nbconvert, sphinx pyjwt[crypto]==1.7.1 # via nomad-lab (pyproject.toml) -pymatgen==2022.0.17 # via asr, nomad-lab (pyproject.toml) +pymatgen==2023.2.28 # via asr, emmet-core, mp-api, nomad-lab (pyproject.toml) pymongo==3.12.1 # via mongoengine, nomad-lab (pyproject.toml), optimade pyopenssl==23.0.0 # via certipy pyparsing==3.0.9 # via matplotlib, mdtraj, rdflib @@ -197,12 +199,12 @@ python-magic==0.4.24 # via nomad-lab (pyproject.toml) python-multipart==0.0.5 # via nomad-lab (pyproject.toml) pytz==2021.1 # via babel, celery, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), pandas pywavelets==1.3.0 # via scikit-image -pyyaml==6.0 # via dask, hdfdict, hyperspy, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), phonopy, uvicorn +pyyaml==6.0 # via dask, hdfdict, hyperspy, nexusutils (dependencies/parsers/nexus/pyproject.toml), nomad-lab (pyproject.toml), phonopy, pybtex, uvicorn pyzmq==25.0.0 # via ipykernel, ipyparallel, jupyter-client, jupyter-server rdflib==5.0.0 # via nomad-lab (pyproject.toml) recommonmark==0.7.1 # via nomad-lab (pyproject.toml) redis==4.4.2 # via celery -requests==2.27.1 # via docker, hyperspy, jupyterhub, nomad-lab (pyproject.toml), optimade, pymatgen, python-keycloak, rfc3161ng, sphinx +requests==2.28.2 # via docker, hyperspy, jupyterhub, mp-api, nomad-lab (pyproject.toml), optimade, pymatgen, python-keycloak, rfc3161ng, sphinx rfc3161ng==2.1.3 # via nomad-lab (pyproject.toml) rfc3339-validator==0.1.4 # via jsonschema rfc3986[idna2008]==1.5.0 # via httpx @@ -216,13 +218,13 @@ scikit-learn==1.0.2 # via matid (dependencies/matid/pyproject.toml) scipy==1.7.1 # via ase, atomisticparsers (dependencies/parsers/atomistic/pyproject.toml), griddataformats, hyperspy, matid (dependencies/matid/pyproject.toml), mdanalysis, mdtraj, nomad-lab (pyproject.toml), pymatgen, pyscf, scikit-image, scikit-learn, sparse send2trash==1.8.0 # via jupyter-server sentinels==1.0.0 # via mongomock -six==1.16.0 # via astunparse, basicauth, bcrypt, bleach, ecdsa, elasticsearch-dsl, griddataformats, html5lib, isodate, python-dateutil, python-multipart, rdflib, rfc3339-validator, validators +six==1.16.0 # via astunparse, basicauth, bcrypt, bleach, ecdsa, elasticsearch-dsl, griddataformats, html5lib, isodate, latexcodec, pybtex, python-dateutil, python-multipart, rdflib, rfc3339-validator, validators smmap==5.0.0 # via gitdb sniffio==1.3.0 # via anyio, httpcore, httpx snowballstemmer==2.2.0 # via sphinx soupsieve==2.3.2.post1 # via beautifulsoup4 sparse==0.13.0 # via hyperspy -spglib==2.0.2 # via asr, matid (dependencies/matid/pyproject.toml), phonopy, pymatgen +spglib==2.0.2 # via asr, emmet-core, matid (dependencies/matid/pyproject.toml), phonopy, pymatgen sphinx==5.3.0 # via recommonmark sphinxcontrib-applehelp==1.0.2 # via sphinx sphinxcontrib-devhelp==1.0.2 # via sphinx @@ -231,7 +233,7 @@ sphinxcontrib-jsmath==1.0.1 # via sphinx sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx sqlalchemy==1.4.46 # via alembic, jupyterhub -starlette==0.14.2 # via fastapi +starlette==0.25.0 # via fastapi structlog==22.3.0 # via nomad-lab (pyproject.toml) sympy==1.10.1 # via hyperspy, pymatgen tabulate==0.8.9 # via nomad-lab (pyproject.toml), pymatgen @@ -243,10 +245,10 @@ tinycss2==1.2.1 # via nbconvert toolz==0.12.0 # via dask, hyperspy, partd toposort==1.9 # via nomad-lab (pyproject.toml) tornado==6.2 # via ipykernel, ipyparallel, jupyter-client, jupyter-server, jupyterhub, terminado -tqdm==4.64.1 # via hyperspy, ipyparallel, mdanalysis +tqdm==4.64.1 # via hyperspy, ipyparallel, mdanalysis, pymatgen traitlets==5.8.1 # via ipykernel, ipyparallel, ipython, jupyter-client, jupyter-core, jupyter-server, jupyter-telemetry, jupyterhub, matplotlib-inline, nbclient, nbconvert, nbformat traits==6.4.1 # via hyperspy -typing-extensions==4.4.0 # via anyio, argon2-cffi, arrow, asgiref, async-timeout, gitpython, importlib-metadata, kiwisolver, numcodecs, optimade, pydantic, pymatgen, redis, structlog, uvicorn, xarray +typing-extensions==4.4.0 # via emmet-core, gitpython, mp-api, numcodecs, pydantic, starlette typish==1.9.3 # via nptyping uncertainties==3.1.7 # via pymatgen unidecode==1.3.2 # via nomad-lab (pyproject.toml) @@ -269,7 +271,7 @@ xarray==0.20.2 # via nexusutils (dependencies/parsers/nexus/pyproject xrdtools==0.1.1 # via nomad-lab (pyproject.toml) zarr==2.12.0 # via hyperspy zipfile37==0.1.3 # via nomad-lab (pyproject.toml) -zipp==3.11.0 # via importlib-metadata, importlib-resources +zipp==3.11.0 # via importlib-metadata zipstream-new==1.1.5 # via nomad-lab (pyproject.toml) # The following packages are considered to be unsafe in a requirements file: diff --git a/tests/app/v1/routers/test_uploads.py b/tests/app/v1/routers/test_uploads.py index c847c1a47866965d2a01994dd5cf1399211a328c..4e2c04c058f0261a9fb4a25f7848bdf796b867c4 100644 --- a/tests/app/v1/routers/test_uploads.py +++ b/tests/app/v1/routers/test_uploads.py @@ -55,9 +55,12 @@ to assert for certain aspects in the responses. def perform_get(client, base_url, user_auth=None, accept='application/json', **query_args): - headers = {'Accept': accept} + headers = {} + if accept: + headers['Accept'] = accept if user_auth: headers.update(user_auth) + response = client.get(build_url(base_url, query_args), headers=headers) return response