diff --git a/docs/user-guide/estia/create-estia-tof-lookup-table.ipynb b/docs/user-guide/estia/create-estia-tof-lookup-table.ipynb index a10f59b6..fe235fdf 100644 --- a/docs/user-guide/estia/create-estia-tof-lookup-table.ipynb +++ b/docs/user-guide/estia/create-estia-tof-lookup-table.ipynb @@ -119,7 +119,7 @@ "outputs": [], "source": [ "# This is what the relationship between time-of-arrival and time-of-flight looks like at 40m (at the detector).\n", - "table['distance', 100].plot()" + "table.array['distance', 100].plot()" ] }, { diff --git a/pyproject.toml b/pyproject.toml index 2ad4887b..cd39ef42 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -52,12 +52,15 @@ test = [ "pytest>=7.0", "pooch>=1.5", ] -all = [ +gui = [ "ipywidgets", "ipydatagrid", "ipytree", "pythreejs", ] +all = [ + "essreflectometry[gui]", +] [project.urls] "Bug Tracker" = "https://github.com/scipp/essreflectometry/issues" diff --git a/requirements/base.in b/requirements/base.in index 335a962f..5508361f 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -1,3 +1,4 @@ +ipydatagrid # Anything above "--- END OF CUSTOM SECTION ---" # will not be touched by ``make_base.py`` # --- END OF CUSTOM SECTION --- diff --git a/requirements/base.txt b/requirements/base.txt index 4fd2382a..2cf382e4 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -1,4 +1,4 @@ -# SHA1:7d24e61b002964358637133b46eac8bab3600eae +# SHA1:cbdc45997fa931279311acfefcdbeb2b79095948 # # This file was generated by pip-compile-multi. # To update, run: @@ -7,34 +7,46 @@ # annotated-types==0.7.0 # via pydantic +asttokens==3.0.1 + # via stack-data +bqplot==0.12.45 + # via ipydatagrid click==8.3.1 # via dask cloudpickle==3.1.2 # via dask +comm==0.2.3 + # via ipywidgets contourpy==1.3.3 # via matplotlib cyclebane==24.10.0 # via sciline cycler==0.12.1 # via matplotlib -dask==2025.11.0 +dask==2026.1.2 # via # -r base.in # esspolarization +decorator==5.2.1 + # via ipython dnspython==2.8.0 # via email-validator email-validator==2.3.0 # via scippneutron esspolarization==25.10.0 # via -r base.in -essreduce==25.11.6 +essreduce==26.2.0 # via # -r base.in # esspolarization -fonttools==4.61.0 +executing==2.2.1 + # via stack-data +fonttools==4.61.1 # via matplotlib -fsspec==2025.10.0 +fsspec==2026.1.0 # via dask +gast==0.4.0 + # via py2vega graphviz==0.21 # via # -r base.in @@ -45,8 +57,22 @@ h5py==3.15.1 # scippnexus idna==3.11 # via email-validator -importlib-metadata==8.7.0 +importlib-metadata==8.7.1 # via dask +ipydatagrid==1.4.0 + # via -r base.in +ipython==9.10.0 + # via ipywidgets +ipython-pygments-lexers==1.1.1 + # via ipython +ipywidgets==8.1.8 + # via + # bqplot + # ipydatagrid +jedi==0.19.2 + # via ipython +jupyterlab-widgets==3.0.16 + # via ipywidgets kiwisolver==1.4.9 # via matplotlib lazy-loader==0.4 @@ -55,16 +81,19 @@ lazy-loader==0.4 # scippneutron locket==1.0.0 # via partd -matplotlib==3.10.7 +matplotlib==3.10.8 # via # mpltoolbox # plopp +matplotlib-inline==0.2.1 + # via ipython mpltoolbox==25.10.0 # via scippneutron -networkx==3.6 +networkx==3.6.1 # via cyclebane -numpy==2.3.5 +numpy==2.4.2 # via + # bqplot # contourpy # h5py # matplotlib @@ -74,26 +103,45 @@ numpy==2.3.5 # scipy orsopy==1.2.2 # via -r base.in -packaging==25.0 +packaging==26.0 # via # dask # lazy-loader # matplotlib pandas==2.3.3 - # via -r base.in + # via + # -r base.in + # bqplot + # ipydatagrid +parso==0.8.5 + # via jedi partd==1.4.2 # via dask -pillow==12.0.0 +pexpect==4.9.0 + # via ipython +pillow==12.1.0 # via matplotlib plopp==25.11.0 # via # -r base.in # scippneutron +prompt-toolkit==3.0.52 + # via ipython +ptyprocess==0.7.0 + # via pexpect +pure-eval==0.2.3 + # via stack-data +py2vega==0.6.1 + # via ipydatagrid pydantic==2.12.5 # via scippneutron pydantic-core==2.41.5 # via pydantic -pyparsing==3.2.5 +pygments==2.19.2 + # via + # ipython + # ipython-pygments-lexers +pyparsing==3.3.2 # via matplotlib python-dateutil==2.9.0.post0 # via @@ -112,41 +160,57 @@ sciline==25.11.1 # -r base.in # esspolarization # essreduce -scipp==25.11.0 +scipp==26.2.0 # via # -r base.in # esspolarization # essreduce # scippneutron # scippnexus -scippneutron==25.11.1 +scippneutron==25.11.2 # via # -r base.in # essreduce -scippnexus==25.11.0 +scippnexus==26.1.1 # via # -r base.in # essreduce # scippneutron -scipy==1.16.3 +scipy==1.17.0 # via # esspolarization # scippneutron # scippnexus six==1.17.0 # via python-dateutil +stack-data==0.6.3 + # via ipython toolz==1.1.0 # via # dask # partd +traitlets==5.14.3 + # via + # bqplot + # ipython + # ipywidgets + # matplotlib-inline + # traittypes +traittypes==0.2.3 + # via bqplot typing-extensions==4.15.0 # via + # ipython # pydantic # pydantic-core # typing-inspection typing-inspection==0.4.2 # via pydantic -tzdata==2025.2 +tzdata==2025.3 # via pandas +wcwidth==0.5.3 + # via prompt-toolkit +widgetsnbextension==4.0.15 + # via ipywidgets zipp==3.23.0 # via importlib-metadata diff --git a/requirements/basetest.txt b/requirements/basetest.txt index 92f0b2a4..26987f8a 100644 --- a/requirements/basetest.txt +++ b/requirements/basetest.txt @@ -5,7 +5,7 @@ # # requirements upgrade # -certifi==2025.11.12 +certifi==2026.1.4 # via requests charset-normalizer==3.4.4 # via requests @@ -13,21 +13,21 @@ idna==3.11 # via requests iniconfig==2.3.0 # via pytest -packaging==25.0 +packaging==26.0 # via # pooch # pytest -platformdirs==4.5.0 +platformdirs==4.5.1 # via pooch pluggy==1.6.0 # via pytest -pooch==1.8.2 +pooch==1.9.0 # via -r basetest.in pygments==2.19.2 # via pytest -pytest==9.0.1 +pytest==9.0.2 # via -r basetest.in requests==2.32.5 # via pooch -urllib3==2.5.0 +urllib3==2.6.3 # via requests diff --git a/requirements/ci.txt b/requirements/ci.txt index 4b49511f..20ed8164 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -5,9 +5,9 @@ # # requirements upgrade # -cachetools==6.2.2 +cachetools==7.0.0 # via tox -certifi==2025.11.12 +certifi==2026.1.4 # via requests chardet==5.2.0 # via tox @@ -17,22 +17,22 @@ colorama==0.4.6 # via tox distlib==0.4.0 # via virtualenv -filelock==3.20.0 +filelock==3.20.3 # via # tox # virtualenv gitdb==4.0.12 # via gitpython -gitpython==3.1.45 +gitpython==3.1.46 # via -r ci.in idna==3.11 # via requests -packaging==25.0 +packaging==26.0 # via # -r ci.in # pyproject-api # tox -platformdirs==4.5.0 +platformdirs==4.5.1 # via # tox # virtualenv @@ -44,9 +44,9 @@ requests==2.32.5 # via -r ci.in smmap==5.0.2 # via gitdb -tox==4.32.0 +tox==4.34.1 # via -r ci.in -urllib3==2.5.0 +urllib3==2.6.3 # via requests -virtualenv==20.35.4 +virtualenv==20.36.1 # via tox diff --git a/requirements/dev.txt b/requirements/dev.txt index c84f1c8d..151d0c3e 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -12,7 +12,7 @@ -r static.txt -r test.txt -r wheels.txt -anyio==4.12.0 +anyio==4.12.1 # via # httpx # jupyter-server @@ -22,11 +22,11 @@ argon2-cffi-bindings==25.1.0 # via argon2-cffi arrow==1.4.0 # via isoduration -async-lru==2.0.5 +async-lru==2.1.0 # via jupyterlab cffi==2.0.0 # via argon2-cffi-bindings -copier==9.11.0 +copier==9.11.3 # via -r dev.in dunamai==1.25.0 # via copier @@ -44,11 +44,11 @@ isoduration==20.11.0 # via jsonschema jinja2-ansible-filters==1.3.2 # via copier -json5==0.12.1 +json5==0.13.0 # via jupyterlab-server jsonpointer==3.0.0 # via jsonschema -jsonschema[format-nongpl]==4.25.1 +jsonschema[format-nongpl]==4.26.0 # via # jupyter-events # jupyterlab-server @@ -63,9 +63,9 @@ jupyter-server==2.17.0 # jupyterlab # jupyterlab-server # notebook-shim -jupyter-server-terminals==0.5.3 +jupyter-server-terminals==0.5.4 # via jupyter-server -jupyterlab==4.5.0 +jupyterlab==4.5.3 # via -r dev.in jupyterlab-server==2.28.0 # via jupyterlab @@ -81,9 +81,9 @@ pip-tools==7.5.2 # via pip-compile-multi plumbum==1.10.0 # via copier -prometheus-client==0.23.1 +prometheus-client==0.24.1 # via jupyter-server -pycparser==2.23 +pycparser==3.0 # via cffi python-json-logger==4.0.0 # via jupyter-events @@ -99,7 +99,7 @@ rfc3986-validator==0.1.1 # jupyter-events rfc3987-syntax==1.1.0 # via jsonschema -send2trash==1.8.3 +send2trash==2.1.0 # via jupyter-server terminado==0.18.1 # via @@ -113,7 +113,7 @@ webcolors==25.10.0 # via jsonschema websocket-client==1.9.0 # via jupyter-server -wheel==0.45.1 +wheel==0.46.3 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/docs.in b/requirements/docs.in index 927f6884..fa1f8171 100644 --- a/requirements/docs.in +++ b/requirements/docs.in @@ -13,6 +13,5 @@ sphinxcontrib-bibtex pooch ipympl ipywidgets -ipydatagrid ipytree tof diff --git a/requirements/docs.txt b/requirements/docs.txt index cd985447..6c3facd9 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -1,4 +1,4 @@ -# SHA1:f0df527b2e2734b6e6fa033511cf3cd4980d3d5a +# SHA1:7a715d10efa559eb544fde189c648e905f46d4e3 # # This file was generated by pip-compile-multi. # To update, run: @@ -10,15 +10,13 @@ accessible-pygments==0.0.5 # via pydata-sphinx-theme alabaster==1.0.0 # via sphinx -asttokens==3.0.1 - # via stack-data attrs==25.4.0 # via # jsonschema # referencing autodoc-pydantic==2.2.0 # via -r docs.in -babel==2.17.0 +babel==2.18.0 # via # pydata-sphinx-theme # sphinx @@ -28,23 +26,15 @@ beautifulsoup4==4.14.3 # pydata-sphinx-theme bleach[css]==6.3.0 # via nbconvert -bqplot==0.12.45 - # via ipydatagrid -certifi==2025.11.12 +certifi==2026.1.4 # via requests charset-normalizer==3.4.4 # via requests -comm==0.2.3 - # via - # ipykernel - # ipywidgets -debugpy==1.8.17 +debugpy==1.8.20 # via ipykernel -decorator==5.2.1 - # via ipython defusedxml==0.7.1 # via nbconvert -docutils==0.21.2 +docutils==0.22.4 # via # myst-parser # nbsphinx @@ -52,50 +42,27 @@ docutils==0.21.2 # pydata-sphinx-theme # sphinx # sphinxcontrib-bibtex -executing==2.2.1 - # via stack-data fastjsonschema==2.21.2 # via nbformat -gast==0.4.0 - # via py2vega imagesize==1.4.1 # via sphinx -ipydatagrid==1.4.0 - # via -r docs.in ipykernel==7.1.0 # via -r docs.in -ipympl==0.9.8 +ipympl==0.10.0 # via -r docs.in -ipython==9.7.0 - # via - # -r docs.in - # ipykernel - # ipympl - # ipywidgets -ipython-pygments-lexers==1.1.1 - # via ipython ipytree==0.2.2 # via -r docs.in -ipywidgets==8.1.8 - # via - # -r docs.in - # bqplot - # ipydatagrid - # ipympl - # ipytree -jedi==0.19.2 - # via ipython jinja2==3.1.6 # via # myst-parser # nbconvert # nbsphinx # sphinx -jsonschema==4.25.1 +jsonschema==4.26.0 # via nbformat jsonschema-specifications==2025.9.1 # via jsonschema -jupyter-client==8.6.3 +jupyter-client==8.8.0 # via # ipykernel # nbclient @@ -108,11 +75,9 @@ jupyter-core==5.9.1 # nbformat jupyterlab-pygments==0.3.0 # via nbconvert -jupyterlab-widgets==3.0.16 - # via ipywidgets latexcodec==3.0.1 # via pybtex -markdown-it-py==3.0.0 +markdown-it-py==4.0.0 # via # mdit-py-plugins # myst-parser @@ -120,21 +85,17 @@ markupsafe==3.0.3 # via # jinja2 # nbconvert -matplotlib-inline==0.2.1 - # via - # ipykernel - # ipython mdit-py-plugins==0.5.0 # via myst-parser mdurl==0.1.2 # via markdown-it-py -mistune==3.1.4 +mistune==3.2.0 # via nbconvert -myst-parser==4.0.1 +myst-parser==5.0.0 # via -r docs.in -nbclient==0.10.2 +nbclient==0.10.4 # via nbconvert -nbconvert==7.16.6 +nbconvert==7.17.0 # via nbsphinx nbformat==5.10.4 # via @@ -147,28 +108,16 @@ nest-asyncio==1.6.0 # via ipykernel pandocfilters==1.5.1 # via nbconvert -parso==0.8.5 - # via jedi -pexpect==4.9.0 - # via ipython -platformdirs==4.5.0 +platformdirs==4.5.1 # via # jupyter-core # pooch -pooch==1.8.2 +pooch==1.9.0 # via # -r docs.in # tof -prompt-toolkit==3.0.52 - # via ipython -psutil==7.1.3 +psutil==7.2.2 # via ipykernel -ptyprocess==0.7.0 - # via pexpect -pure-eval==0.2.3 - # via stack-data -py2vega==0.6.1 - # via ipydatagrid pybtex==0.25.1 # via # pybtex-docutils @@ -179,14 +128,6 @@ pydantic-settings==2.12.0 # via autodoc-pydantic pydata-sphinx-theme==0.16.1 # via -r docs.in -pygments==2.19.2 - # via - # accessible-pygments - # ipython - # ipython-pygments-lexers - # nbconvert - # pydata-sphinx-theme - # sphinx python-dotenv==1.2.1 # via pydantic-settings pyzmq==27.1.0 @@ -201,7 +142,7 @@ requests==2.32.5 # via # pooch # sphinx -roman-numerals-py==3.1.0 +roman-numerals==4.1.0 # via sphinx rpds-py==0.30.0 # via @@ -209,9 +150,9 @@ rpds-py==0.30.0 # referencing snowballstemmer==3.0.1 # via sphinx -soupsieve==2.8 +soupsieve==2.8.3 # via beautifulsoup4 -sphinx==8.2.3 +sphinx==9.0.4 # via # -r docs.in # autodoc-pydantic @@ -222,11 +163,11 @@ sphinx==8.2.3 # sphinx-copybutton # sphinx-design # sphinxcontrib-bibtex -sphinx-autodoc-typehints==3.5.2 +sphinx-autodoc-typehints==3.6.1 # via -r docs.in sphinx-copybutton==0.5.2 # via -r docs.in -sphinx-design==0.6.1 +sphinx-design==0.7.0 # via -r docs.in sphinxcontrib-applehelp==2.0.0 # via sphinx @@ -242,40 +183,17 @@ 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 -tof==25.12.0 +tof==26.1.0 # via -r docs.in -tornado==6.5.2 - # via - # ipykernel - # jupyter-client -traitlets==5.14.3 +tornado==6.5.4 # via - # bqplot # ipykernel - # ipympl - # ipython - # ipywidgets # jupyter-client - # jupyter-core - # matplotlib-inline - # nbclient - # nbconvert - # nbformat - # nbsphinx - # traittypes -traittypes==0.2.3 - # via bqplot -urllib3==2.5.0 +urllib3==2.6.3 # via requests -wcwidth==0.2.14 - # via prompt-toolkit webencodings==0.5.1 # via # bleach # tinycss2 -widgetsnbextension==4.0.15 - # via ipywidgets diff --git a/requirements/mypy.txt b/requirements/mypy.txt index b8f2d76f..0f22723e 100644 --- a/requirements/mypy.txt +++ b/requirements/mypy.txt @@ -6,11 +6,11 @@ # requirements upgrade # -r test.txt -librt==0.6.3 +librt==0.7.8 # via mypy -mypy==1.19.0 +mypy==1.19.1 # via -r mypy.in mypy-extensions==1.1.0 # via mypy -pathspec==0.12.1 +pathspec==1.0.4 # via mypy diff --git a/requirements/nightly.txt b/requirements/nightly.txt index e59b91cd..38137f22 100644 --- a/requirements/nightly.txt +++ b/requirements/nightly.txt @@ -10,7 +10,7 @@ annotated-types==0.7.0 # via pydantic -certifi==2025.11.12 +certifi==2026.1.4 # via requests charset-normalizer==3.4.4 # via requests @@ -24,7 +24,7 @@ cyclebane==24.10.0 # via sciline cycler==0.12.1 # via matplotlib -dask==2025.11.0 +dask==2026.1.2 # via # -r nightly.in # esspolarization @@ -34,13 +34,13 @@ email-validator==2.3.0 # via scippneutron esspolarization==25.10.0 # via -r nightly.in -essreduce==25.11.6 +essreduce==26.2.0 # via # -r nightly.in # esspolarization -fonttools==4.61.0 +fonttools==4.61.1 # via matplotlib -fsspec==2025.10.0 +fsspec==2026.1.0 # via dask graphviz==0.21 # via @@ -54,7 +54,7 @@ idna==3.11 # via # email-validator # requests -importlib-metadata==8.7.0 +importlib-metadata==8.7.1 # via dask iniconfig==2.3.0 # via pytest @@ -66,15 +66,15 @@ lazy-loader==0.4 # scippneutron locket==1.0.0 # via partd -matplotlib==3.10.7 +matplotlib==3.10.8 # via # mpltoolbox # plopp mpltoolbox==25.10.0 # via scippneutron -networkx==3.6 +networkx==3.6.1 # via cyclebane -numpy==2.3.5 +numpy==2.4.2 # via # contourpy # h5py @@ -85,20 +85,20 @@ numpy==2.3.5 # scipy orsopy==1.2.2 # via -r nightly.in -packaging==25.0 +packaging==26.0 # via # dask # lazy-loader # matplotlib # pooch # pytest -pandas==2.3.3 +pandas==3.0.0 # via -r nightly.in partd==1.4.2 # via dask -pillow==12.0.0 +pillow==12.1.0 # via matplotlib -platformdirs==4.5.0 +platformdirs==4.5.1 # via pooch plopp @ git+https://github.com/scipp/plopp@main # via @@ -106,7 +106,7 @@ plopp @ git+https://github.com/scipp/plopp@main # scippneutron pluggy==1.6.0 # via pytest -pooch==1.8.2 +pooch==1.9.0 # via -r nightly.in pydantic==2.12.5 # via scippneutron @@ -114,9 +114,9 @@ pydantic-core==2.41.5 # via pydantic pygments==2.19.2 # via pytest -pyparsing==3.3.0b1 +pyparsing==3.3.2 # via matplotlib -pytest==9.0.1 +pytest==9.0.2 # via -r nightly.in python-dateutil==2.9.0.post0 # via @@ -124,8 +124,6 @@ python-dateutil==2.9.0.post0 # matplotlib # pandas # scippneutron -pytz==2025.2 - # via pandas pyyaml==6.0.3 # via # dask @@ -153,7 +151,7 @@ scippnexus @ git+https://github.com/scipp/scippnexus@main # -r nightly.in # essreduce # scippneutron -scipy==1.16.3 +scipy==1.17.0 # via # esspolarization # scippneutron @@ -171,9 +169,7 @@ typing-extensions==4.15.0 # typing-inspection typing-inspection==0.4.2 # via pydantic -tzdata==2025.2 - # via pandas -urllib3==2.5.0 +urllib3==2.6.3 # via requests zipp==3.23.0 # via importlib-metadata diff --git a/requirements/static.txt b/requirements/static.txt index 4cc95f11..75cd3c9b 100644 --- a/requirements/static.txt +++ b/requirements/static.txt @@ -9,17 +9,17 @@ cfgv==3.5.0 # via pre-commit distlib==0.4.0 # via virtualenv -filelock==3.20.0 +filelock==3.20.3 # via virtualenv -identify==2.6.15 +identify==2.6.16 # via pre-commit -nodeenv==1.9.1 +nodeenv==1.10.0 # via pre-commit -platformdirs==4.5.0 +platformdirs==4.5.1 # via virtualenv -pre-commit==4.5.0 +pre-commit==4.5.1 # via -r static.in pyyaml==6.0.3 # via pre-commit -virtualenv==20.35.4 +virtualenv==20.36.1 # via pre-commit diff --git a/requirements/wheels.txt b/requirements/wheels.txt index 3558aae2..0d70d60c 100644 --- a/requirements/wheels.txt +++ b/requirements/wheels.txt @@ -5,9 +5,9 @@ # # requirements upgrade # -build==1.3.0 +build==1.4.0 # via -r wheels.in -packaging==25.0 +packaging==26.0 # via build pyproject-hooks==1.2.0 # via build