diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 42d999fbe3b6f906bb7993f8df3a0ebcc009a42b..878db6a46da906b2779e815501a9c0be23e4f358 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -203,7 +203,7 @@ check python dependencies: before_script: - scripts/check_elastic.sh - uv pip install -e ".[dev]" - - uv pip install -r default_plugins.txt -c requirements-dev.txt # required until all legacy tests are removed + - uv pip install -r requirements-plugins.txt -c requirements-dev.txt # remove this after moving to distro generate pytest timings: extends: .base_test @@ -314,7 +314,7 @@ check gui artifacts: GIT_SUBMODULE_PATHS: dependencies/* script: - uv pip install ".[dev,parsing,infrastructure]" - - uv pip install -r default_plugins.txt # remove this after moving to distro + - uv pip install -r requirements-plugins.txt -c requirements-dev.txt # remove this after moving to distro - scripts/check_gui_artifacts.sh after_script: - > diff --git a/Dockerfile b/Dockerfile index d5a5deb5e81237b4b377c1f9be7cdafb69da0ff8..9b1b0398bd75f54e42049fb1f7f64f017cc336e0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -196,8 +196,8 @@ RUN pip install nomad-lab-*.tar.gz # Install default plugins. TODO: This can be removed once we have a proper # distribution project. -COPY default_plugins.txt . -RUN uv pip install -r default_plugins.txt -c requirements.txt +COPY requirements-plugins.txt . +RUN uv pip install -r requirements-plugins.txt -c requirements.txt # ================================================================================ diff --git a/default_plugins.txt b/default_plugins.txt index 6710e198a6b4f9d1d90a9208e4ed3f495842cb79..aa8012f975deb976b180e9c6abbe4cffb38168a7 100644 --- a/default_plugins.txt +++ b/default_plugins.txt @@ -3,11 +3,11 @@ git+https://github.com/FAIRmat-NFDI/nomad-porous-materials.git@522f4a3208077f534 git+https://github.com/FAIRmat-NFDI/nomad-aitoolkit.git@b203f8eb28dc4b6771a39d5c5b7ad3d9d8583ac8 nomad-simulations==0.0.1 pynxtools[convert]==0.5.0 -git+https://github.com/nomad-coe/nomad-schema-plugin-run.git@92d120d -git+https://github.com/nomad-coe/nomad-schema-plugin-simulation-workflow.git@c9bd20c -git+https://github.com/nomad-coe/nomad-normalizer-plugin-bandstructure.git@6521a2b -git+https://github.com/nomad-coe/nomad-normalizer-plugin-dos.git@dad7e2b -git+https://github.com/nomad-coe/nomad-normalizer-plugin-soap.git@1b0e60e -git+https://github.com/nomad-coe/nomad-normalizer-plugin-spectra.git@ec14732 -git+https://github.com/nomad-coe/nomad-normalizer-plugin-system.git@01523dd -git+https://github.com/nomad-coe/nomad-normalizer-plugin-simulation-workflow.git@22af484 +git+https://github.com/nomad-coe/nomad-schema-plugin-run.git@develop +git+https://github.com/nomad-coe/nomad-schema-plugin-simulation-workflow.git@develop +git+https://github.com/nomad-coe/nomad-normalizer-plugin-bandstructure.git@develop +git+https://github.com/nomad-coe/nomad-normalizer-plugin-dos.git@develop +git+https://github.com/nomad-coe/nomad-normalizer-plugin-soap.git@develop +git+https://github.com/nomad-coe/nomad-normalizer-plugin-spectra.git@develop +git+https://github.com/nomad-coe/nomad-normalizer-plugin-system.git@develop +git+https://github.com/nomad-coe/nomad-normalizer-plugin-simulation-workflow.git@develop diff --git a/pyproject.toml b/pyproject.toml index b5032f2d753fa3563f02cccc193e21e7b771137e..3998bb214c399c0091fa7e0fcd40f7ed16153208 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -211,3 +211,6 @@ disable_error_code = "import, annotation-unchecked" [tool.setuptools_scm] + +[tool.uv] +index-url = "https://gitlab.mpcdf.mpg.de/api/v4/projects/2187/packages/pypi/simple" diff --git a/requirements-dev.txt b/requirements-dev.txt index 481e6c62324e5ededca319d22c79014949d67540..fa789cee63e837037b0c763d2b6e432486324d95 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -110,7 +110,7 @@ m2r==0.2.1 # via -r requirements.txt, nomad-lab (pyproject.toml) mako==1.3.5 # via alembic, -r requirements.txt markdown==3.7 # via mkdocs, mkdocs-click, mkdocs-material, pymdown-extensions markupsafe==2.1.5 # via jinja2, mako, mkdocs, werkzeug, -r requirements.txt, nomad-lab (pyproject.toml) -matid==2.1.0 # via -r requirements.txt, nomad-lab (pyproject.toml) +matid==2.1.1 # via -r requirements.txt, nomad-lab (pyproject.toml) matplotlib==3.9.2 # via ase, asr, mdanalysis, phonopy, pymatgen, -r requirements.txt mda-xdrlib==0.2.0 # via mdanalysis, pyedr, -r requirements.txt mdanalysis==2.7.0 # via -r requirements.txt, nomad-lab (pyproject.toml) @@ -215,10 +215,10 @@ rfc3987==1.3.8 # via jsonschema, -r requirements.txt rope==0.21.0 # via nomad-lab (pyproject.toml) ruamel-yaml==0.18.6 # via jupyter-telemetry, oauthenticator, pymatgen, -r requirements.txt, nomad-lab (pyproject.toml) ruamel-yaml-clib==0.2.8 ; python_full_version < '3.13' and platform_python_implementation == 'CPython' # via ruamel-yaml, -r requirements.txt -ruff==0.6.1 # via nomad-lab (pyproject.toml) +ruff==0.6.2 # via nomad-lab (pyproject.toml) runstats==2.0.0 # via -r requirements.txt, nomad-lab (pyproject.toml) scikit-learn==1.5.1 # via matid, -r requirements.txt, nomad-lab (pyproject.toml) -scipy==1.14.0 # via ase, griddataformats, matid, mdanalysis, pymatgen, scikit-learn, -r requirements.txt, nomad-lab (pyproject.toml) +scipy==1.14.1 # via ase, griddataformats, matid, mdanalysis, pymatgen, scikit-learn, -r requirements.txt, nomad-lab (pyproject.toml) secretstorage==3.3.3 ; sys_platform == 'linux' # via keyring sentinels==1.0.0 # via mongomock, -r requirements.txt six==1.16.0 # via asttokens, basicauth, elasticsearch-dsl, html5lib, isodate, pybtex, python-dateutil, rdflib, rfc3339-validator, validators, -r requirements.txt @@ -251,7 +251,7 @@ tqdm==4.66.5 # via mdanalysis, pyedr, pymatgen, twine, -r requireme traitlets==5.14.3 # via jupyter-telemetry, jupyterhub, -r requirements.txt twine==3.4.2 # via nomad-lab (pyproject.toml) typed-ast==1.5.5 # via nomad-lab (pyproject.toml) -types-python-dateutil==2.9.0.20240316 # via arrow, -r requirements.txt +types-python-dateutil==2.9.0.20240821 # via arrow, -r requirements.txt typing-extensions==4.12.2 # via alembic, fastapi, jwcrypto, mypy, pydantic, sqlalchemy, -r requirements.txt typish==1.9.3 # via nptyping, -r requirements.txt tzdata==2024.1 # via celery, pandas, -r requirements.txt @@ -259,7 +259,7 @@ uncertainties==3.2.2 # via pymatgen, -r requirements.txt unidecode==1.3.2 # via -r requirements.txt, nomad-lab (pyproject.toml) uri-template==1.3.0 # via jsonschema, -r requirements.txt urllib3==1.26.19 # via docker, elasticsearch, nomad-openbis, requests, -r requirements.txt -uv==0.3.0 # via nomad-lab (pyproject.toml) +uv==0.3.1 # via nomad-lab (pyproject.toml) uvicorn==0.30.6 # via h5grove, -r requirements.txt, nomad-lab (pyproject.toml) uvloop==0.20.0 ; platform_python_implementation != 'PyPy' and sys_platform != 'cygwin' and sys_platform != 'win32' # via uvicorn, -r requirements.txt validators==0.18.2 # via -r requirements.txt, nomad-lab (pyproject.toml) @@ -270,7 +270,7 @@ wcwidth==0.2.13 # via prompt-toolkit, -r requirements.txt webcolors==24.8.0 # via jsonschema, -r requirements.txt webencodings==0.5.1 # via html5lib, -r requirements.txt websockets==13.0 # via uvicorn, -r requirements.txt -werkzeug==3.0.3 # via flask, -r requirements.txt +werkzeug==3.0.4 # via flask, -r requirements.txt wrapt==1.16.0 # via -r requirements.txt, nomad-lab (pyproject.toml) xarray==2024.7.0 # via -r requirements.txt, nomad-lab (pyproject.toml) zipp==3.20.0 # via importlib-metadata, -r requirements.txt diff --git a/requirements-plugins.txt b/requirements-plugins.txt new file mode 100644 index 0000000000000000000000000000000000000000..22de0003740a334fbb661c7da7a62134c9be4147 --- /dev/null +++ b/requirements-plugins.txt @@ -0,0 +1,272 @@ +# This file was autogenerated by uv via the following command: +# uv pip compile --universal -p 3.11 --annotation-style=line --output-file=requirements-plugins.txt --unsafe-package nomad-lab -c requirements-dev.txt default_plugins.txt +aniso8601==9.0.1 # via nomad-lab, -c requirements-dev.txt +anyio==4.4.0 # via httpx, jupyter-server, -c requirements-dev.txt +anytree==2.12.1 # via pynxtools +appnope==0.1.4 ; platform_system == 'Darwin' # via ipykernel +argon2-cffi==23.1.0 # via jupyter-server +argon2-cffi-bindings==21.2.0 # via argon2-cffi +arrow==1.3.0 # via isoduration, -c requirements-dev.txt +asciitree==0.3.3 ; platform_machine == 'AMD64' or platform_machine == 'x86_64' # via zarr +ase==3.22.1 # via ifes-apt-tc-data-modeling, matid, nomad-lab, nomad-porous-materials, pynxtools, -c requirements-dev.txt +asteval==1.0.2 # via lmfit +asttokens==2.4.1 # via stack-data, -c requirements-dev.txt +async-lru==2.0.4 # via jupyterlab +async-property==0.2.2 # via python-keycloak, -c requirements-dev.txt +attrs==24.2.0 # via jsonschema, -c requirements-dev.txt +babel==2.16.0 # via jupyterlab-server, -c requirements-dev.txt +beautifulsoup4==4.12.3 # via nbconvert, -c requirements-dev.txt +bitarray==2.9.2 # via nomad-lab, -c requirements-dev.txt +bleach==6.1.0 # via nbconvert +blosc2==2.7.1 # via tables +cachetools==5.5.0 # via nomad-lab, -c requirements-dev.txt +certifi==2024.7.4 # via elasticsearch, httpcore, httpx, requests, -c requirements-dev.txt +cffi==1.17.0 # via argon2-cffi-bindings, cryptography, pyzmq, -c requirements-dev.txt +charset-normalizer==3.3.2 # via requests, -c requirements-dev.txt +click==8.1.7 # via click-default-group, dask, nomad-lab, pynxtools, -c requirements-dev.txt +click-default-group==1.2.4 # via pynxtools +cloudpickle==3.0.0 # via dask +colorama==0.4.6 ; sys_platform == 'win32' or platform_system == 'Windows' # via click, ipython, tqdm, -c requirements-dev.txt +comm==0.2.2 # via ipykernel, ipywidgets +contourpy==1.2.1 # via matplotlib, -c requirements-dev.txt +cryptography==43.0.0 # via jwcrypto, rfc3161ng, -c requirements-dev.txt +cycler==0.12.1 # via matplotlib, -c requirements-dev.txt +dask==2024.8.1 # via hyperspy, kikuchipy, orix, pyxem, rosettasciio +debugpy==1.8.5 # via ipykernel +decorator==5.1.1 # via ipyparallel, ipython, -c requirements-dev.txt +defusedxml==0.7.1 # via nbconvert +deprecation==2.1.0 # via python-keycloak, -c requirements-dev.txt +diffpy-structure==3.2.0 # via diffsims, kikuchipy, orix +diffsims==0.6.0 # via kikuchipy, pyxem +dill==0.3.8 # via hyperspy, lmfit +docstring-parser==0.16 # via nomad-lab, -c requirements-dev.txt +elasticsearch==7.17.1 # via elasticsearch-dsl, -c requirements-dev.txt +elasticsearch-dsl==7.4.0 # via nomad-lab, -c requirements-dev.txt +entrypoints==0.4 # via ipyparallel +et-xmlfile==1.1.0 # via openpyxl, -c requirements-dev.txt +executing==2.0.1 # via stack-data, -c requirements-dev.txt +fabio==2024.4.0 # via pyfai, silx +fairmat-readers-xrd==0.0.6 # via pynxtools-xrd +fasteners==0.19 # via mdanalysis, zarr, -c requirements-dev.txt +fastjsonschema==2.20.0 # via nbformat +findiff==0.10.0 # via pynxtools-stm +flatdict==4.0.1 # via ifes-apt-tc-data-modeling, pynxtools-em +fonttools==4.53.1 # via matplotlib, -c requirements-dev.txt +fqdn==1.5.1 # via jsonschema, -c requirements-dev.txt +fsspec==2024.6.1 # via dask, hyperspy +greenlet==3.0.3 ; (python_full_version < '3.13' and platform_machine == 'AMD64') or (python_full_version < '3.13' and platform_machine == 'WIN32') or (python_full_version < '3.13' and platform_machine == 'aarch64') or (python_full_version < '3.13' and platform_machine == 'amd64') or (python_full_version < '3.13' and platform_machine == 'ppc64le') or (python_full_version < '3.13' and platform_machine == 'win32') or (python_full_version < '3.13' and platform_machine == 'x86_64') # via sqlalchemy, -c requirements-dev.txt +griddataformats==1.0.2 # via mdanalysis, -c requirements-dev.txt +h11==0.14.0 # via httpcore, -c requirements-dev.txt +h5grove==1.3.0 # via jupyterlab-h5web, -c requirements-dev.txt +h5py==3.11.0 # via fabio, h5grove, hdf5plugin, hyperspy, ifes-apt-tc-data-modeling, jupyterlab-h5web, kikuchipy, nionswift, nomad-lab, orix, pyfai, pynxtools, pynxtools-mpes, pynxtools-xps, pyxem, silx, -c requirements-dev.txt +hdf5plugin==4.4.0 # via fabio +hjson==3.1.0 # via nomad-lab, -c requirements-dev.txt +httpcore==1.0.5 # via httpx, -c requirements-dev.txt +httpx==0.27.0 # via jupyterlab, nomad-lab, python-keycloak, -c requirements-dev.txt +hyperspy==1.7.5 # via kikuchipy, pyxem +idna==3.7 # via anyio, httpx, jsonschema, requests, -c requirements-dev.txt +ifes-apt-tc-data-modeling==0.2.2 # via pynxtools-apm +igor2==0.5.8 # via pynxtools-xps +imageio==2.27.0 # via hyperspy, kikuchipy, nionswift, nionswift-io, nionui, scikit-image +importlib-metadata==7.1.0 # via dask, hyperspy, nomad-lab, pynxtools, -c requirements-dev.txt +ipykernel==6.29.5 # via ipyparallel, jupyter, jupyter-console, jupyterlab, qtconsole +ipyparallel==8.8.0 # via hyperspy +ipython==8.26.0 # via hyperspy, ipykernel, ipyparallel, ipywidgets, jupyter-console +ipywidgets==8.1.5 # via jupyter +isoduration==20.11.0 # via jsonschema, -c requirements-dev.txt +jedi==0.19.1 # via ipython +jinja2==3.1.4 # via hyperspy, jupyter-server, jupyterlab, jupyterlab-server, nbconvert, -c requirements-dev.txt +jmespath==1.0.1 # via nomad-lab, -c requirements-dev.txt +joblib==1.4.2 # via mdanalysis, pymatgen, scikit-learn, -c requirements-dev.txt +json5==0.9.25 # via jupyterlab-server +jsonpointer==3.0.0 # via jsonschema, -c requirements-dev.txt +jsonschema==4.17.3 # via jupyter-events, jupyterlab-server, nbformat, -c requirements-dev.txt +jupyter==1.0.0 # via ifes-apt-tc-data-modeling +jupyter-client==8.6.2 # via ipykernel, ipyparallel, jupyter-console, jupyter-server, nbclient, qtconsole +jupyter-console==6.6.3 # via jupyter +jupyter-core==5.7.2 # via ipykernel, jupyter-client, jupyter-console, jupyter-server, jupyterlab, nbclient, nbconvert, nbformat, qtconsole +jupyter-events==0.5.0 # via jupyter-server +jupyter-lsp==2.2.5 # via jupyterlab +jupyter-server==2.5.0 # via jupyter-lsp, jupyterlab, jupyterlab-h5web, jupyterlab-server, notebook, notebook-shim +jupyter-server-terminals==0.5.3 # via jupyter-server +jupyterlab==4.1.6 # via ifes-apt-tc-data-modeling, notebook +jupyterlab-h5web==11.1.0 # via ifes-apt-tc-data-modeling +jupyterlab-pygments==0.3.0 # via nbconvert +jupyterlab-server==2.24.0 # via jupyterlab, notebook +jupyterlab-widgets==3.0.13 # via ipywidgets +jwcrypto==1.5.6 # via python-keycloak, -c requirements-dev.txt +kaleido==0.2.1 # via nomad-lab, -c requirements-dev.txt +kikuchipy==0.9.0 # via pynxtools-em +kiwisolver==1.4.5 # via matplotlib, -c requirements-dev.txt +latexcodec==3.0.0 # via pybtex, -c requirements-dev.txt +lazy-loader==0.4 # via scikit-image +llvmlite==0.43.0 # via numba +lmfit==1.3.2 # via pyxem +locket==1.0.0 # via partd +lxml==5.3.0 # via fabio, lxml-html-clean, nomad-lab, pynxtools, -c requirements-dev.txt +lxml-html-clean==0.2.0 # via nomad-lab, perovskite-solar-cell-database, -c requirements-dev.txt +markupsafe==2.1.5 # via jinja2, nbconvert, -c requirements-dev.txt +matid==2.1.1 # via nomad-lab, nomad-simulations, -c requirements-dev.txt +matplotlib==3.9.2 # via ase, diffsims, hyperspy, kikuchipy, matplotlib-scalebar, mdanalysis, orix, pyfai, pymatgen, pyxem, radioactivedecay, -c requirements-dev.txt +matplotlib-inline==0.1.7 # via ipykernel, ipython +matplotlib-scalebar==0.8.1 # via orix +mda-xdrlib==0.2.0 # via mdanalysis, pyedr, -c requirements-dev.txt +mdanalysis==2.7.0 # via nomad-lab, -c requirements-dev.txt +mergedeep==1.3.4 # via pynxtools, -c requirements-dev.txt +mistune==3.0.2 # via nbconvert, -c requirements-dev.txt +mmtf-python==1.1.3 # via mdanalysis, -c requirements-dev.txt +monty==2024.7.30 # via pymatgen, -c requirements-dev.txt +mpmath==1.3.0 # via sympy, -c requirements-dev.txt +mrcfile==1.5.3 # via griddataformats, -c requirements-dev.txt +msgpack==1.0.8 # via blosc2, mmtf-python, -c requirements-dev.txt +natsort==8.4.0 # via hyperspy +nbclient==0.10.0 # via nbconvert +nbconvert==7.16.4 # via jupyter, jupyter-server +nbformat==5.10.4 # via jupyter-server, nbclient, nbconvert +ndindex==1.8 # via blosc2 +nest-asyncio==1.6.0 # via ipykernel +networkx==3.3 # via matid, nomad-lab, pymatgen, radioactivedecay, scikit-image, -c requirements-dev.txt +niondata==15.6.3 # via nionswift, nionswift-io +nionswift==16.11.0 # via pynxtools-em +nionswift-io==15.2.1 # via nionswift +nionui==7.1.1 # via nionswift +nionutils==4.11.0 # via niondata, nionswift, nionswift-io, nionui +nomad-aitoolkit @ git+https://github.com/FAIRmat-NFDI/nomad-aitoolkit.git@b203f8eb28dc4b6771a39d5c5b7ad3d9d8583ac8 # via -r default_plugins.txt +nomad-normalizer-plugin-bandstructure @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-bandstructure.git@6521a2bba848db8891a02576262eba8dcd4d9374 # via -r default_plugins.txt +nomad-normalizer-plugin-dos @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-dos.git@dad7e2b6e74bcedc73a4d86604e4beafd336c8b8 # via -r default_plugins.txt +nomad-normalizer-plugin-simulation-workflow @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-simulation-workflow.git@22af484c9ff6ff0d6c26be0bac9c66fa64200235 # via -r default_plugins.txt +nomad-normalizer-plugin-soap @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-soap.git@1b0e60e6bb7a75b9d7b53d6b077adf5aec7ec952 # via -r default_plugins.txt +nomad-normalizer-plugin-spectra @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-spectra.git@ec147326b3485ca9c324aca8a8dea520eb01e7dc # via -r default_plugins.txt +nomad-normalizer-plugin-system @ git+https://github.com/nomad-coe/nomad-normalizer-plugin-system.git@01523ddbc85676a40af40f4747f5f13676f34c0f # via -r default_plugins.txt +nomad-porous-materials @ git+https://github.com/FAIRmat-NFDI/nomad-porous-materials.git@522f4a3208077f534f1c5e886527ee2104283d0b # via -r default_plugins.txt +nomad-schema-plugin-run @ git+https://github.com/nomad-coe/nomad-schema-plugin-run.git@92d120dc4c5f7f4bcd94990ed009f8ac0019acec # via nomad-schema-plugin-simulation-workflow, -r default_plugins.txt +nomad-schema-plugin-simulation-workflow @ git+https://github.com/nomad-coe/nomad-schema-plugin-simulation-workflow.git@c9bd20c0447aaf22a6477cb39bdf03dea4c597f8 # via nomad-normalizer-plugin-simulation-workflow, -r default_plugins.txt +nomad-simulations==0.0.1 # via -r default_plugins.txt +notebook==7.1.3 # via jupyter +notebook-shim==0.2.4 # via jupyterlab, notebook +nptyping==1.4.4 # via nomad-lab, -c requirements-dev.txt +numba==0.60.0 # via diffsims, hyperspy, kikuchipy, orix, pyxem, sparse +numcodecs==0.13.0 ; platform_machine == 'AMD64' or platform_machine == 'x86_64' # via zarr +numexpr==2.10.1 # via blosc2, hyperspy, pyfai, pyxem, tables +numpy==1.26.4 # via ase, blosc2, contourpy, dask, diffsims, fabio, fairmat-readers-xrd, findiff, griddataformats, h5grove, h5py, hyperspy, ifes-apt-tc-data-modeling, igor2, imageio, kikuchipy, lmfit, matid, matplotlib, mdanalysis, mrcfile, niondata, nionswift, nionswift-io, nionui, nomad-lab, nptyping, numba, numcodecs, numexpr, numpy-quaternion, orix, pandas, pyedr, pyfai, pymatgen, pynxtools, pynxtools-xps, pyxem, radioactivedecay, rdkit, rosettasciio, scikit-image, scikit-learn, scipy, silx, sparse, spglib, tables, tifffile, transforms3d, xarray, xraydb, zarr, -c requirements-dev.txt +numpy-quaternion==2023.0.4 # via orix +openpyxl==3.1.5 # via nomad-lab, perovskite-solar-cell-database, -c requirements-dev.txt +orix==0.12.1.post0 # via diffsims, kikuchipy, pyxem +orjson==3.10.7 # via h5grove, nomad-lab, -c requirements-dev.txt +packaging==24.1 # via dask, deprecation, hyperspy, ipykernel, jupyter-server, jupyterlab, jupyterlab-server, lazy-loader, matplotlib, mdanalysis, nbconvert, pint, plotly, pooch, qtconsole, qtpy, scikit-image, silx, tables, xarray, xraydb, -c requirements-dev.txt +palettable==3.3.3 # via pymatgen, -c requirements-dev.txt +pandas==2.2.2 # via ifes-apt-tc-data-modeling, nomad-lab, panedr, pymatgen, pynxtools, radioactivedecay, xarray, -c requirements-dev.txt +pandocfilters==1.5.1 # via nbconvert +panedr==0.8.0 # via nomad-lab, -c requirements-dev.txt +parmed==4.2.2 # via nomad-lab, -c requirements-dev.txt +parso==0.8.4 # via jedi +partd==1.4.2 # via dask +perovskite-solar-cell-database @ git+https://github.com/FAIRmat-NFDI/nomad-perovskite-solar-cells-database.git@f394d21abafeb659729af0c94e5f90949fce01c1 # via -r default_plugins.txt +pexpect==4.9.0 ; sys_platform != 'emscripten' and sys_platform != 'win32' # via ipython +pillow==10.4.0 # via fabio, imageio, matplotlib, nionswift, rdkit, scikit-image, -c requirements-dev.txt +pint==0.17 # via fairmat-readers-xrd, hyperspy, nomad-lab, pynxtools-xps, pynxtools-xrd, rosettasciio, -c requirements-dev.txt +platformdirs==4.2.2 # via jupyter-core, pooch, xraydb, -c requirements-dev.txt +plotly==5.23.0 # via pymatgen, -c requirements-dev.txt +pooch==1.8.2 # via kikuchipy, orix +prettytable==3.11.0 # via hyperspy +prometheus-client==0.20.0 # via jupyter-server, -c requirements-dev.txt +prompt-toolkit==3.0.47 # via ipython, jupyter-console, -c requirements-dev.txt +psutil==6.0.0 # via diffsims, ipykernel, ipyparallel, pyxem, -c requirements-dev.txt +ptyprocess==0.7.0 ; os_name != 'nt' or (sys_platform != 'emscripten' and sys_platform != 'win32') # via pexpect, terminado +pure-eval==0.2.3 # via stack-data +py-cpuinfo==9.0.0 # via blosc2, tables +pyasn1==0.6.0 # via pyasn1-modules, rfc3161ng, -c requirements-dev.txt +pyasn1-modules==0.4.0 # via rfc3161ng, -c requirements-dev.txt +pybtex==0.24.0 # via pymatgen, -c requirements-dev.txt +pycparser==2.22 # via cffi, -c requirements-dev.txt +pydantic==1.10.17 # via nomad-lab, nomad-porous-materials, -c requirements-dev.txt +pyedr==0.8.0 # via panedr, -c requirements-dev.txt +pyfai==2024.5.0 # via pyxem +pygments==2.18.0 # via ipython, jupyter-console, nbconvert, qtconsole, -c requirements-dev.txt +pymatgen==2024.5.1 # via nomad-lab, nomad-porous-materials, -c requirements-dev.txt +pynxtools==0.5.0 # via pynxtools-apm, pynxtools-ellips, pynxtools-em, pynxtools-mpes, pynxtools-raman, pynxtools-stm, pynxtools-xps, pynxtools-xrd, -r default_plugins.txt +pynxtools-apm==0.2 # via pynxtools +pynxtools-ellips==0.0.4 # via pynxtools +pynxtools-em==0.2 # via pynxtools +pynxtools-mpes==0.1.1 # via pynxtools +pynxtools-raman==0.0.1 # via pynxtools +pynxtools-stm==1.0.5 # via pynxtools +pynxtools-xps==0.2.5 # via pynxtools +pynxtools-xrd==0.0.2 # via pynxtools +pyparsing==3.1.2 # via matplotlib, -c requirements-dev.txt +pyrsistent==0.20.0 # via jsonschema, -c requirements-dev.txt +python-box==7.2.0 # via rosettasciio +python-dateutil==2.9.0.post0 # via arrow, elasticsearch-dsl, hyperspy, ipyparallel, jupyter-client, matplotlib, pandas, rfc3161ng, rosettasciio, -c requirements-dev.txt +python-json-logger==2.0.2 # via jupyter-events, -c requirements-dev.txt +python-keycloak==4.3.0 # via nomad-lab, -c requirements-dev.txt +python-magic==0.4.24 # via nomad-lab, -c requirements-dev.txt +pytz==2024.1 # via nionswift, nomad-lab, pandas, -c requirements-dev.txt +pywin32==306 ; platform_python_implementation != 'PyPy' and sys_platform == 'win32' # via jupyter-core, -c requirements-dev.txt +pywinpty==2.0.13 ; os_name == 'nt' # via jupyter-server, jupyter-server-terminals, terminado +pyxem==0.16.0 # via pynxtools-em +pyyaml==6.0.2 # via dask, hyperspy, jupyter-events, kikuchipy, nomad-lab, pybtex, pynxtools, pynxtools-mpes, rosettasciio, -c requirements-dev.txt +pyzeo==0.1.6 # via nomad-porous-materials +pyzmq==26.2.0 # via ipykernel, ipyparallel, jupyter-client, jupyter-console, jupyter-server, qtconsole +qtconsole==5.5.2 # via jupyter +qtpy==2.4.1 # via qtconsole +radioactivedecay==0.5.1 # via ifes-apt-tc-data-modeling +rdkit==2023.9.5 # via perovskite-solar-cell-database, -c requirements-dev.txt +requests==2.31.0 # via hyperspy, jupyterlab-server, nomad-lab, pooch, pymatgen, python-keycloak, requests-toolbelt, rfc3161ng, -c requirements-dev.txt +requests-toolbelt==1.0.0 # via python-keycloak, -c requirements-dev.txt +rfc3161ng==2.1.3 # via nomad-lab, -c requirements-dev.txt +rfc3339-validator==0.1.4 # via jsonschema, -c requirements-dev.txt +rfc3986-validator==0.1.1 # via jsonschema +rosettasciio==0.6 # via pynxtools-em +ruamel-yaml==0.18.6 # via pymatgen, -c requirements-dev.txt +ruamel-yaml-clib==0.2.8 ; python_full_version < '3.13' and platform_python_implementation == 'CPython' # via ruamel-yaml, -c requirements-dev.txt +scikit-image==0.22.0 # via hyperspy, kikuchipy, pyxem +scikit-learn==1.5.1 # via kikuchipy, matid, nomad-lab, pyxem, -c requirements-dev.txt +scipy==1.14.1 # via ase, diffsims, findiff, griddataformats, hyperspy, kikuchipy, lmfit, matid, mdanalysis, niondata, nionswift, nomad-lab, orix, pyfai, pymatgen, pyxem, radioactivedecay, scikit-image, scikit-learn, sparse, xraydb, -c requirements-dev.txt +send2trash==1.8.3 # via jupyter-server +setuptools==73.0.1 # via pynxtools-xps, radioactivedecay +silx==2.1.1 # via pyfai +six==1.16.0 # via anytree, asttokens, bleach, elasticsearch-dsl, pybtex, python-dateutil, rfc3339-validator, -c requirements-dev.txt +sniffio==1.3.1 # via anyio, httpx, -c requirements-dev.txt +soupsieve==2.6 # via beautifulsoup4, -c requirements-dev.txt +sparse==0.15.4 # via hyperspy +spglib==2.5.0 # via matid, pymatgen, -c requirements-dev.txt +sqlalchemy==2.0.32 # via xraydb, -c requirements-dev.txt +stack-data==0.6.3 # via ipython +sympy==1.13.2 # via findiff, hyperspy, pymatgen, radioactivedecay, -c requirements-dev.txt +tables==3.10.1 # via ifes-apt-tc-data-modeling +tabulate==0.8.9 # via pymatgen, -c requirements-dev.txt +tenacity==9.0.0 # via plotly, -c requirements-dev.txt +terminado==0.18.1 # via jupyter-server, jupyter-server-terminals +threadpoolctl==3.5.0 # via mdanalysis, scikit-learn, -c requirements-dev.txt +tifffile==2024.8.10 # via h5grove, hyperspy, scikit-image, -c requirements-dev.txt +tinycss2==1.3.0 # via nbconvert +toolz==0.12.1 # via dask, hyperspy, partd +toposort==1.10 # via nomad-lab, -c requirements-dev.txt +tornado==6.4.1 # via ipykernel, ipyparallel, jupyter-client, jupyter-server, jupyterlab, notebook, terminado, -c requirements-dev.txt +tqdm==4.66.5 # via diffsims, hyperspy, ipyparallel, kikuchipy, mdanalysis, orix, pyedr, pymatgen, pyxem, -c requirements-dev.txt +traitlets==5.14.3 # via comm, ipykernel, ipyparallel, ipython, ipywidgets, jupyter-client, jupyter-console, jupyter-core, jupyter-events, jupyter-server, jupyterlab, matplotlib-inline, nbclient, nbconvert, nbformat, qtconsole, -c requirements-dev.txt +traits==6.4.3 # via hyperspy, pyxem +transforms3d==0.4.2 # via diffsims, pyxem +types-python-dateutil==2.9.0.20240821 # via arrow, -c requirements-dev.txt +typing-extensions==4.12.2 # via ipython, jwcrypto, pydantic, sqlalchemy, tables, -c requirements-dev.txt +typish==1.9.3 # via nptyping, -c requirements-dev.txt +tzdata==2024.1 # via pandas, tzlocal, -c requirements-dev.txt +tzlocal==5.2 # via nionswift, pynxtools-em +uncertainties==3.2.2 # via lmfit, pymatgen, -c requirements-dev.txt +unidecode==1.3.2 # via nomad-lab, -c requirements-dev.txt +uri-template==1.3.0 # via jsonschema, -c requirements-dev.txt +urllib3==1.26.19 # via elasticsearch, requests, -c requirements-dev.txt +wcwidth==0.2.13 # via prettytable, prompt-toolkit, -c requirements-dev.txt +webcolors==24.8.0 # via jsonschema, -c requirements-dev.txt +webencodings==0.5.1 # via bleach, tinycss2, -c requirements-dev.txt +websocket-client==1.8.0 # via jupyter-server +widgetsnbextension==4.0.13 # via ipywidgets +wrapt==1.16.0 # via nomad-lab, -c requirements-dev.txt +xarray==2024.7.0 # via nomad-lab, pynxtools, pynxtools-mpes, pynxtools-xps, -c requirements-dev.txt +xmltodict==0.13.0 # via fairmat-readers-xrd, ifes-apt-tc-data-modeling, pynxtools-em, pynxtools-xrd +xraydb==4.5.4 # via pynxtools-em +zarr==2.18.2 ; platform_machine == 'AMD64' or platform_machine == 'x86_64' # via hyperspy +zipp==3.20.0 # via importlib-metadata, -c requirements-dev.txt + +# The following packages were excluded from the output: +# nomad-lab diff --git a/requirements.txt b/requirements.txt index c960f435ae96ca8d341c58e1558c66d6e225314e..42f08956dfd3a0efca41d7e6e5d809ddb354d636 100644 --- a/requirements.txt +++ b/requirements.txt @@ -91,7 +91,7 @@ lxml-html-clean==0.2.0 # via nomad-lab (pyproject.toml) m2r==0.2.1 # via nomad-lab (pyproject.toml) mako==1.3.5 # via alembic markupsafe==2.1.5 # via jinja2, mako, werkzeug -matid==2.1.0 # via nomad-lab (pyproject.toml) +matid==2.1.1 # via nomad-lab (pyproject.toml) matplotlib==3.9.2 # via ase, asr, mdanalysis, phonopy, pymatgen mda-xdrlib==0.2.0 # via mdanalysis, pyedr mdanalysis==2.7.0 # via nomad-lab (pyproject.toml) @@ -162,7 +162,7 @@ ruamel-yaml==0.18.6 # via jupyter-telemetry, oauthenticator, pymatgen ruamel-yaml-clib==0.2.8 ; python_full_version < '3.13' and platform_python_implementation == 'CPython' # via ruamel-yaml runstats==2.0.0 # via nomad-lab (pyproject.toml) scikit-learn==1.5.1 # via matid, nomad-lab (pyproject.toml) -scipy==1.14.0 # via ase, griddataformats, matid, mdanalysis, pymatgen, scikit-learn, nomad-lab (pyproject.toml) +scipy==1.14.1 # via ase, griddataformats, matid, mdanalysis, pymatgen, scikit-learn, nomad-lab (pyproject.toml) sentinels==1.0.0 # via mongomock six==1.16.0 # via basicauth, elasticsearch-dsl, html5lib, isodate, pybtex, python-dateutil, rdflib, rfc3339-validator, validators smmap==5.0.1 # via gitdb @@ -190,7 +190,7 @@ toposort==1.10 # via nomad-lab (pyproject.toml) tornado==6.4.1 # via jupyterhub tqdm==4.66.5 # via mdanalysis, pyedr, pymatgen traitlets==5.14.3 # via jupyter-telemetry, jupyterhub -types-python-dateutil==2.9.0.20240316 # via arrow +types-python-dateutil==2.9.0.20240821 # via arrow typing-extensions==4.12.2 # via alembic, fastapi, jwcrypto, pydantic, sqlalchemy typish==1.9.3 # via nptyping tzdata==2024.1 # via celery, pandas @@ -207,7 +207,7 @@ wcwidth==0.2.13 # via prompt-toolkit webcolors==24.8.0 # via jsonschema webencodings==0.5.1 # via html5lib websockets==13.0 # via uvicorn -werkzeug==3.0.3 # via flask +werkzeug==3.0.4 # via flask wrapt==1.16.0 # via nomad-lab (pyproject.toml) xarray==2024.7.0 # via nomad-lab (pyproject.toml) zipp==3.20.0 # via importlib-metadata diff --git a/scripts/generate_python_dependencies.sh b/scripts/generate_python_dependencies.sh index 2378fcfae6c6dc41d54cd36ae853020cddebbc9d..6d49c132f1aca4ad401c2c1bf2e7d69d37175d89 100755 --- a/scripts/generate_python_dependencies.sh +++ b/scripts/generate_python_dependencies.sh @@ -28,3 +28,9 @@ uv pip compile -U --universal -p 3.11 --annotation-style=line \ requirements.txt \ pyproject.toml +uv pip compile --universal -p 3.11 --annotation-style=line \ + --output-file=requirements-plugins.txt \ + --unsafe-package nomad-lab \ + -c requirements-dev.txt \ + default_plugins.txt + diff --git a/scripts/setup_dev_env.sh b/scripts/setup_dev_env.sh index 0fe7c9dcbca6a55ef27b74ee1dbf00d0c9d54680..49f63bf6db05894364503e399e21bb114f734bee 100755 --- a/scripts/setup_dev_env.sh +++ b/scripts/setup_dev_env.sh @@ -25,7 +25,7 @@ uv pip install -e ".[infrastructure,parsing,dev]" -c requirements-dev.txt # Install "default" plugins. TODO: This can be removed once we have proper # distributions projects. -uv pip install -r default_plugins.txt -c requirements-dev.txt +uv pip install -r requirements-plugins.txt # remove this after moving to distro # Build documentation sh scripts/generate_docs_artifacts.sh