diff --git a/.copier-answers.yml b/.copier-answers.yml
index b45b72b45..0da7d05d3 100644
--- a/.copier-answers.yml
+++ b/.copier-answers.yml
@@ -1,13 +1,13 @@
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
-_commit: cac2bde
+_commit: 86a1e5c
_src_path: gh:scipp/copier_template
description: Live data reduction visualisation framework for ESS.
max_python: '3.12'
min_python: '3.10'
namespace_package: ''
-nightly_deps: scipp,sciline,plopp,scippneutron
+nightly_deps: scipp,sciline,plopp,essreduce
orgname: scipp
prettyname: Beamlime
projectname: beamlime
-related_projects: Scipp,Sciline,Plopp,ScippNeutron
+related_projects: Scipp,Sciline,Plopp,Essreduce
year: 2024
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 44266a238..8234bc9f9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -46,6 +46,7 @@ jobs:
os-variant: ${{ matrix.os }}
python-version: ${{ matrix.python.version }}
tox-env: ${{ matrix.python.tox-env }}
+ secrets: inherit
docs:
needs: tests
@@ -54,3 +55,4 @@ jobs:
publish: false
linkcheck: ${{ contains(matrix.variant.os, 'ubuntu') && github.ref == 'refs/heads/main' }}
branch: ${{ github.head_ref == '' && github.ref_name || github.head_ref }}
+ secrets: inherit
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 98aaf5685..a5ea2b05c 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -42,6 +42,10 @@ jobs:
docs:
name: Build documentation
runs-on: 'ubuntu-22.04'
+ env:
+ ESS_PROTECTED_FILESTORE_USERNAME: ${{ secrets.ESS_PROTECTED_FILESTORE_USERNAME }}
+ ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }}
+
steps:
- run: sudo apt install --yes graphviz pandoc
- uses: actions/checkout@v4
@@ -65,7 +69,7 @@ jobs:
name: docs_html
path: html/
- - uses: JamesIves/github-pages-deploy-action@v4.6.1
+ - uses: JamesIves/github-pages-deploy-action@v4.6.3
if: ${{ inputs.publish }}
with:
branch: gh-pages
diff --git a/.github/workflows/nightly_at_main.yml b/.github/workflows/nightly_at_main.yml
index 08fdddd29..c2b9d33a3 100644
--- a/.github/workflows/nightly_at_main.yml
+++ b/.github/workflows/nightly_at_main.yml
@@ -31,3 +31,4 @@ jobs:
os-variant: ${{ matrix.os }}
python-version: ${{ matrix.python.version }}
tox-env: ${{ matrix.python.tox-env }}
+ secrets: inherit
diff --git a/.github/workflows/nightly_at_release.yml b/.github/workflows/nightly_at_release.yml
index 373c45463..3faa1c23b 100644
--- a/.github/workflows/nightly_at_release.yml
+++ b/.github/workflows/nightly_at_release.yml
@@ -38,3 +38,4 @@ jobs:
python-version: ${{ matrix.python.version }}
tox-env: ${{ matrix.python.tox-env }}
checkout_ref: ${{ needs.setup.outputs.release_tag }}
+ secrets: inherit
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 5f56a069a..e98ed7cdf 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -41,8 +41,26 @@ on:
type: string
jobs:
+ package-test:
+ runs-on: ${{ inputs.os-variant }}
+
+ steps:
+ - uses: actions/checkout@v4
+ with:
+ ref: ${{ inputs.checkout_ref }}
+ - uses: actions/setup-python@v5
+ with:
+ python-version: ${{ inputs.python-version }}
+ - run: python -m pip install --upgrade pip
+ - run: python -m pip install .
+ - run: python tests/package_test.py
+ name: Run package tests
+
test:
runs-on: ${{ inputs.os-variant }}
+ env:
+ ESS_PROTECTED_FILESTORE_USERNAME: ${{ secrets.ESS_PROTECTED_FILESTORE_USERNAME }}
+ ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }}
steps:
- uses: actions/checkout@v4
diff --git a/.github/workflows/unpinned.yml b/.github/workflows/unpinned.yml
index 46a84c1c7..3f49f7223 100644
--- a/.github/workflows/unpinned.yml
+++ b/.github/workflows/unpinned.yml
@@ -38,3 +38,4 @@ jobs:
python-version: ${{ matrix.python.version }}
tox-env: ${{ matrix.python.tox-env }}
checkout_ref: ${{ needs.setup.outputs.release_tag }}
+ secrets: inherit
diff --git a/.gitignore b/.gitignore
index 1c6a4f10d..beb6953b8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,7 @@ __pycache__/
.pytest_cache
.mypy_cache
docs/generated/
+.ruff_cache
# Editor settings
.idea/
diff --git a/conda/meta.yaml b/conda/meta.yaml
index e27986afc..1bd6e3e98 100644
--- a/conda/meta.yaml
+++ b/conda/meta.yaml
@@ -17,7 +17,7 @@ requirements:
- setuptools_scm
run:
- rich
- - scippneutron>=24.03.0
+ - essreduce
- python>=3.10
{% for package in dependencies %}
@@ -33,11 +33,13 @@ test:
- pytest-asyncio
- psutil
- pandas
+ - pyarrow # Future hard-dependency of pandas, it can be removed from pandas>3.0
- numpy
- scipp
- plopp
- sciline
- - scippneutron>=24.03.0
+ - essreduce
+ - pooch
source_files:
- pyproject.toml
- tests/
diff --git a/docs/_templates/doc_version.html b/docs/_templates/doc_version.html
index 48f9aacf1..84d02c70e 100644
--- a/docs/_templates/doc_version.html
+++ b/docs/_templates/doc_version.html
@@ -1,2 +1,2 @@
-Current {{ project }} version: {{ version }} (older versions).
+Current Beamlime version: {{ version }} (older versions).
diff --git a/docs/conf.py b/docs/conf.py
index 40fd45bd2..752d17445 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,10 +1,15 @@
import doctest
import os
import sys
+from importlib.metadata import PackageNotFoundError
from importlib.metadata import version as get_version
+from sphinx.util import logging
+
sys.path.insert(0, os.path.abspath('.'))
+logger = logging.getLogger(__name__)
+
# General information about the project.
project = 'Beamlime'
copyright = '2024 Scipp contributors'
@@ -32,6 +37,8 @@
import sciline.sphinxext.domain_types # noqa: F401
extensions.append('sciline.sphinxext.domain_types')
+ # See https://github.com/tox-dev/sphinx-autodoc-typehints/issues/457
+ suppress_warnings = ["config.cache"]
except ModuleNotFoundError:
pass
@@ -109,8 +116,15 @@
# built documents.
#
-release = get_version("beamlime")
-version = ".".join(release.split('.')[:3]) # CalVer
+try:
+ release = get_version("beamlime")
+ version = ".".join(release.split('.')[:3]) # CalVer
+except PackageNotFoundError:
+ logger.info(
+ "Warning: determining version from package metadata failed, falling back to "
+ "a dummy version number."
+ )
+ release = version = "0.0.0-dev"
warning_is_error = True
@@ -149,10 +163,10 @@
"image_dark": "_static/logo-dark.svg",
},
"external_links": [
+ {"name": "Essreduce", "url": "https://scipp.github.io/essreduce"},
{"name": "Plopp", "url": "https://scipp.github.io/plopp"},
{"name": "Sciline", "url": "https://scipp.github.io/sciline"},
{"name": "Scipp", "url": "https://scipp.github.io"},
- {"name": "ScippNeutron", "url": "https://scipp.github.io/scippneutron"},
],
"icon_links": [
{
diff --git a/pyproject.toml b/pyproject.toml
index 13804ec54..1b0319ca8 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -31,7 +31,7 @@ requires-python = ">=3.10"
# Make sure to list one dependency per line.
dependencies = [
"rich",
- "scippneutron>=24.03.0",
+ "essreduce",
]
dynamic = ["version"]
diff --git a/requirements/base.in b/requirements/base.in
index ac2199cca..ff96fcd66 100644
--- a/requirements/base.in
+++ b/requirements/base.in
@@ -3,4 +3,4 @@
# --- END OF CUSTOM SECTION ---
# The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
rich
-scippneutron>=24.03.0
+essreduce
diff --git a/requirements/base.txt b/requirements/base.txt
index 37e8aea6b..8c1de218e 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -1,57 +1,36 @@
-# SHA1:d16beb1d2c8626e90a075eda92b5c43d0a9625df
+# SHA1:89978bb0fef0efd08032890f4d4bc4e3fd22eb53
#
# This file is autogenerated by pip-compile-multi
# To update, run:
#
# pip-compile-multi
#
-certifi==2024.2.2
- # via requests
-charset-normalizer==3.3.2
- # via requests
+essreduce==24.8.0
+ # via -r base.in
h5py==3.11.0
- # via
- # scippneutron
- # scippnexus
-idna==3.7
- # via requests
+ # via scippnexus
markdown-it-py==3.0.0
# via rich
mdurl==0.1.2
# via markdown-it-py
-numpy==1.26.4
+numpy==2.0.1
# via
# h5py
# scipp
- # scippneutron
# scipy
-packaging==24.0
- # via pooch
-platformdirs==4.2.2
- # via pooch
-pooch==1.8.1
- # via scippneutron
pygments==2.18.0
# via rich
python-dateutil==2.9.0.post0
# via scippnexus
-requests==2.32.2
- # via pooch
rich==13.7.1
# via -r base.in
scipp==24.6.0
# via
- # scippneutron
- # scippnexus
-scippneutron==24.3.0
- # via -r base.in
-scippnexus==24.3.1
- # via scippneutron
-scipy==1.13.1
- # via
- # scippneutron
+ # essreduce
# scippnexus
+scippnexus==24.8.1
+ # via essreduce
+scipy==1.14.0
+ # via scippnexus
six==1.16.0
# via python-dateutil
-urllib3==2.2.1
- # via requests
diff --git a/requirements/basetest.in b/requirements/basetest.in
index a501c9187..af32a4f0c 100644
--- a/requirements/basetest.in
+++ b/requirements/basetest.in
@@ -9,5 +9,6 @@ psutil
pandas
pyarrow # Future hard-dependency of pandas, it can be removed from pandas>3.0
scipp
-scippneutron
+essreduce
plopp
+pooch
diff --git a/requirements/basetest.txt b/requirements/basetest.txt
index 2553ce9b1..3eb619c4a 100644
--- a/requirements/basetest.txt
+++ b/requirements/basetest.txt
@@ -1,37 +1,39 @@
-# SHA1:381f73e26ef39bd66eeb15db1a231214f6b7a75e
+# SHA1:8a4489025b5de25e5a97b53104e3d4354c11c487
#
# This file is autogenerated by pip-compile-multi
# To update, run:
#
# pip-compile-multi
#
-certifi==2024.2.2
+certifi==2024.7.4
# via requests
charset-normalizer==3.3.2
# via requests
contourpy==1.2.1
# via matplotlib
-coverage[toml]==7.5.1
+coverage[toml]==7.6.1
# via pytest-cov
cycler==0.12.1
# via matplotlib
+essreduce==24.8.0
+ # via -r basetest.in
+exceptiongroup==1.2.2
+ # via pytest
execnet==2.1.1
# via pytest-xdist
-fonttools==4.51.0
+fonttools==4.53.1
# via matplotlib
h5py==3.11.0
- # via
- # scippneutron
- # scippnexus
+ # via scippnexus
idna==3.7
# via requests
iniconfig==2.0.0
# via pytest
kiwisolver==1.4.5
# via matplotlib
-matplotlib==3.9.0
+matplotlib==3.9.2
# via plopp
-numpy==1.26.4
+numpy==2.0.1
# via
# contourpy
# h5py
@@ -39,38 +41,37 @@ numpy==1.26.4
# pandas
# pyarrow
# scipp
- # scippneutron
# scipy
-packaging==24.0
+packaging==24.1
# via
# matplotlib
# pooch
# pytest
pandas==2.2.2
# via -r basetest.in
-pillow==10.3.0
+pillow==10.4.0
# via matplotlib
platformdirs==4.2.2
# via pooch
-plopp==24.5.0
+plopp==24.6.0
# via -r basetest.in
pluggy==1.5.0
# via pytest
-pooch==1.8.1
- # via scippneutron
-psutil==5.9.8
+pooch==1.8.2
+ # via -r basetest.in
+psutil==6.0.0
# via -r basetest.in
-pyarrow==16.1.0
+pyarrow==17.0.0
# via -r basetest.in
pyparsing==3.1.2
# via matplotlib
-pytest==8.2.1
+pytest==8.3.2
# via
# -r basetest.in
# pytest-asyncio
# pytest-cov
# pytest-xdist
-pytest-asyncio==0.23.7
+pytest-asyncio==0.23.8
# via -r basetest.in
pytest-cov==5.0.0
# via -r basetest.in
@@ -83,24 +84,24 @@ python-dateutil==2.9.0.post0
# scippnexus
pytz==2024.1
# via pandas
-requests==2.32.2
+requests==2.32.3
# via pooch
scipp==24.6.0
# via
# -r basetest.in
- # scippneutron
- # scippnexus
-scippneutron==24.3.0
- # via -r basetest.in
-scippnexus==24.3.1
- # via scippneutron
-scipy==1.13.1
- # via
- # scippneutron
+ # essreduce
# scippnexus
+scippnexus==24.8.1
+ # via essreduce
+scipy==1.14.0
+ # via scippnexus
six==1.16.0
# via python-dateutil
+tomli==2.0.1
+ # via
+ # coverage
+ # pytest
tzdata==2024.1
# via pandas
-urllib3==2.2.1
+urllib3==2.2.2
# via requests
diff --git a/requirements/ci.txt b/requirements/ci.txt
index 1c70b6a7a..b0cd56cce 100644
--- a/requirements/ci.txt
+++ b/requirements/ci.txt
@@ -5,9 +5,9 @@
#
# pip-compile-multi
#
-cachetools==5.3.3
+cachetools==5.4.0
# via tox
-certifi==2024.2.2
+certifi==2024.7.4
# via requests
chardet==5.2.0
# via tox
@@ -17,7 +17,7 @@ colorama==0.4.6
# via tox
distlib==0.3.8
# via virtualenv
-filelock==3.14.0
+filelock==3.15.4
# via
# tox
# virtualenv
@@ -27,7 +27,7 @@ gitpython==3.1.43
# via -r ci.in
idna==3.7
# via requests
-packaging==24.0
+packaging==24.1
# via
# -r ci.in
# pyproject-api
@@ -38,9 +38,9 @@ platformdirs==4.2.2
# virtualenv
pluggy==1.5.0
# via tox
-pyproject-api==1.6.1
+pyproject-api==1.7.1
# via tox
-requests==2.32.2
+requests==2.32.3
# via -r ci.in
smmap==5.0.1
# via gitdb
@@ -48,9 +48,9 @@ tomli==2.0.1
# via
# pyproject-api
# tox
-tox==4.15.0
+tox==4.18.0
# via -r ci.in
-urllib3==2.2.1
+urllib3==2.2.2
# via requests
-virtualenv==20.26.2
+virtualenv==20.26.3
# via tox
diff --git a/requirements/dev.txt b/requirements/dev.txt
index d7d8a7418..8c1aae535 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -14,7 +14,7 @@
-r wheels.txt
annotated-types==0.7.0
# via pydantic
-anyio==4.3.0
+anyio==4.4.0
# via
# httpx
# jupyter-server
@@ -26,15 +26,15 @@ arrow==1.3.0
# via isoduration
async-lru==2.0.4
# via jupyterlab
-cffi==1.16.0
+cffi==1.17.0
# via argon2-cffi-bindings
click==8.1.7
# via
# pip-compile-multi
# pip-tools
-copier==9.2.0
+copier==9.3.1
# via -r dev.in
-dunamai==1.21.1
+dunamai==1.22.0
# via copier
fqdn==1.5.1
# via jsonschema
@@ -52,9 +52,9 @@ jinja2-ansible-filters==1.3.2
# via copier
json5==0.9.25
# via jupyterlab-server
-jsonpointer==2.4
+jsonpointer==3.0.0
# via jsonschema
-jsonschema[format-nongpl]==4.22.0
+jsonschema[format-nongpl]==4.23.0
# via
# jupyter-events
# jupyterlab-server
@@ -63,7 +63,7 @@ jupyter-events==0.10.0
# via jupyter-server
jupyter-lsp==2.2.5
# via jupyterlab
-jupyter-server==2.14.0
+jupyter-server==2.14.2
# via
# jupyter-lsp
# jupyterlab
@@ -71,9 +71,9 @@ jupyter-server==2.14.0
# notebook-shim
jupyter-server-terminals==0.5.3
# via jupyter-server
-jupyterlab==4.2.1
+jupyterlab==4.2.4
# via -r dev.in
-jupyterlab-server==2.27.2
+jupyterlab-server==2.27.3
# via jupyterlab
notebook-shim==0.2.4
# via jupyterlab
@@ -81,7 +81,7 @@ overrides==7.7.0
# via jupyter-server
pathspec==0.12.1
# via copier
-pip-compile-multi==2.6.3
+pip-compile-multi==2.6.4
# via -r dev.in
pip-tools==7.4.1
# via pip-compile-multi
@@ -91,9 +91,9 @@ prometheus-client==0.20.0
# via jupyter-server
pycparser==2.22
# via cffi
-pydantic==2.7.1
+pydantic==2.8.2
# via copier
-pydantic-core==2.18.2
+pydantic-core==2.20.1
# via pydantic
python-json-logger==2.0.7
# via jupyter-events
@@ -123,11 +123,11 @@ types-python-dateutil==2.9.0.20240316
# via arrow
uri-template==1.3.0
# via jsonschema
-webcolors==1.13
+webcolors==24.8.0
# via jsonschema
websocket-client==1.8.0
# via jupyter-server
-wheel==0.43.0
+wheel==0.44.0
# via pip-tools
# The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/docs.txt b/requirements/docs.txt
index 732fcebce..2f8925b4d 100644
--- a/requirements/docs.txt
+++ b/requirements/docs.txt
@@ -9,15 +9,15 @@
-r basetest.txt
accessible-pygments==0.0.5
# via pydata-sphinx-theme
-alabaster==0.7.16
+alabaster==1.0.0
# via sphinx
asttokens==2.4.1
# via stack-data
-attrs==23.2.0
+attrs==24.2.0
# via
# jsonschema
# referencing
-babel==2.15.0
+babel==2.16.0
# via
# pydata-sphinx-theme
# sphinx
@@ -31,7 +31,7 @@ comm==0.2.2
# via
# ipykernel
# ipywidgets
-debugpy==1.8.1
+debugpy==1.8.5
# via ipykernel
decorator==5.1.1
# via ipython
@@ -45,17 +45,17 @@ docutils==0.21.2
# sphinx
executing==2.0.1
# via stack-data
-fastjsonschema==2.19.1
+fastjsonschema==2.20.0
# via nbformat
imagesize==1.4.1
# via sphinx
ipydatawidgets==4.3.5
# via pythreejs
-ipykernel==6.29.4
+ipykernel==6.29.5
# via -r docs.in
ipympl==0.9.4
# via -r docs.in
-ipython==8.24.0
+ipython==8.26.0
# via
# -r docs.in
# ipykernel
@@ -63,7 +63,7 @@ ipython==8.24.0
# ipywidgets
ipython-genutils==0.2.0
# via ipympl
-ipywidgets==8.1.2
+ipywidgets==8.1.3
# via
# ipydatawidgets
# ipympl
@@ -76,7 +76,7 @@ jinja2==3.1.4
# nbconvert
# nbsphinx
# sphinx
-jsonschema==4.22.0
+jsonschema==4.23.0
# via nbformat
jsonschema-specifications==2023.12.1
# via jsonschema
@@ -93,7 +93,7 @@ jupyter-core==5.7.2
# nbformat
jupyterlab-pygments==0.3.0
# via nbconvert
-jupyterlab-widgets==3.0.10
+jupyterlab-widgets==3.0.11
# via ipywidgets
markupsafe==2.1.5
# via
@@ -107,7 +107,7 @@ mdit-py-plugins==0.4.1
# via myst-parser
mistune==3.0.2
# via nbconvert
-myst-parser==3.0.1
+myst-parser==4.0.0
# via -r docs.in
nbclient==0.10.0
# via nbconvert
@@ -118,7 +118,7 @@ nbformat==5.10.4
# nbclient
# nbconvert
# nbsphinx
-nbsphinx==0.9.4
+nbsphinx==0.9.5
# via -r docs.in
nest-asyncio==1.6.0
# via ipykernel
@@ -128,19 +128,19 @@ parso==0.8.4
# via jedi
pexpect==4.9.0
# via ipython
-prompt-toolkit==3.0.43
+prompt-toolkit==3.0.47
# via ipython
ptyprocess==0.7.0
# via pexpect
-pure-eval==0.2.2
+pure-eval==0.2.3
# via stack-data
-pydata-sphinx-theme==0.15.2
+pydata-sphinx-theme==0.15.4
# via -r docs.in
pythreejs==2.4.2
# via -r docs.in
-pyyaml==6.0.1
+pyyaml==6.0.2
# via myst-parser
-pyzmq==26.0.3
+pyzmq==26.1.0
# via
# ipykernel
# jupyter-client
@@ -148,15 +148,15 @@ referencing==0.35.1
# via
# jsonschema
# jsonschema-specifications
-rpds-py==0.18.1
+rpds-py==0.20.0
# via
# jsonschema
# referencing
snowballstemmer==2.2.0
# via sphinx
-soupsieve==2.5
+soupsieve==2.6
# via beautifulsoup4
-sphinx==7.3.7
+sphinx==8.0.2
# via
# -r docs.in
# myst-parser
@@ -165,29 +165,29 @@ sphinx==7.3.7
# sphinx-autodoc-typehints
# sphinx-copybutton
# sphinx-design
-sphinx-autodoc-typehints==2.1.0
+sphinx-autodoc-typehints==2.2.3
# via -r docs.in
sphinx-copybutton==0.5.2
# via -r docs.in
-sphinx-design==0.6.0
+sphinx-design==0.6.1
# via -r docs.in
-sphinxcontrib-applehelp==1.0.8
+sphinxcontrib-applehelp==2.0.0
# via sphinx
-sphinxcontrib-devhelp==1.0.6
+sphinxcontrib-devhelp==2.0.0
# via sphinx
-sphinxcontrib-htmlhelp==2.0.5
+sphinxcontrib-htmlhelp==2.1.0
# via sphinx
sphinxcontrib-jsmath==1.0.1
# via sphinx
-sphinxcontrib-qthelp==1.0.7
+sphinxcontrib-qthelp==2.0.0
# via sphinx
-sphinxcontrib-serializinghtml==1.1.10
+sphinxcontrib-serializinghtml==2.0.0
# via sphinx
stack-data==0.6.3
# via ipython
tinycss2==1.3.0
# via nbconvert
-tornado==6.4
+tornado==6.4.1
# via
# ipykernel
# jupyter-client
@@ -209,7 +209,7 @@ traitlets==5.14.3
# traittypes
traittypes==0.2.1
# via ipydatawidgets
-typing-extensions==4.12.0
+typing-extensions==4.12.2
# via
# ipython
# pydata-sphinx-theme
@@ -219,5 +219,5 @@ webencodings==0.5.1
# via
# bleach
# tinycss2
-widgetsnbextension==4.0.10
+widgetsnbextension==4.0.11
# via ipywidgets
diff --git a/requirements/make_base.py b/requirements/make_base.py
index 68a17e843..493ede160 100644
--- a/requirements/make_base.py
+++ b/requirements/make_base.py
@@ -55,7 +55,8 @@ def as_nightly(repo: str) -> str:
version = f"cp{sys.version_info.major}{sys.version_info.minor}"
base = "https://github.com/scipp/scipp/releases/download/nightly/scipp-nightly"
suffix = "manylinux_2_17_x86_64.manylinux2014_x86_64.whl"
- return "-".join([base, version, version, suffix])
+ prefix = "scipp @ "
+ return prefix + "-".join([base, version, version, suffix])
return f"{repo} @ git+https://github.com/{org}/{repo}@main"
diff --git a/requirements/mypy.txt b/requirements/mypy.txt
index f0e7b3bfc..07b04d716 100644
--- a/requirements/mypy.txt
+++ b/requirements/mypy.txt
@@ -6,9 +6,9 @@
# pip-compile-multi
#
-r test.txt
-mypy==1.10.0
+mypy==1.11.1
# via -r mypy.in
mypy-extensions==1.0.0
# via mypy
-typing-extensions==4.12.0
+typing-extensions==4.12.2
# via mypy
diff --git a/requirements/nightly.in b/requirements/nightly.in
index 8915a76f7..cdd8e902a 100644
--- a/requirements/nightly.in
+++ b/requirements/nightly.in
@@ -2,7 +2,7 @@
# --- END OF CUSTOM SECTION ---
# The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
rich
-https://github.com/scipp/scipp/releases/download/nightly/scipp-nightly-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
+scipp @ https://github.com/scipp/scipp/releases/download/nightly/scipp-nightly-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
sciline @ git+https://github.com/scipp/sciline@main
plopp @ git+https://github.com/scipp/plopp@main
-scippneutron @ git+https://github.com/scipp/scippneutron@main
+essreduce @ git+https://github.com/scipp/essreduce@main
diff --git a/requirements/nightly.txt b/requirements/nightly.txt
index cc8ac154d..6612f0673 100644
--- a/requirements/nightly.txt
+++ b/requirements/nightly.txt
@@ -1,4 +1,4 @@
-# SHA1:a788a7d080006bdaa621351d9a23825309801235
+# SHA1:c0265a2c0386af2e15f3491a7c2046782b81bb93
#
# This file is autogenerated by pip-compile-multi
# To update, run:
@@ -6,13 +6,19 @@
# pip-compile-multi
#
-r basetest.txt
+cyclebane==24.6.0
+ # via sciline
markdown-it-py==3.0.0
# via rich
mdurl==0.1.2
# via markdown-it-py
+networkx==3.3
+ # via cyclebane
pygments==2.18.0
# via rich
rich==13.7.1
# via -r nightly.in
sciline @ git+https://github.com/scipp/sciline@main
- # via -r nightly.in
+ # via
+ # -r nightly.in
+ # essreduce
diff --git a/requirements/static.txt b/requirements/static.txt
index 7f416fbac..85da246dd 100644
--- a/requirements/static.txt
+++ b/requirements/static.txt
@@ -9,20 +9,17 @@ cfgv==3.4.0
# via pre-commit
distlib==0.3.8
# via virtualenv
-filelock==3.14.0
+filelock==3.15.4
# via virtualenv
-identify==2.5.36
+identify==2.6.0
# via pre-commit
-nodeenv==1.8.0
+nodeenv==1.9.1
# via pre-commit
platformdirs==4.2.2
# via virtualenv
-pre-commit==3.7.1
+pre-commit==3.8.0
# via -r static.in
-pyyaml==6.0.1
+pyyaml==6.0.2
# via pre-commit
-virtualenv==20.26.2
+virtualenv==20.26.3
# via pre-commit
-
-# The following packages are considered to be unsafe in a requirements file:
-# setuptools
diff --git a/requirements/stream.txt b/requirements/stream.txt
index 835fd66c4..4126e7d28 100644
--- a/requirements/stream.txt
+++ b/requirements/stream.txt
@@ -6,7 +6,7 @@
# pip-compile-multi
#
-r base.txt
-confluent-kafka==2.4.0
+confluent-kafka==2.5.0
# via -r stream.in
linkify-it-py==2.0.3
# via markdown-it-py
@@ -17,9 +17,9 @@ markdown-it-py[linkify,plugins]==3.0.0
# textual
mdit-py-plugins==0.4.1
# via markdown-it-py
-textual==0.63.2
+textual==0.76.0
# via -r stream.in
-typing-extensions==4.12.0
+typing-extensions==4.12.2
# via textual
uc-micro-py==1.0.3
# via linkify-it-py
diff --git a/requirements/wheels.txt b/requirements/wheels.txt
index d1a95de4f..a1fa46e23 100644
--- a/requirements/wheels.txt
+++ b/requirements/wheels.txt
@@ -7,7 +7,7 @@
#
build==1.2.1
# via -r wheels.in
-packaging==24.0
+packaging==24.1
# via build
pyproject-hooks==1.1.0
# via build
diff --git a/src/beamlime/applications/handlers.py b/src/beamlime/applications/handlers.py
index bf4c28cf6..95b7a4b41 100644
--- a/src/beamlime/applications/handlers.py
+++ b/src/beamlime/applications/handlers.py
@@ -9,7 +9,7 @@
from typing import NewType
import scipp as sc
-from scippneutron.io.nexus._json_nexus import JSONGroup
+from ess.reduce.nexus.json_nexus import JSONGroup
from beamlime.logging import BeamlimeLogger
diff --git a/src/beamlime/stateless_workflow.py b/src/beamlime/stateless_workflow.py
index 73a7c289c..724adc3f0 100644
--- a/src/beamlime/stateless_workflow.py
+++ b/src/beamlime/stateless_workflow.py
@@ -3,14 +3,12 @@
from importlib.metadata import entry_points
from typing import NewType, Protocol
+from ess.reduce.nexus.json_nexus import JSONGroup
+
try:
import scipp as sc
- from scippneutron.io.nexus.load_nexus import JSONGroup
except ImportError as e:
- raise ImportError(
- "Please install the scipp and "
- "scippneutron packages to use the ``DummyWorkflow``."
- ) from e
+ raise ImportError("Please install the scipp to use the ``DummyWorkflow``.") from e
Workflow = NewType('Workflow', str)
diff --git a/tests/package_test.py b/tests/package_test.py
index 146f009d6..c7a5ec231 100644
--- a/tests/package_test.py
+++ b/tests/package_test.py
@@ -1,7 +1,20 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) 2024 Scipp contributors (https://github.com/scipp)
+
+"""Tests of package integrity.
+
+Note that addidional imports need to be added for repositories that
+contain multiple packages.
+"""
+
import beamlime as pkg
def test_has_version():
assert hasattr(pkg, '__version__')
+
+
+# This is for CI package tests. They need to run tests with minimal dependencies,
+# that is, without installing pytest. This code does not affect pytest.
+if __name__ == '__main__':
+ test_has_version()
diff --git a/tox.ini b/tox.ini
index 7ff5d95e6..bd3c75134 100644
--- a/tox.ini
+++ b/tox.ini
@@ -63,5 +63,5 @@ deps =
tomli
skip_install = true
changedir = requirements
-commands = python ./make_base.py --nightly scipp,sciline,plopp,scippneutron
+commands = python ./make_base.py --nightly scipp,sciline,plopp,essreduce
pip-compile-multi -d . --backtracking