diff --git a/docs/user-guide/installation.md b/docs/user-guide/installation.md index 250cb339..a8dd90c1 100644 --- a/docs/user-guide/installation.md +++ b/docs/user-guide/installation.md @@ -1,6 +1,6 @@ # Installation -To install ESSreflectometry and all of its dependencies, use +To install ESSreflectometry and all of its required dependencies, use `````{tab-set} ````{tab-item} pip @@ -14,3 +14,19 @@ conda install -c conda-forge -c scipp essreflectometry ``` ```` ````` + +To install ESSreflectometry and all of its dependencies, +including dependencies used in the graphical user interface for batch reduction, use + +`````{tab-set} +````{tab-item} pip +```sh +pip install essreflectometry[all] +``` +```` +````{tab-item} conda +```sh +conda install -c conda-forge -c scipp essreflectometry ipywidgets ipydatagrid ipytree pythreejs +``` +```` +````` diff --git a/pyproject.toml b/pyproject.toml index 232328c2..80848da4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -35,7 +35,6 @@ dependencies = [ "python-dateutil", "graphviz", "plopp", - "pythreejs", "orsopy", "sciline>=24.6.0", "scipp>=24.09.1", # Fixed new hist/bin API @@ -43,9 +42,6 @@ dependencies = [ "scippnexus>=24.9.1", "essreduce", "pandas", - "ipywidgets", - "ipydatagrid", - "ipytree", ] dynamic = ["version"] @@ -55,6 +51,12 @@ test = [ "pytest", "pooch", ] +all = [ + "ipywidgets", + "ipydatagrid", + "ipytree", + "pythreejs", +] [project.urls] "Bug Tracker" = "https://github.com/scipp/essreflectometry/issues" diff --git a/requirements/base.in b/requirements/base.in index ca2f1e60..9af604e5 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -6,7 +6,6 @@ dask python-dateutil graphviz plopp -pythreejs orsopy sciline>=24.6.0 scipp>=24.09.1 @@ -14,6 +13,3 @@ scippneutron>=24.7.0 scippnexus>=24.9.1 essreduce pandas -ipywidgets -ipydatagrid -ipytree diff --git a/requirements/base.txt b/requirements/base.txt index 326e74b3..1038837b 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,4 +1,4 @@ -# SHA1:f969ab6f386658dc46c7b372a54f9287f240403c +# SHA1:e1f1193e2c78c1dda6ffc784197fb6babbad9245 # # This file is autogenerated by pip-compile-multi # To update, run: @@ -7,42 +7,28 @@ # annotated-types==0.7.0 # via pydantic -asttokens==3.0.0 - # via stack-data -bqplot==0.12.44 - # via ipydatagrid click==8.1.8 # via dask cloudpickle==3.1.1 # via dask -comm==0.2.2 - # via ipywidgets -contourpy==1.3.1 +contourpy==1.3.2 # via matplotlib cyclebane==24.10.0 # via sciline cycler==0.12.1 # via matplotlib -dask==2025.3.0 +dask==2025.4.0 # via -r base.in -decorator==5.2.1 - # via ipython dnspython==2.7.0 # via email-validator email-validator==2.2.0 # via scippneutron essreduce==25.4.1 # via -r base.in -exceptiongroup==1.2.2 - # via ipython -executing==2.2.0 - # via stack-data fonttools==4.57.0 # via matplotlib fsspec==2025.3.2 # via dask -gast==0.4.0 - # via py2vega graphviz==0.20.3 # via -r base.in h5py==3.13.0 @@ -53,26 +39,6 @@ idna==3.10 # via email-validator importlib-metadata==8.6.1 # via dask -ipydatagrid==1.4.0 - # via -r base.in -ipydatawidgets==4.3.5 - # via pythreejs -ipython==8.35.0 - # via ipywidgets -ipytree==0.2.2 - # via -r base.in -ipywidgets==8.1.5 - # via - # -r base.in - # bqplot - # ipydatagrid - # ipydatawidgets - # ipytree - # pythreejs -jedi==0.19.2 - # via ipython -jupyterlab-widgets==3.0.13 - # via ipywidgets kiwisolver==1.4.8 # via matplotlib lazy-loader==0.4 @@ -85,63 +51,41 @@ matplotlib==3.10.1 # via # mpltoolbox # plopp -matplotlib-inline==0.1.7 - # via ipython mpltoolbox==24.5.1 # via scippneutron networkx==3.4.2 # via cyclebane -numpy==2.2.4 +numpy==2.2.5 # via - # bqplot # contourpy # h5py - # ipydatawidgets # matplotlib # mpltoolbox # pandas - # pythreejs # scipp # scippneutron # scipy orsopy==1.2.1 # via -r base.in -packaging==24.2 +packaging==25.0 # via # dask # lazy-loader # matplotlib pandas==2.2.3 - # via - # -r base.in - # bqplot - # ipydatagrid -parso==0.8.4 - # via jedi + # via -r base.in partd==1.4.2 # via dask -pexpect==4.9.0 - # via ipython -pillow==11.1.0 +pillow==11.2.1 # via matplotlib -plopp==25.3.0 +plopp==25.4.1 # via # -r base.in # scippneutron -prompt-toolkit==3.0.50 - # via ipython -ptyprocess==0.7.0 - # via pexpect -pure-eval==0.2.3 - # via stack-data -py2vega==0.6.1 - # via ipydatagrid pydantic==2.11.3 # via scippneutron pydantic-core==2.33.1 # via pydantic -pygments==2.19.1 - # via ipython pyparsing==3.2.3 # via matplotlib python-dateutil==2.9.0.post0 @@ -151,8 +95,6 @@ python-dateutil==2.9.0.post0 # pandas # scippneutron # scippnexus -pythreejs==2.4.2 - # via -r base.in pytz==2025.2 # via pandas pyyaml==6.0.2 @@ -184,28 +126,12 @@ scipy==1.15.2 # scippnexus six==1.17.0 # via python-dateutil -stack-data==0.6.3 - # via ipython toolz==1.0.0 # via # dask # partd -traitlets==5.14.3 - # via - # bqplot - # comm - # ipython - # ipywidgets - # matplotlib-inline - # pythreejs - # traittypes -traittypes==0.2.1 - # via - # bqplot - # ipydatawidgets -typing-extensions==4.13.1 +typing-extensions==4.13.2 # via - # ipython # pydantic # pydantic-core # sciline @@ -214,9 +140,5 @@ typing-inspection==0.4.0 # via pydantic tzdata==2025.2 # via pandas -wcwidth==0.2.13 - # via prompt-toolkit -widgetsnbextension==4.0.13 - # via ipywidgets zipp==3.21.0 # via importlib-metadata diff --git a/requirements/basetest.txt b/requirements/basetest.txt index d592d5dc..d04cf3f9 100644 --- a/requirements/basetest.txt +++ b/requirements/basetest.txt @@ -15,7 +15,7 @@ idna==3.10 # via requests iniconfig==2.1.0 # via pytest -packaging==24.2 +packaging==25.0 # via # pooch # pytest @@ -31,5 +31,5 @@ requests==2.32.3 # via pooch tomli==2.2.1 # via pytest -urllib3==2.3.0 +urllib3==2.4.0 # via requests diff --git a/requirements/ci.txt b/requirements/ci.txt index 176b5124..3dabe641 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -27,7 +27,7 @@ gitpython==3.1.44 # via -r ci.in idna==3.10 # via requests -packaging==24.2 +packaging==25.0 # via # -r ci.in # pyproject-api @@ -50,9 +50,9 @@ tomli==2.2.1 # tox tox==4.25.0 # via -r ci.in -typing-extensions==4.13.1 +typing-extensions==4.13.2 # via tox -urllib3==2.3.0 +urllib3==2.4.0 # via requests virtualenv==20.30.0 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index 091efdaf..42389951 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -26,7 +26,7 @@ async-lru==2.0.5 # via jupyterlab cffi==1.17.1 # via argon2-cffi-bindings -copier==9.6.0 +copier==9.7.1 # via -r dev.in dunamai==1.23.1 # via copier @@ -34,9 +34,9 @@ fqdn==1.5.1 # via jsonschema funcy==2.0 # via copier -h11==0.14.0 +h11==0.16.0 # via httpcore -httpcore==1.0.7 +httpcore==1.0.9 # via httpx httpx==0.28.1 # via jupyterlab @@ -65,7 +65,7 @@ jupyter-server==2.15.0 # notebook-shim jupyter-server-terminals==0.5.3 # via jupyter-server -jupyterlab==4.4.0 +jupyterlab==4.4.1 # via -r dev.in jupyterlab-server==2.27.3 # via jupyterlab @@ -75,7 +75,7 @@ overrides==7.7.0 # via jupyter-server pathspec==0.12.1 # via copier -pip-compile-multi==2.8.0 +pip-compile-multi==3.0.0 # via -r dev.in pip-tools==7.4.1 # via pip-compile-multi diff --git a/requirements/docs.in b/requirements/docs.in index 95ce34c7..6936a611 100644 --- a/requirements/docs.in +++ b/requirements/docs.in @@ -10,3 +10,6 @@ sphinx-copybutton sphinx-design pooch ipympl +ipywidgets +ipydatagrid +ipytree diff --git a/requirements/docs.txt b/requirements/docs.txt index e76c622d..743ac18d 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,4 +1,4 @@ -# SHA1:e26e1d854aa3a5d743685944dea0a78f18893dfb +# SHA1:4f1b07bf44faee3c2f897a673e9229b4276d29f9 # # This file is autogenerated by pip-compile-multi # To update, run: @@ -10,6 +10,8 @@ accessible-pygments==0.0.5 # via pydata-sphinx-theme alabaster==1.0.0 # via sphinx +asttokens==3.0.0 + # via stack-data attrs==25.3.0 # via # jsonschema @@ -18,18 +20,26 @@ babel==2.17.0 # via # pydata-sphinx-theme # sphinx -beautifulsoup4==4.13.3 +beautifulsoup4==4.13.4 # via # nbconvert # pydata-sphinx-theme bleach[css]==6.2.0 # via nbconvert +bqplot==0.12.44 + # via ipydatagrid certifi==2025.1.31 # via requests charset-normalizer==3.4.1 # via requests -debugpy==1.8.13 +comm==0.2.2 + # via + # ipykernel + # ipywidgets +debugpy==1.8.14 # via ipykernel +decorator==5.2.1 + # via ipython defusedxml==0.7.1 # via nbconvert docutils==0.21.2 @@ -38,14 +48,39 @@ docutils==0.21.2 # nbsphinx # pydata-sphinx-theme # sphinx +exceptiongroup==1.2.2 + # via ipython +executing==2.2.0 + # via stack-data fastjsonschema==2.21.1 # via nbformat +gast==0.4.0 + # via py2vega imagesize==1.4.1 # via sphinx +ipydatagrid==1.4.0 + # via -r docs.in ipykernel==6.29.5 # via -r docs.in ipympl==0.9.7 # via -r docs.in +ipython==8.35.0 + # via + # -r docs.in + # ipykernel + # ipympl + # ipywidgets +ipytree==0.2.2 + # via -r docs.in +ipywidgets==8.1.6 + # via + # -r docs.in + # bqplot + # ipydatagrid + # ipympl + # ipytree +jedi==0.19.2 + # via ipython jinja2==3.1.6 # via # myst-parser @@ -54,7 +89,7 @@ jinja2==3.1.6 # sphinx jsonschema==4.23.0 # via nbformat -jsonschema-specifications==2024.10.1 +jsonschema-specifications==2025.4.1 # via jsonschema jupyter-client==8.6.3 # via @@ -69,6 +104,8 @@ jupyter-core==5.7.2 # nbformat jupyterlab-pygments==0.3.0 # via nbconvert +jupyterlab-widgets==3.0.14 + # via ipywidgets markdown-it-py==3.0.0 # via # mdit-py-plugins @@ -77,6 +114,10 @@ markupsafe==3.0.2 # via # jinja2 # nbconvert +matplotlib-inline==0.1.7 + # via + # ipykernel + # ipython mdit-py-plugins==0.4.2 # via myst-parser mdurl==0.1.2 @@ -100,16 +141,35 @@ nest-asyncio==1.6.0 # via ipykernel pandocfilters==1.5.1 # via nbconvert +parso==0.8.4 + # via jedi +pexpect==4.9.0 + # via ipython platformdirs==4.3.7 # via # jupyter-core # pooch pooch==1.8.2 # via -r docs.in +prompt-toolkit==3.0.51 + # via ipython psutil==7.0.0 # via ipykernel +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.3 + # via stack-data +py2vega==0.6.1 + # via ipydatagrid pydata-sphinx-theme==0.16.1 # via -r docs.in +pygments==2.19.1 + # via + # accessible-pygments + # ipython + # nbconvert + # pydata-sphinx-theme + # sphinx pyzmq==26.4.0 # via # ipykernel @@ -128,7 +188,7 @@ rpds-py==0.24.0 # referencing snowballstemmer==2.2.0 # via sphinx -soupsieve==2.6 +soupsieve==2.7 # via beautifulsoup4 sphinx==8.1.3 # via @@ -157,6 +217,8 @@ sphinxcontrib-qthelp==2.0.0 # via sphinx sphinxcontrib-serializinghtml==2.0.0 # via sphinx +stack-data==0.6.3 + # via ipython tinycss2==1.4.0 # via bleach tomli==2.2.1 @@ -165,9 +227,31 @@ tornado==6.4.2 # via # ipykernel # jupyter-client -urllib3==2.3.0 +traitlets==5.14.3 + # via + # bqplot + # comm + # ipykernel + # ipympl + # ipython + # ipywidgets + # jupyter-client + # jupyter-core + # matplotlib-inline + # nbclient + # nbconvert + # nbformat + # nbsphinx + # traittypes +traittypes==0.2.1 + # via bqplot +urllib3==2.4.0 # via requests +wcwidth==0.2.13 + # via prompt-toolkit webencodings==0.5.1 # via # bleach # tinycss2 +widgetsnbextension==4.0.14 + # via ipywidgets diff --git a/requirements/mypy.txt b/requirements/mypy.txt index 61d88db1..77e99ca3 100644 --- a/requirements/mypy.txt +++ b/requirements/mypy.txt @@ -8,5 +8,5 @@ -r test.txt mypy==1.15.0 # via -r mypy.in -mypy-extensions==1.0.0 +mypy-extensions==1.1.0 # via mypy diff --git a/requirements/nightly.in b/requirements/nightly.in index 0a0764b9..45533e78 100644 --- a/requirements/nightly.in +++ b/requirements/nightly.in @@ -4,13 +4,9 @@ dask python-dateutil graphviz -pythreejs orsopy essreduce pandas -ipywidgets -ipydatagrid -ipytree pytest pooch plopp @ git+https://github.com/scipp/plopp@main diff --git a/requirements/nightly.txt b/requirements/nightly.txt index 929a8f78..493a6fd9 100644 --- a/requirements/nightly.txt +++ b/requirements/nightly.txt @@ -1,4 +1,4 @@ -# SHA1:b955f4fa0430643cc0751f0bf8aa0bc2b4603e08 +# SHA1:1d5357c0111d56b227d417d6b9ca1c0de673c437 # # This file is autogenerated by pip-compile-multi # To update, run: @@ -10,12 +10,6 @@ annotated-types==0.7.0 # via pydantic -asttokens==3.0.0 - # via stack-data -bqplot==0.13.0rc0 - # via ipydatagrid -bqscales==0.3.3 - # via bqplot certifi==2025.1.31 # via requests charset-normalizer==3.4.1 @@ -24,18 +18,14 @@ click==8.1.8 # via dask cloudpickle==3.1.1 # via dask -comm==0.2.2 - # via ipywidgets -contourpy==1.3.1 +contourpy==1.3.2 # via matplotlib cyclebane==24.10.0 # via sciline cycler==0.12.1 # via matplotlib -dask==2025.3.0 +dask==2025.4.0 # via -r nightly.in -decorator==5.2.1 - # via ipython dnspython==2.7.0 # via email-validator email-validator==2.2.0 @@ -43,17 +33,11 @@ email-validator==2.2.0 essreduce==25.4.1 # via -r nightly.in exceptiongroup==1.2.2 - # via - # ipython - # pytest -executing==2.2.0 - # via stack-data + # via pytest fonttools==4.57.0 # via matplotlib fsspec==2025.3.2 # via dask -gast==0.4.0 - # via py2vega graphviz==0.20.3 # via -r nightly.in h5py==3.13.0 @@ -68,27 +52,6 @@ importlib-metadata==8.6.1 # via dask iniconfig==2.1.0 # via pytest -ipydatagrid==1.4.0 - # via -r nightly.in -ipydatawidgets==4.3.5 - # via pythreejs -ipython==8.35.0 - # via ipywidgets -ipytree==0.2.2 - # via -r nightly.in -ipywidgets==8.1.5 - # via - # -r nightly.in - # bqplot - # bqscales - # ipydatagrid - # ipydatawidgets - # ipytree - # pythreejs -jedi==0.19.2 - # via ipython -jupyterlab-widgets==3.0.13 - # via ipywidgets kiwisolver==1.4.8 # via matplotlib lazy-loader==0.4 @@ -101,29 +64,23 @@ matplotlib==3.10.1 # via # mpltoolbox # plopp -matplotlib-inline==0.1.7 - # via ipython mpltoolbox==24.5.1 # via scippneutron networkx==3.4.2 # via cyclebane -numpy==2.2.4 +numpy==2.2.5 # via - # bqplot - # bqscales # contourpy # h5py - # ipydatawidgets # matplotlib # mpltoolbox # pandas - # pythreejs # scipp # scippneutron # scipy orsopy==1.2.1 # via -r nightly.in -packaging==24.2 +packaging==25.0 # via # dask # lazy-loader @@ -131,17 +88,10 @@ packaging==24.2 # pooch # pytest pandas==2.2.3 - # via - # -r nightly.in - # bqplot - # ipydatagrid -parso==0.8.4 - # via jedi + # via -r nightly.in partd==1.4.2 # via dask -pexpect==4.9.0 - # via ipython -pillow==11.1.0 +pillow==11.2.1 # via matplotlib platformdirs==4.3.7 # via pooch @@ -153,20 +103,10 @@ pluggy==1.5.0 # via pytest pooch==1.8.2 # via -r nightly.in -prompt-toolkit==3.0.50 - # via ipython -ptyprocess==0.7.0 - # via pexpect -pure-eval==0.2.3 - # via stack-data -py2vega==0.6.1 - # via ipydatagrid pydantic==2.11.3 # via scippneutron pydantic-core==2.33.1 # via pydantic -pygments==2.19.1 - # via ipython pyparsing==3.2.3 # via matplotlib pytest==8.3.5 @@ -178,8 +118,6 @@ python-dateutil==2.9.0.post0 # pandas # scippneutron # scippnexus -pythreejs==2.4.2 - # via -r nightly.in pytz==2025.2 # via pandas pyyaml==6.0.2 @@ -213,32 +151,14 @@ scipy==1.15.2 # scippnexus six==1.17.0 # via python-dateutil -stack-data==0.6.3 - # via ipython tomli==2.2.1 # via pytest toolz==1.0.0 # via # dask # partd -traitlets==5.14.3 - # via - # bqplot - # bqscales - # comm - # ipython - # ipywidgets - # matplotlib-inline - # pythreejs - # traittypes -traittypes==0.2.1 - # via - # bqplot - # bqscales - # ipydatawidgets -typing-extensions==4.13.1 +typing-extensions==4.13.2 # via - # ipython # pydantic # pydantic-core # sciline @@ -247,11 +167,7 @@ typing-inspection==0.4.0 # via pydantic tzdata==2025.2 # via pandas -urllib3==2.3.0 +urllib3==2.4.0 # via requests -wcwidth==0.2.13 - # via prompt-toolkit -widgetsnbextension==4.0.13 - # via ipywidgets zipp==3.21.0 # via importlib-metadata diff --git a/requirements/static.txt b/requirements/static.txt index c0e73660..5b20eca3 100644 --- a/requirements/static.txt +++ b/requirements/static.txt @@ -11,7 +11,7 @@ distlib==0.3.9 # via virtualenv filelock==3.18.0 # via virtualenv -identify==2.6.9 +identify==2.6.10 # via pre-commit nodeenv==1.9.1 # via pre-commit diff --git a/requirements/wheels.txt b/requirements/wheels.txt index bfae20bf..21d3cb06 100644 --- a/requirements/wheels.txt +++ b/requirements/wheels.txt @@ -7,7 +7,7 @@ # build==1.2.2.post1 # via -r wheels.in -packaging==24.2 +packaging==25.0 # via build pyproject-hooks==1.2.0 # via build