diff --git a/crystal_toolkit/components/fermi_surface.py b/crystal_toolkit/components/fermi_surface.py index bb24df50..b19fba82 100644 --- a/crystal_toolkit/components/fermi_surface.py +++ b/crystal_toolkit/components/fermi_surface.py @@ -1,7 +1,6 @@ from __future__ import annotations import typing -from importlib import import_module import matplotlib.pyplot as plt from dash import Input, Output @@ -14,6 +13,14 @@ from ifermi.surface import FermiSurface from plotly.graph_objects import Figure +try: + import ifermi.plot as fermi_module +except ImportError as exc: + raise ImportError( + "`ifermi` must be installed to use the Fermi " + "surface `crystal_toolkit` component." + ) from exc + class FermiSurfaceComponent(MPComponent): """Component to display FermiSurface objects generated from ifermi. @@ -44,7 +51,6 @@ def get_figure(fermi_surface: FermiSurface, **kwargs) -> Figure: Returns: A plotly Figure object. """ - fermi_module = import_module("ifermi.plot") plotter = fermi_module.FermiSurfacePlotter(fermi_surface) fig = plotter.get_plot(plot_type="plotly", **kwargs) diff --git a/pyproject.toml b/pyproject.toml index 90f7041c..42da13b5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,14 +23,17 @@ dependencies = [ "shapely", "webcolors", "ipython", - "boltztrap2<25.11.1", # compilation issue when installing via pip ] [project.optional-dependencies] server = ["dash-extensions", "gunicorn[gevent]", "habanero", "hiphive", "redis"] robocrys = ["robocrys"] temdiff = ["py4DSTEM>=0.13.11"] -fermi = ["ifermi", "pyfftw"] +fermi = [ + "ifermi", + "pyfftw", + "boltztrap2<25.11.1", # compilation issue when installing via pip +] phonon = ["phonopy"] vtk = ["dash-vtk"] localenv = ["dscribe"] diff --git a/requirements/ubuntu-latest_py3.11.txt b/requirements/ubuntu-latest_py3.11.txt index f67a6be0..dc41329d 100644 --- a/requirements/ubuntu-latest_py3.11.txt +++ b/requirements/ubuntu-latest_py3.11.txt @@ -6,33 +6,25 @@ # annotated-types==0.7.0 # via pydantic -ase==3.27.0 - # via boltztrap2 asttokens==3.0.1 # via stack-data -bibtexparser==1.4.3 +bibtexparser==1.4.4 # via pymatgen blake3==1.0.8 # via emmet-core blinker==1.9.0 # via flask -boltztrap2==25.3.1 - # via crystal_toolkit (pyproject.toml) -boto3==1.42.33 +boto3==1.42.67 # via mp-api -botocore==1.42.33 +botocore==1.42.67 # via # boto3 # s3transfer cachelib==0.13.0 # via flask-caching -certifi==2026.1.4 - # via - # netcdf4 - # requests -cftime==1.6.5 - # via netcdf4 -charset-normalizer==3.4.4 +certifi==2026.2.25 + # via requests +charset-normalizer==3.4.5 # via requests click==8.3.1 # via flask @@ -40,35 +32,33 @@ contourpy==1.3.3 # via matplotlib cycler==0.12.1 # via matplotlib -cython==3.2.4 - # via boltztrap2 -dash==3.4.0 +dash==4.0.0 # via crystal_toolkit (pyproject.toml) dash-mp-components==0.5.1rc5 # via crystal_toolkit (pyproject.toml) decorator==5.2.1 # via ipython -emmet-core==0.86.2 +emmet-core==0.86.3 # via mp-api executing==2.2.1 # via stack-data -flask==3.1.2 +flask==3.1.3 # via # dash # flask-caching flask-caching==2.3.1 # via crystal_toolkit (pyproject.toml) -fonttools==4.61.1 +fonttools==4.62.1 # via matplotlib frozendict==2.4.7 # via crystal_toolkit (pyproject.toml) idna==3.11 # via requests -imageio==2.37.2 +imageio==2.37.3 # via scikit-image importlib-metadata==8.7.1 # via dash -ipython==9.9.0 +ipython==9.10.0 # via crystal_toolkit (pyproject.toml) ipython-pygments-lexers==1.1.1 # via ipython @@ -86,11 +76,11 @@ joblib==1.5.3 # via # pymatgen # scikit-learn -kiwisolver==1.4.9 +kiwisolver==1.5.0 # via matplotlib latexcodec==3.0.1 # via pybtex -lazy-loader==0.4 +lazy-loader==0.5 # via scikit-image markupsafe==3.0.3 # via @@ -98,43 +88,32 @@ markupsafe==3.0.3 # jinja2 # werkzeug matplotlib==3.10.8 - # via - # ase - # boltztrap2 - # pymatgen + # via pymatgen matplotlib-inline==0.2.1 # via ipython -monty==2025.3.3 +monty==2026.2.18 # via # emmet-core # mp-api # pymatgen -mp-api==0.45.15 +mp-api==0.46.0 # via crystal_toolkit (pyproject.toml) mpmath==1.3.0 # via sympy -msgpack==1.1.2 - # via mp-api -narwhals==2.15.0 +narwhals==2.18.0 # via plotly nest-asyncio==1.6.0 # via dash -netcdf4==1.7.4 - # via boltztrap2 networkx==3.6.1 # via # pymatgen # scikit-image -numpy==2.4.1 +numpy==2.4.3 # via - # ase - # boltztrap2 - # cftime # contourpy # imageio # matplotlib # monty - # netcdf4 # pandas # pymatgen # pymatgen-io-validation @@ -144,7 +123,7 @@ numpy==2.4.1 # shapely # spglib # tifffile -orjson==3.11.5 +orjson==3.11.7 # via # mp-api # pymatgen @@ -156,18 +135,18 @@ packaging==26.0 # scikit-image palettable==3.3.3 # via pymatgen -pandas==3.0.0 +pandas==3.0.1 # via pymatgen -parso==0.8.5 +parso==0.8.6 # via jedi pexpect==4.9.0 # via ipython -pillow==12.1.0 +pillow==12.1.1 # via # imageio # matplotlib # scikit-image -plotly==6.5.2 +plotly==6.6.0 # via # dash # pymatgen @@ -186,7 +165,7 @@ pydantic==2.12.5 # pymatgen-io-validation pydantic-core==2.41.5 # via pydantic -pydantic-settings==2.12.0 +pydantic-settings==2.13.1 # via # crystal_toolkit (pyproject.toml) # emmet-core @@ -212,7 +191,7 @@ python-dateutil==2.9.0.post0 # botocore # matplotlib # pandas -python-dotenv==1.2.1 +python-dotenv==1.2.2 # via pydantic-settings pyyaml==6.0.3 # via pybtex @@ -234,10 +213,8 @@ scikit-image==0.26.0 # via crystal_toolkit (pyproject.toml) scikit-learn==1.8.0 # via crystal_toolkit (pyproject.toml) -scipy==1.17.0 +scipy==1.17.1 # via - # ase - # boltztrap2 # pymatgen # scikit-image # scikit-learn @@ -245,23 +222,19 @@ shapely==2.1.2 # via crystal_toolkit (pyproject.toml) six==1.17.0 # via python-dateutil -smart-open==7.5.0 - # via mp-api spglib==2.7.0 - # via - # boltztrap2 - # pymatgen + # via pymatgen stack-data==0.6.3 # via ipython sympy==1.14.0 # via pymatgen -tabulate==0.9.0 +tabulate==0.10.0 # via pymatgen threadpoolctl==3.6.0 # via scikit-learn -tifffile==2026.1.14 +tifffile==2026.3.3 # via scikit-image -tqdm==4.67.1 +tqdm==4.67.3 # via pymatgen traitlets==5.14.3 # via @@ -288,16 +261,14 @@ urllib3==2.6.3 # via # botocore # requests -wcwidth==0.3.1 +wcwidth==0.6.0 # via prompt-toolkit webcolors==25.10.0 # via crystal_toolkit (pyproject.toml) -werkzeug==3.1.5 +werkzeug==3.1.6 # via # dash # flask -wrapt==2.0.1 - # via smart-open zipp==3.23.0 # via importlib-metadata diff --git a/requirements/ubuntu-latest_py3.11_extras.txt b/requirements/ubuntu-latest_py3.11_extras.txt index d26a9dc9..b83d9aa6 100644 --- a/requirements/ubuntu-latest_py3.11_extras.txt +++ b/requirements/ubuntu-latest_py3.11_extras.txt @@ -49,7 +49,7 @@ attrs==25.4.0 # dephell-venvs # jsonschema # referencing -babel==2.17.0 +babel==2.18.0 # via # jupyterlab-server # sphinx @@ -58,9 +58,9 @@ beautifulsoup4==4.14.3 # dash # gdown # nbconvert -bibtexparser==1.4.3 +bibtexparser==1.4.4 # via pymatgen -black==26.1.0 +black==26.3.1 # via crystal_toolkit (pyproject.toml) blake3==1.0.8 # via emmet-core @@ -72,9 +72,9 @@ boltztrap2==25.3.1 # via # crystal_toolkit (pyproject.toml) # ifermi -boto3==1.42.33 +boto3==1.42.67 # via mp-api -botocore==1.42.33 +botocore==1.42.67 # via # boto3 # s3transfer @@ -82,7 +82,7 @@ cachelib==0.13.0 # via flask-caching cerberus==1.3.8 # via dephell -certifi==2026.1.4 +certifi==2026.2.25 # via # dephell # netcdf4 @@ -95,7 +95,7 @@ cfgv==3.5.0 # via pre-commit cftime==1.6.5 # via netcdf4 -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via requests choreographer==1.2.1 # via kaleido @@ -118,9 +118,9 @@ commonmark==0.9.1 # via recommonmark contourpy==1.3.3 # via matplotlib -coverage[toml]==7.13.1 +coverage[toml]==7.13.4 # via pytest-cov -cryptography==46.0.3 +cryptography==46.0.5 # via dash crystaltoolkit-extension==0.6.0 # via crystal_toolkit (pyproject.toml) @@ -128,12 +128,12 @@ cycler==0.12.1 # via matplotlib cython==3.2.4 # via boltztrap2 -dash[testing]==3.4.0 +dash[testing]==4.0.0 # via # crystal_toolkit (pyproject.toml) # dash-extensions # dash-vtk -dash-extensions==2.0.4 +dash-extensions==2.0.5 # via crystal_toolkit (pyproject.toml) dash-mp-components==0.5.1rc5 # via crystal_toolkit (pyproject.toml) @@ -141,13 +141,13 @@ dash-testing-stub==0.0.2 # via dash dash-vtk==0.0.9 # via crystal_toolkit (pyproject.toml) -dask==2026.1.1 +dask==2026.1.2 # via # distributed # py4dstem dataclass-wizard==0.39.1 # via dash-extensions -debugpy==1.8.19 +debugpy==1.8.20 # via ipykernel decorator==5.2.1 # via ipython @@ -192,7 +192,7 @@ dill==0.4.1 # py4dstem distlib==0.4.0 # via virtualenv -distributed==2026.1.1 +distributed==2026.1.2 # via py4dstem dnspython==2.8.0 # via pymongo @@ -208,7 +208,7 @@ editorconfig==0.17.1 # via jsbeautifier emdfile==0.0.16 # via py4dstem -emmet-core==0.86.2 +emmet-core==0.86.3 # via mp-api entrypoints==0.4 # via jupyter-client @@ -216,11 +216,12 @@ executing==2.2.1 # via stack-data fastjsonschema==2.21.2 # via nbformat -filelock==3.20.3 +filelock==3.25.2 # via # gdown + # python-discovery # virtualenv -flask==3.1.2 +flask==3.1.3 # via # dash # flask-caching @@ -228,7 +229,7 @@ flask-caching==2.3.1 # via # crystal_toolkit (pyproject.toml) # dash-extensions -fonttools==4.61.1 +fonttools==4.62.1 # via matplotlib fqdn==1.5.1 # via jsonschema @@ -238,19 +239,19 @@ frozenlist==1.8.0 # via # aiohttp # aiosignal -fsspec==2026.1.0 +fsspec==2026.2.0 # via dask gdown==5.2.1 # via py4dstem gevent==25.9.1 # via gunicorn -greenlet==3.3.0 +greenlet==3.3.2 # via # gevent # playwright -gunicorn[gevent]==23.0.0 +gunicorn[gevent]==25.1.0 # via crystal_toolkit (pyproject.toml) -h5py==3.15.1 +h5py==3.16.0 # via # emdfile # hdf5plugin @@ -264,7 +265,7 @@ hdf5plugin==6.0.0 # via py4dstem hiphive==1.5 # via crystal_toolkit (pyproject.toml) -identify==2.6.16 +identify==2.6.17 # via pre-commit idna==3.11 # via @@ -272,11 +273,11 @@ idna==3.11 # jsonschema # requests # yarl -ifermi==0.3.6 +ifermi==0.3.7 # via crystal_toolkit (pyproject.toml) -imageio==2.37.2 +imageio==2.37.3 # via scikit-image -imagesize==1.4.1 +imagesize==2.0.0 # via sphinx importlib-metadata==8.7.1 # via @@ -290,7 +291,7 @@ ipykernel==6.29.5 # via # nbclassic # notebook -ipython==9.9.0 +ipython==9.10.0 # via # crystal_toolkit (pyproject.toml) # ipykernel @@ -386,13 +387,13 @@ jupyterlab-server==2.28.0 # via jupyterlab kaleido==1.2.0 # via crystal_toolkit (pyproject.toml) -kiwisolver==1.4.9 +kiwisolver==1.5.0 # via matplotlib lark==1.3.1 # via rfc3987-syntax latexcodec==3.0.1 # via pybtex -lazy-loader==0.4 +lazy-loader==0.5 # via scikit-image llvmlite==0.46.0 # via numba @@ -436,7 +437,7 @@ mistune==3.2.0 # via # m2r # nbconvert -monty==2025.3.3 +monty==2026.2.18 # via # emmet-core # ifermi @@ -448,17 +449,15 @@ more-itertools==10.8.0 # via # dash-extensions # inflect -mp-api==0.45.15 +mp-api==0.46.0 # via crystal_toolkit (pyproject.toml) mpire==2.10.2 # via py4dstem mpmath==1.3.0 # via sympy msgpack==1.1.2 - # via - # distributed - # mp-api -multidict==6.7.0 + # via distributed +multidict==6.7.1 # via # aiohttp # yarl @@ -466,7 +465,7 @@ multiprocess==0.70.19 # via dash mypy-extensions==1.1.0 # via black -narwhals==2.15.0 +narwhals==2.18.0 # via plotly nbclassic==1.3.3 # via @@ -474,7 +473,7 @@ nbclassic==1.3.3 # notebook nbclient==0.10.4 # via nbconvert -nbconvert==7.16.6 +nbconvert==7.17.0 # via # jupyter-server # notebook @@ -507,7 +506,7 @@ notebook==6.5.7 # via jupyterlab notebook-shim==0.2.4 # via nbclassic -numba==0.63.1 +numba==0.64.0 # via # hiphive # sparse @@ -553,7 +552,7 @@ numpy==1.26.4 # trimesh numpy-stl==3.2.0 # via meshcut -orjson==3.11.5 +orjson==3.11.7 # via # kaleido # mp-api @@ -594,11 +593,11 @@ pandas==2.3.3 # pymatgen pandocfilters==1.5.1 # via nbconvert -parso==0.8.5 +parso==0.8.6 # via jedi partd==1.4.2 # via dask -pathspec==1.0.3 +pathspec==1.0.4 # via black percy==2.0.2 # via dash @@ -606,23 +605,24 @@ pexpect==4.9.0 # via # dephell-shells # ipython -phonopy==2.47.1 +phonopy==3.1.0 # via crystal_toolkit (pyproject.toml) -pillow==12.1.0 +pillow==12.1.1 # via # imageio # matplotlib # scikit-image -platformdirs==4.5.1 +platformdirs==4.9.4 # via # black # jupyter-core + # python-discovery # virtualenv -playwright==1.57.0 +playwright==1.58.0 # via # crystal_toolkit (pyproject.toml) # pytest-playwright -plotly==6.5.2 +plotly==6.6.0 # via # dash # ifermi @@ -643,7 +643,7 @@ propcache==0.4.1 # via # aiohttp # yarl -psutil==7.2.1 +psutil==7.2.2 # via # dash # distributed @@ -659,7 +659,7 @@ pure-eval==0.2.3 # via stack-data py4dstem==0.14.18 # via crystal_toolkit (pyproject.toml) -pyaml==25.7.0 +pyaml==26.2.1 # via scikit-optimize pybtex==0.25.1 # via @@ -675,12 +675,12 @@ pydantic==2.12.5 # pymatgen-io-validation pydantic-core==2.41.5 # via pydantic -pydantic-settings==2.12.0 +pydantic-settings==2.13.1 # via # crystal_toolkit (pyproject.toml) # emmet-core # pymatgen-io-validation -pyee==13.0.0 +pyee==13.0.1 # via playwright pyfftw==0.15.1 # via @@ -738,7 +738,9 @@ python-dateutil==2.9.0.post0 # jupyter-client # matplotlib # pandas -python-dotenv==1.2.1 +python-discovery==1.1.3 + # via virtualenv +python-dotenv==1.2.2 # via pydantic-settings python-json-logger==4.0.0 # via jupyter-events @@ -746,9 +748,9 @@ python-slugify==8.0.4 # via pytest-playwright python-utils==3.9.1 # via numpy-stl -pytokens==0.4.0 +pytokens==0.4.1 # via black -pytz==2025.2 +pytz==2026.1.post1 # via pandas pyyaml==6.0.3 # via @@ -768,7 +770,7 @@ pyzmq==27.1.0 # notebook recommonmark==0.7.1 # via crystal_toolkit (pyproject.toml) -redis==7.1.0 +redis==7.3.0 # via crystal_toolkit (pyproject.toml) referencing==0.37.0 # via @@ -834,7 +836,7 @@ scikit-learn==1.4.2 # trainstation scikit-optimize==0.10.2 # via py4dstem -scipy==1.17.0 +scipy==1.17.1 # via # ase # boltztrap2 @@ -872,15 +874,13 @@ six==1.17.0 # jsbeautifier # python-dateutil # rfc3339-validator -smart-open==7.5.0 - # via mp-api snowballstemmer==3.0.1 # via sphinx sortedcontainers==2.4.0 # via distributed soupsieve==2.8.3 # via beautifulsoup4 -sparse==0.17.0 +sparse==0.18.0 # via dscribe spglib==2.7.0 # via @@ -914,14 +914,14 @@ sphinxcontrib-serializinghtml==2.0.0 # via sphinx stack-data==0.6.3 # via ipython -symfc==1.6.0 +symfc==1.6.1 # via phonopy sympy==1.14.0 # via # hiphive # matminer # pymatgen -tabulate==0.9.0 +tabulate==0.10.0 # via # ifermi # pymatgen @@ -940,7 +940,7 @@ threadpoolctl==3.6.0 # via # py4dstem # scikit-learn -tifffile==2026.1.14 +tifffile==2026.3.3 # via scikit-image tinycss2==1.4.0 # via bleach @@ -951,7 +951,7 @@ toolz==1.1.0 # dask # distributed # partd -tornado==6.5.4 +tornado==6.5.5 # via # distributed # ipykernel @@ -960,7 +960,7 @@ tornado==6.5.4 # jupyterlab # notebook # terminado -tqdm==4.67.1 +tqdm==4.67.3 # via # emdfile # gdown @@ -984,9 +984,9 @@ traitlets==5.14.3 # nbconvert # nbformat # notebook -trimesh==4.11.1 +trimesh==4.11.3 # via ifermi -typeguard==4.4.4 +typeguard==4.5.1 # via inflect typing-extensions==4.15.0 # via @@ -1026,13 +1026,13 @@ urllib3==1.26.20 # distributed # requests # selenium -virtualenv==20.36.1 +virtualenv==21.2.0 # via pre-commit -vtk==9.5.2 +vtk==9.6.0 # via dash-vtk waitress==3.0.2 # via dash -wcwidth==0.3.1 +wcwidth==0.6.0 # via prompt-toolkit webcolors==25.10.0 # via @@ -1044,17 +1044,15 @@ webencodings==0.5.1 # tinycss2 websocket-client==1.9.0 # via jupyter-server -werkzeug==3.1.5 +werkzeug==3.1.6 # via # dash # flask -wrapt==2.0.1 - # via smart-open y-py==0.6.2 # via # jupyter-ydoc # ypy-websocket -yarl==1.22.0 +yarl==1.23.0 # via aiohttp yaspin==3.4.0 # via dephell diff --git a/requirements/ubuntu-latest_py3.12.txt b/requirements/ubuntu-latest_py3.12.txt index e27411b3..f021b3f1 100644 --- a/requirements/ubuntu-latest_py3.12.txt +++ b/requirements/ubuntu-latest_py3.12.txt @@ -6,33 +6,25 @@ # annotated-types==0.7.0 # via pydantic -ase==3.27.0 - # via boltztrap2 asttokens==3.0.1 # via stack-data -bibtexparser==1.4.3 +bibtexparser==1.4.4 # via pymatgen blake3==1.0.8 # via emmet-core blinker==1.9.0 # via flask -boltztrap2==25.3.1 - # via crystal_toolkit (pyproject.toml) -boto3==1.42.33 +boto3==1.42.67 # via mp-api -botocore==1.42.33 +botocore==1.42.67 # via # boto3 # s3transfer cachelib==0.13.0 # via flask-caching -certifi==2026.1.4 - # via - # netcdf4 - # requests -cftime==1.6.5 - # via netcdf4 -charset-normalizer==3.4.4 +certifi==2026.2.25 + # via requests +charset-normalizer==3.4.5 # via requests click==8.3.1 # via flask @@ -40,35 +32,33 @@ contourpy==1.3.3 # via matplotlib cycler==0.12.1 # via matplotlib -cython==3.2.4 - # via boltztrap2 -dash==3.4.0 +dash==4.0.0 # via crystal_toolkit (pyproject.toml) dash-mp-components==0.5.1rc5 # via crystal_toolkit (pyproject.toml) decorator==5.2.1 # via ipython -emmet-core==0.86.2 +emmet-core==0.86.3 # via mp-api executing==2.2.1 # via stack-data -flask==3.1.2 +flask==3.1.3 # via # dash # flask-caching flask-caching==2.3.1 # via crystal_toolkit (pyproject.toml) -fonttools==4.61.1 +fonttools==4.62.1 # via matplotlib frozendict==2.4.7 # via crystal_toolkit (pyproject.toml) idna==3.11 # via requests -imageio==2.37.2 +imageio==2.37.3 # via scikit-image importlib-metadata==8.7.1 # via dash -ipython==9.9.0 +ipython==9.11.0 # via crystal_toolkit (pyproject.toml) ipython-pygments-lexers==1.1.1 # via ipython @@ -86,11 +76,11 @@ joblib==1.5.3 # via # pymatgen # scikit-learn -kiwisolver==1.4.9 +kiwisolver==1.5.0 # via matplotlib latexcodec==3.0.1 # via pybtex -lazy-loader==0.4 +lazy-loader==0.5 # via scikit-image markupsafe==3.0.3 # via @@ -98,43 +88,32 @@ markupsafe==3.0.3 # jinja2 # werkzeug matplotlib==3.10.8 - # via - # ase - # boltztrap2 - # pymatgen + # via pymatgen matplotlib-inline==0.2.1 # via ipython -monty==2025.3.3 +monty==2026.2.18 # via # emmet-core # mp-api # pymatgen -mp-api==0.45.15 +mp-api==0.46.0 # via crystal_toolkit (pyproject.toml) mpmath==1.3.0 # via sympy -msgpack==1.1.2 - # via mp-api -narwhals==2.15.0 +narwhals==2.18.0 # via plotly nest-asyncio==1.6.0 # via dash -netcdf4==1.7.4 - # via boltztrap2 networkx==3.6.1 # via # pymatgen # scikit-image -numpy==2.4.1 +numpy==2.4.3 # via - # ase - # boltztrap2 - # cftime # contourpy # imageio # matplotlib # monty - # netcdf4 # pandas # pymatgen # pymatgen-io-validation @@ -144,7 +123,7 @@ numpy==2.4.1 # shapely # spglib # tifffile -orjson==3.11.5 +orjson==3.11.7 # via # mp-api # pymatgen @@ -156,18 +135,18 @@ packaging==26.0 # scikit-image palettable==3.3.3 # via pymatgen -pandas==3.0.0 +pandas==3.0.1 # via pymatgen -parso==0.8.5 +parso==0.8.6 # via jedi pexpect==4.9.0 # via ipython -pillow==12.1.0 +pillow==12.1.1 # via # imageio # matplotlib # scikit-image -plotly==6.5.2 +plotly==6.6.0 # via # dash # pymatgen @@ -186,7 +165,7 @@ pydantic==2.12.5 # pymatgen-io-validation pydantic-core==2.41.5 # via pydantic -pydantic-settings==2.12.0 +pydantic-settings==2.13.1 # via # crystal_toolkit (pyproject.toml) # emmet-core @@ -212,7 +191,7 @@ python-dateutil==2.9.0.post0 # botocore # matplotlib # pandas -python-dotenv==1.2.1 +python-dotenv==1.2.2 # via pydantic-settings pyyaml==6.0.3 # via pybtex @@ -234,10 +213,8 @@ scikit-image==0.26.0 # via crystal_toolkit (pyproject.toml) scikit-learn==1.8.0 # via crystal_toolkit (pyproject.toml) -scipy==1.17.0 +scipy==1.17.1 # via - # ase - # boltztrap2 # pymatgen # scikit-image # scikit-learn @@ -245,23 +222,19 @@ shapely==2.1.2 # via crystal_toolkit (pyproject.toml) six==1.17.0 # via python-dateutil -smart-open==7.5.0 - # via mp-api spglib==2.7.0 - # via - # boltztrap2 - # pymatgen + # via pymatgen stack-data==0.6.3 # via ipython sympy==1.14.0 # via pymatgen -tabulate==0.9.0 +tabulate==0.10.0 # via pymatgen threadpoolctl==3.6.0 # via scikit-learn -tifffile==2026.1.14 +tifffile==2026.3.3 # via scikit-image -tqdm==4.67.1 +tqdm==4.67.3 # via pymatgen traitlets==5.14.3 # via @@ -286,16 +259,14 @@ urllib3==2.6.3 # via # botocore # requests -wcwidth==0.3.1 +wcwidth==0.6.0 # via prompt-toolkit webcolors==25.10.0 # via crystal_toolkit (pyproject.toml) -werkzeug==3.1.5 +werkzeug==3.1.6 # via # dash # flask -wrapt==2.0.1 - # via smart-open zipp==3.23.0 # via importlib-metadata diff --git a/requirements/ubuntu-latest_py3.12_extras.txt b/requirements/ubuntu-latest_py3.12_extras.txt index f5eff234..14c5919d 100644 --- a/requirements/ubuntu-latest_py3.12_extras.txt +++ b/requirements/ubuntu-latest_py3.12_extras.txt @@ -49,7 +49,7 @@ attrs==25.4.0 # dephell-venvs # jsonschema # referencing -babel==2.17.0 +babel==2.18.0 # via # jupyterlab-server # sphinx @@ -58,9 +58,9 @@ beautifulsoup4==4.14.3 # dash # gdown # nbconvert -bibtexparser==1.4.3 +bibtexparser==1.4.4 # via pymatgen -black==26.1.0 +black==26.3.1 # via crystal_toolkit (pyproject.toml) blake3==1.0.8 # via emmet-core @@ -72,9 +72,9 @@ boltztrap2==25.3.1 # via # crystal_toolkit (pyproject.toml) # ifermi -boto3==1.42.33 +boto3==1.42.67 # via mp-api -botocore==1.42.33 +botocore==1.42.67 # via # boto3 # s3transfer @@ -82,7 +82,7 @@ cachelib==0.13.0 # via flask-caching cerberus==1.3.8 # via dephell -certifi==2026.1.4 +certifi==2026.2.25 # via # dephell # netcdf4 @@ -95,7 +95,7 @@ cfgv==3.5.0 # via pre-commit cftime==1.6.5 # via netcdf4 -charset-normalizer==3.4.4 +charset-normalizer==3.4.5 # via requests choreographer==1.2.1 # via kaleido @@ -118,9 +118,9 @@ commonmark==0.9.1 # via recommonmark contourpy==1.3.3 # via matplotlib -coverage[toml]==7.13.1 +coverage[toml]==7.13.4 # via pytest-cov -cryptography==46.0.3 +cryptography==46.0.5 # via dash crystaltoolkit-extension==0.6.0 # via crystal_toolkit (pyproject.toml) @@ -128,12 +128,12 @@ cycler==0.12.1 # via matplotlib cython==3.2.4 # via boltztrap2 -dash[testing]==3.4.0 +dash[testing]==4.0.0 # via # crystal_toolkit (pyproject.toml) # dash-extensions # dash-vtk -dash-extensions==2.0.4 +dash-extensions==2.0.5 # via crystal_toolkit (pyproject.toml) dash-mp-components==0.5.1rc5 # via crystal_toolkit (pyproject.toml) @@ -141,13 +141,13 @@ dash-testing-stub==0.0.2 # via dash dash-vtk==0.0.9 # via crystal_toolkit (pyproject.toml) -dask==2026.1.1 +dask==2026.1.2 # via # distributed # py4dstem dataclass-wizard==0.39.1 # via dash-extensions -debugpy==1.8.19 +debugpy==1.8.20 # via ipykernel decorator==5.2.1 # via ipython @@ -192,7 +192,7 @@ dill==0.4.1 # py4dstem distlib==0.4.0 # via virtualenv -distributed==2026.1.1 +distributed==2026.1.2 # via py4dstem dnspython==2.8.0 # via pymongo @@ -208,7 +208,7 @@ editorconfig==0.17.1 # via jsbeautifier emdfile==0.0.16 # via py4dstem -emmet-core==0.86.2 +emmet-core==0.86.3 # via mp-api entrypoints==0.4 # via jupyter-client @@ -216,11 +216,12 @@ executing==2.2.1 # via stack-data fastjsonschema==2.21.2 # via nbformat -filelock==3.20.3 +filelock==3.25.2 # via # gdown + # python-discovery # virtualenv -flask==3.1.2 +flask==3.1.3 # via # dash # flask-caching @@ -228,7 +229,7 @@ flask-caching==2.3.1 # via # crystal_toolkit (pyproject.toml) # dash-extensions -fonttools==4.61.1 +fonttools==4.62.1 # via matplotlib fqdn==1.5.1 # via jsonschema @@ -238,19 +239,19 @@ frozenlist==1.8.0 # via # aiohttp # aiosignal -fsspec==2026.1.0 +fsspec==2026.2.0 # via dask gdown==5.2.1 # via py4dstem gevent==25.9.1 # via gunicorn -greenlet==3.3.0 +greenlet==3.3.2 # via # gevent # playwright -gunicorn[gevent]==23.0.0 +gunicorn[gevent]==25.1.0 # via crystal_toolkit (pyproject.toml) -h5py==3.15.1 +h5py==3.16.0 # via # emdfile # hdf5plugin @@ -264,7 +265,7 @@ hdf5plugin==6.0.0 # via py4dstem hiphive==1.5 # via crystal_toolkit (pyproject.toml) -identify==2.6.16 +identify==2.6.17 # via pre-commit idna==3.11 # via @@ -272,11 +273,11 @@ idna==3.11 # jsonschema # requests # yarl -ifermi==0.3.6 +ifermi==0.3.7 # via crystal_toolkit (pyproject.toml) -imageio==2.37.2 +imageio==2.37.3 # via scikit-image -imagesize==1.4.1 +imagesize==2.0.0 # via sphinx importlib-metadata==8.7.1 # via dash @@ -288,7 +289,7 @@ ipykernel==6.29.5 # via # nbclassic # notebook -ipython==9.9.0 +ipython==9.11.0 # via # crystal_toolkit (pyproject.toml) # ipykernel @@ -384,13 +385,13 @@ jupyterlab-server==2.28.0 # via jupyterlab kaleido==1.2.0 # via crystal_toolkit (pyproject.toml) -kiwisolver==1.4.9 +kiwisolver==1.5.0 # via matplotlib lark==1.3.1 # via rfc3987-syntax latexcodec==3.0.1 # via pybtex -lazy-loader==0.4 +lazy-loader==0.5 # via scikit-image llvmlite==0.46.0 # via numba @@ -434,7 +435,7 @@ mistune==3.2.0 # via # m2r # nbconvert -monty==2025.3.3 +monty==2026.2.18 # via # emmet-core # ifermi @@ -446,17 +447,15 @@ more-itertools==10.8.0 # via # dash-extensions # inflect -mp-api==0.45.15 +mp-api==0.46.0 # via crystal_toolkit (pyproject.toml) mpire==2.10.2 # via py4dstem mpmath==1.3.0 # via sympy msgpack==1.1.2 - # via - # distributed - # mp-api -multidict==6.7.0 + # via distributed +multidict==6.7.1 # via # aiohttp # yarl @@ -464,7 +463,7 @@ multiprocess==0.70.19 # via dash mypy-extensions==1.1.0 # via black -narwhals==2.15.0 +narwhals==2.18.0 # via plotly nbclassic==1.3.3 # via @@ -472,7 +471,7 @@ nbclassic==1.3.3 # notebook nbclient==0.10.4 # via nbconvert -nbconvert==7.16.6 +nbconvert==7.17.0 # via # jupyter-server # notebook @@ -505,7 +504,7 @@ notebook==6.5.7 # via jupyterlab notebook-shim==0.2.4 # via nbclassic -numba==0.63.1 +numba==0.64.0 # via # hiphive # sparse @@ -551,7 +550,7 @@ numpy==1.26.4 # trimesh numpy-stl==3.2.0 # via meshcut -orjson==3.11.5 +orjson==3.11.7 # via # kaleido # mp-api @@ -590,11 +589,11 @@ pandas==2.3.3 # pymatgen pandocfilters==1.5.1 # via nbconvert -parso==0.8.5 +parso==0.8.6 # via jedi partd==1.4.2 # via dask -pathspec==1.0.3 +pathspec==1.0.4 # via black percy==2.0.2 # via dash @@ -602,23 +601,24 @@ pexpect==4.9.0 # via # dephell-shells # ipython -phonopy==2.47.1 +phonopy==3.1.0 # via crystal_toolkit (pyproject.toml) -pillow==12.1.0 +pillow==12.1.1 # via # imageio # matplotlib # scikit-image -platformdirs==4.5.1 +platformdirs==4.9.4 # via # black # jupyter-core + # python-discovery # virtualenv -playwright==1.57.0 +playwright==1.58.0 # via # crystal_toolkit (pyproject.toml) # pytest-playwright -plotly==6.5.2 +plotly==6.6.0 # via # dash # ifermi @@ -639,7 +639,7 @@ propcache==0.4.1 # via # aiohttp # yarl -psutil==7.2.1 +psutil==7.2.2 # via # dash # distributed @@ -655,7 +655,7 @@ pure-eval==0.2.3 # via stack-data py4dstem==0.14.18 # via crystal_toolkit (pyproject.toml) -pyaml==25.7.0 +pyaml==26.2.1 # via scikit-optimize pybtex==0.25.1 # via @@ -671,12 +671,12 @@ pydantic==2.12.5 # pymatgen-io-validation pydantic-core==2.41.5 # via pydantic -pydantic-settings==2.12.0 +pydantic-settings==2.13.1 # via # crystal_toolkit (pyproject.toml) # emmet-core # pymatgen-io-validation -pyee==13.0.0 +pyee==13.0.1 # via playwright pyfftw==0.15.1 # via @@ -734,7 +734,9 @@ python-dateutil==2.9.0.post0 # jupyter-client # matplotlib # pandas -python-dotenv==1.2.1 +python-discovery==1.1.3 + # via virtualenv +python-dotenv==1.2.2 # via pydantic-settings python-json-logger==4.0.0 # via jupyter-events @@ -742,9 +744,9 @@ python-slugify==8.0.4 # via pytest-playwright python-utils==3.9.1 # via numpy-stl -pytokens==0.4.0 +pytokens==0.4.1 # via black -pytz==2025.2 +pytz==2026.1.post1 # via pandas pyyaml==6.0.3 # via @@ -764,7 +766,7 @@ pyzmq==27.1.0 # notebook recommonmark==0.7.1 # via crystal_toolkit (pyproject.toml) -redis==7.1.0 +redis==7.3.0 # via crystal_toolkit (pyproject.toml) referencing==0.37.0 # via @@ -830,7 +832,7 @@ scikit-learn==1.4.2 # trainstation scikit-optimize==0.10.2 # via py4dstem -scipy==1.17.0 +scipy==1.17.1 # via # ase # boltztrap2 @@ -868,15 +870,13 @@ six==1.17.0 # jsbeautifier # python-dateutil # rfc3339-validator -smart-open==7.5.0 - # via mp-api snowballstemmer==3.0.1 # via sphinx sortedcontainers==2.4.0 # via distributed soupsieve==2.8.3 # via beautifulsoup4 -sparse==0.17.0 +sparse==0.18.0 # via dscribe spglib==2.7.0 # via @@ -910,14 +910,14 @@ sphinxcontrib-serializinghtml==2.0.0 # via sphinx stack-data==0.6.3 # via ipython -symfc==1.6.0 +symfc==1.6.1 # via phonopy sympy==1.14.0 # via # hiphive # matminer # pymatgen -tabulate==0.9.0 +tabulate==0.10.0 # via # ifermi # pymatgen @@ -936,7 +936,7 @@ threadpoolctl==3.6.0 # via # py4dstem # scikit-learn -tifffile==2026.1.14 +tifffile==2026.3.3 # via scikit-image tinycss2==1.4.0 # via bleach @@ -947,7 +947,7 @@ toolz==1.1.0 # dask # distributed # partd -tornado==6.5.4 +tornado==6.5.5 # via # distributed # ipykernel @@ -956,7 +956,7 @@ tornado==6.5.4 # jupyterlab # notebook # terminado -tqdm==4.67.1 +tqdm==4.67.3 # via # emdfile # gdown @@ -980,9 +980,9 @@ traitlets==5.14.3 # nbconvert # nbformat # notebook -trimesh==4.11.1 +trimesh==4.11.3 # via ifermi -typeguard==4.4.4 +typeguard==4.5.1 # via inflect typing-extensions==4.15.0 # via @@ -1020,13 +1020,13 @@ urllib3==1.26.20 # distributed # requests # selenium -virtualenv==20.36.1 +virtualenv==21.2.0 # via pre-commit -vtk==9.5.2 +vtk==9.6.0 # via dash-vtk waitress==3.0.2 # via dash -wcwidth==0.3.1 +wcwidth==0.6.0 # via prompt-toolkit webcolors==25.10.0 # via @@ -1038,17 +1038,15 @@ webencodings==0.5.1 # tinycss2 websocket-client==1.9.0 # via jupyter-server -werkzeug==3.1.5 +werkzeug==3.1.6 # via # dash # flask -wrapt==2.0.1 - # via smart-open y-py==0.6.2 # via # jupyter-ydoc # ypy-websocket -yarl==1.22.0 +yarl==1.23.0 # via aiohttp yaspin==3.4.0 # via dephell