essreduce 25.7.1__tar.gz → 25.10.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. {essreduce-25.7.1 → essreduce-25.10.0}/.copier-answers.yml +2 -2
  2. essreduce-25.10.0/.github/workflows/nightly_at_main_lower_bound.yml +37 -0
  3. essreduce-25.10.0/.github/workflows/python-version-ci +1 -0
  4. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/release.yml +2 -42
  5. {essreduce-25.7.1 → essreduce-25.10.0}/.pre-commit-config.yaml +2 -1
  6. essreduce-25.10.0/.python-version +1 -0
  7. essreduce-25.10.0/PKG-INFO +51 -0
  8. {essreduce-25.7.1 → essreduce-25.10.0}/README.md +1 -1
  9. {essreduce-25.7.1 → essreduce-25.10.0}/docs/about/index.md +2 -2
  10. {essreduce-25.7.1 → essreduce-25.10.0}/docs/conf.py +4 -2
  11. {essreduce-25.7.1 → essreduce-25.10.0}/docs/developer/getting-started.md +1 -1
  12. {essreduce-25.7.1 → essreduce-25.10.0}/docs/index.md +2 -2
  13. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/installation.md +1 -1
  14. {essreduce-25.7.1 → essreduce-25.10.0}/pyproject.toml +11 -11
  15. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/base.in +1 -1
  16. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/base.txt +13 -13
  17. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/basetest.in +5 -5
  18. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/basetest.txt +16 -22
  19. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/ci.txt +6 -6
  20. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/dev.txt +9 -11
  21. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/docs.in +1 -0
  22. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/docs.txt +20 -13
  23. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/mypy.txt +3 -1
  24. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/nightly.in +5 -5
  25. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/nightly.txt +18 -16
  26. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/static.txt +1 -1
  27. essreduce-25.10.0/src/ess/reduce/data/__init__.py +17 -0
  28. essreduce-25.10.0/src/ess/reduce/data/_registry.py +355 -0
  29. essreduce-25.10.0/src/essreduce.egg-info/PKG-INFO +51 -0
  30. {essreduce-25.7.1 → essreduce-25.10.0}/src/essreduce.egg-info/SOURCES.txt +4 -2
  31. {essreduce-25.7.1 → essreduce-25.10.0}/src/essreduce.egg-info/requires.txt +6 -6
  32. essreduce-25.10.0/tests/conftest.py +103 -0
  33. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_generator_test.py +14 -7
  34. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/workflow_test.py +29 -25
  35. {essreduce-25.7.1 → essreduce-25.10.0}/tox.ini +1 -1
  36. essreduce-25.7.1/.github/workflows/python-version-ci +0 -1
  37. essreduce-25.7.1/.python-version +0 -1
  38. essreduce-25.7.1/PKG-INFO +0 -82
  39. essreduce-25.7.1/conda/meta.yaml +0 -57
  40. essreduce-25.7.1/src/ess/reduce/data.py +0 -113
  41. essreduce-25.7.1/src/essreduce.egg-info/PKG-INFO +0 -82
  42. {essreduce-25.7.1 → essreduce-25.10.0}/.copier-answers.ess.yml +0 -0
  43. {essreduce-25.7.1 → essreduce-25.10.0}/.github/ISSUE_TEMPLATE/high-level-requirement.yml +0 -0
  44. {essreduce-25.7.1 → essreduce-25.10.0}/.github/dependabot.yml +0 -0
  45. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/ci.yml +0 -0
  46. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/docs.yml +0 -0
  47. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/nightly_at_main.yml +0 -0
  48. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/nightly_at_release.yml +0 -0
  49. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/test.yml +0 -0
  50. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/unpinned.yml +0 -0
  51. {essreduce-25.7.1 → essreduce-25.10.0}/.github/workflows/weekly_windows_macos.yml +0 -0
  52. {essreduce-25.7.1 → essreduce-25.10.0}/.gitignore +0 -0
  53. {essreduce-25.7.1 → essreduce-25.10.0}/CODE_OF_CONDUCT.md +0 -0
  54. {essreduce-25.7.1 → essreduce-25.10.0}/CONTRIBUTING.md +0 -0
  55. {essreduce-25.7.1 → essreduce-25.10.0}/LICENSE +0 -0
  56. {essreduce-25.7.1 → essreduce-25.10.0}/MANIFEST.in +0 -0
  57. {essreduce-25.7.1 → essreduce-25.10.0}/docs/_static/anaconda-icon.js +0 -0
  58. {essreduce-25.7.1 → essreduce-25.10.0}/docs/_static/favicon.svg +0 -0
  59. {essreduce-25.7.1 → essreduce-25.10.0}/docs/_static/logo-dark.svg +0 -0
  60. {essreduce-25.7.1 → essreduce-25.10.0}/docs/_static/logo.svg +0 -0
  61. {essreduce-25.7.1 → essreduce-25.10.0}/docs/_templates/class-template.rst +0 -0
  62. {essreduce-25.7.1 → essreduce-25.10.0}/docs/_templates/doc_version.html +0 -0
  63. {essreduce-25.7.1 → essreduce-25.10.0}/docs/_templates/module-template.rst +0 -0
  64. {essreduce-25.7.1 → essreduce-25.10.0}/docs/api-reference/index.md +0 -0
  65. {essreduce-25.7.1 → essreduce-25.10.0}/docs/developer/coding-conventions.md +0 -0
  66. {essreduce-25.7.1 → essreduce-25.10.0}/docs/developer/dependency-management.md +0 -0
  67. {essreduce-25.7.1 → essreduce-25.10.0}/docs/developer/gui.ipynb +0 -0
  68. {essreduce-25.7.1 → essreduce-25.10.0}/docs/developer/index.md +0 -0
  69. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/index.md +0 -0
  70. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/reduction-workflow-guidelines.md +0 -0
  71. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/tof/dream.ipynb +0 -0
  72. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/tof/frame-unwrapping.ipynb +0 -0
  73. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/tof/index.md +0 -0
  74. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/tof/wfm.ipynb +0 -0
  75. {essreduce-25.7.1 → essreduce-25.10.0}/docs/user-guide/widget.md +0 -0
  76. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/ci.in +0 -0
  77. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/dev.in +0 -0
  78. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/make_base.py +0 -0
  79. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/mypy.in +0 -0
  80. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/static.in +0 -0
  81. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/test.in +0 -0
  82. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/test.txt +0 -0
  83. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/wheels.in +0 -0
  84. {essreduce-25.7.1 → essreduce-25.10.0}/requirements/wheels.txt +0 -0
  85. {essreduce-25.7.1 → essreduce-25.10.0}/resources/logo.svg +0 -0
  86. {essreduce-25.7.1 → essreduce-25.10.0}/setup.cfg +0 -0
  87. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/__init__.py +0 -0
  88. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/live/__init__.py +0 -0
  89. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/live/raw.py +0 -0
  90. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/live/roi.py +0 -0
  91. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/live/workflow.py +0 -0
  92. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/logging.py +0 -0
  93. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/nexus/__init__.py +0 -0
  94. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/nexus/_nexus_loader.py +0 -0
  95. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/nexus/json_generator.py +0 -0
  96. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/nexus/json_nexus.py +0 -0
  97. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/nexus/types.py +0 -0
  98. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/nexus/workflow.py +0 -0
  99. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/parameter.py +0 -0
  100. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/py.typed +0 -0
  101. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/scripts/grow_nexus.py +0 -0
  102. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/streaming.py +0 -0
  103. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/__init__.py +0 -0
  104. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/eto_to_tof.py +0 -0
  105. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/fakes.py +0 -0
  106. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/interpolator_numba.py +0 -0
  107. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/interpolator_scipy.py +0 -0
  108. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/lut.py +0 -0
  109. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/resample.py +0 -0
  110. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/types.py +0 -0
  111. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/time_of_flight/workflow.py +0 -0
  112. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/ui.py +0 -0
  113. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/uncertainty.py +0 -0
  114. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/__init__.py +0 -0
  115. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_base.py +0 -0
  116. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_binedges_widget.py +0 -0
  117. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_bounds_widget.py +0 -0
  118. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_config.py +0 -0
  119. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_filename_widget.py +0 -0
  120. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_linspace_widget.py +0 -0
  121. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_optional_widget.py +0 -0
  122. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_spinner.py +0 -0
  123. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_string_widget.py +0 -0
  124. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_switchable_widget.py +0 -0
  125. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/widgets/_vector_widget.py +0 -0
  126. {essreduce-25.7.1 → essreduce-25.10.0}/src/ess/reduce/workflow.py +0 -0
  127. {essreduce-25.7.1 → essreduce-25.10.0}/src/essreduce.egg-info/dependency_links.txt +0 -0
  128. {essreduce-25.7.1 → essreduce-25.10.0}/src/essreduce.egg-info/entry_points.txt +0 -0
  129. {essreduce-25.7.1 → essreduce-25.10.0}/src/essreduce.egg-info/top_level.txt +0 -0
  130. {essreduce-25.7.1 → essreduce-25.10.0}/tests/accumulators_test.py +0 -0
  131. {essreduce-25.7.1 → essreduce-25.10.0}/tests/live/raw_test.py +0 -0
  132. {essreduce-25.7.1 → essreduce-25.10.0}/tests/live/roi_test.py +0 -0
  133. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_examples/array_dataset.json +0 -0
  134. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_examples/dataset.json +0 -0
  135. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_examples/detector.json +0 -0
  136. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_examples/entry.json +0 -0
  137. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_examples/event_data.json +0 -0
  138. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_examples/instrument.json +0 -0
  139. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_examples/log.json +0 -0
  140. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/json_nexus_test.py +0 -0
  141. {essreduce-25.7.1 → essreduce-25.10.0}/tests/nexus/nexus_loader_test.py +0 -0
  142. {essreduce-25.7.1 → essreduce-25.10.0}/tests/package_test.py +0 -0
  143. {essreduce-25.7.1 → essreduce-25.10.0}/tests/scripts/test_grow_nexus.py +0 -0
  144. {essreduce-25.7.1 → essreduce-25.10.0}/tests/streaming_test.py +0 -0
  145. {essreduce-25.7.1 → essreduce-25.10.0}/tests/time_of_flight/interpolator_test.py +0 -0
  146. {essreduce-25.7.1 → essreduce-25.10.0}/tests/time_of_flight/lut_test.py +0 -0
  147. {essreduce-25.7.1 → essreduce-25.10.0}/tests/time_of_flight/resample_tests.py +0 -0
  148. {essreduce-25.7.1 → essreduce-25.10.0}/tests/time_of_flight/unwrap_test.py +0 -0
  149. {essreduce-25.7.1 → essreduce-25.10.0}/tests/time_of_flight/wfm_test.py +0 -0
  150. {essreduce-25.7.1 → essreduce-25.10.0}/tests/time_of_flight/workflow_test.py +0 -0
  151. {essreduce-25.7.1 → essreduce-25.10.0}/tests/uncertainty_test.py +0 -0
  152. {essreduce-25.7.1 → essreduce-25.10.0}/tests/widget_test.py +0 -0
  153. {essreduce-25.7.1 → essreduce-25.10.0}/tools/shrink_nexus.py +0 -0
@@ -1,9 +1,9 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: '2247096'
2
+ _commit: c3214e6
3
3
  _src_path: gh:scipp/copier_template
4
4
  description: Common data reduction tools for the ESS facility
5
5
  max_python: '3.13'
6
- min_python: '3.10'
6
+ min_python: '3.11'
7
7
  namespace_package: ess
8
8
  nightly_deps: scippnexus,scipp,sciline,cyclebane,scippneutron,tof
9
9
  orgname: scipp
@@ -0,0 +1,37 @@
1
+ name: Nightly test using lower bound dependencies
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ schedule:
6
+ - cron: '30 1 * * 1-5'
7
+
8
+ jobs:
9
+ setup:
10
+ name: Setup variables
11
+ runs-on: 'ubuntu-24.04'
12
+ outputs:
13
+ min_python: ${{ steps.vars.outputs.min_python }}
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - name: Get Python version for other CI jobs
17
+ id: vars
18
+ run: echo "min_python=$(< .github/workflows/python-version-ci)" >> "$GITHUB_OUTPUT"
19
+
20
+ tests:
21
+ name: Tests at lower bound
22
+ needs: setup
23
+ strategy:
24
+ matrix:
25
+ os: ['ubuntu-24.04']
26
+ python:
27
+ - version: '${{needs.setup.outputs.min_python}}'
28
+ runs-on: ${{ matrix.os }}
29
+ env:
30
+ ESS_PROTECTED_FILESTORE_USERNAME: ${{ secrets.ESS_PROTECTED_FILESTORE_USERNAME }}
31
+ ESS_PROTECTED_FILESTORE_PASSWORD: ${{ secrets.ESS_PROTECTED_FILESTORE_PASSWORD }}
32
+ steps:
33
+ - uses: actions/checkout@v4
34
+ - uses: astral-sh/setup-uv@v6
35
+ with:
36
+ python-version: ${{ matrix.python.version }}
37
+ - run: uv run --extra=test --resolution=lowest-direct pytest
@@ -10,29 +10,6 @@ defaults:
10
10
  shell: bash -l {0} # required for conda env
11
11
 
12
12
  jobs:
13
- build_conda:
14
- name: Conda build
15
- runs-on: 'ubuntu-24.04'
16
-
17
- steps:
18
- - uses: actions/checkout@v4
19
- with:
20
- submodules: true
21
- fetch-depth: 0 # history required so setuptools_scm can determine version
22
-
23
- - uses: mamba-org/setup-micromamba@v1
24
- with:
25
- environment-name: build-env
26
- create-args: >-
27
- conda-build
28
- boa
29
- - run: conda mambabuild --channel conda-forge --channel scipp --no-anaconda-upload --override-channels --output-folder conda/package conda
30
-
31
- - uses: actions/upload-artifact@v4
32
- with:
33
- name: conda-package-noarch
34
- path: conda/package/noarch/*.tar.bz2
35
-
36
13
  build_wheels:
37
14
  name: Wheels
38
15
  runs-on: 'ubuntu-24.04'
@@ -60,7 +37,7 @@ jobs:
60
37
 
61
38
  upload_pypi:
62
39
  name: Deploy PyPI
63
- needs: [build_wheels, build_conda]
40
+ needs: [build_wheels]
64
41
  runs-on: 'ubuntu-24.04'
65
42
  environment: release
66
43
  permissions:
@@ -70,25 +47,8 @@ jobs:
70
47
  - uses: actions/download-artifact@v4
71
48
  - uses: pypa/gh-action-pypi-publish@v1.12.4
72
49
 
73
- upload_conda:
74
- name: Deploy Conda
75
- needs: [build_wheels, build_conda]
76
- runs-on: 'ubuntu-24.04'
77
- if: github.event_name == 'release' && github.event.action == 'published'
78
-
79
- steps:
80
- - uses: actions/download-artifact@v4
81
- - uses: mamba-org/setup-micromamba@v1
82
- with:
83
- environment-name: upload-env
84
- # frozen python due to breaking removal of 'imp' in 3.12
85
- create-args: >-
86
- anaconda-client
87
- python=3.11
88
- - run: anaconda --token ${{ secrets.ANACONDATOKEN }} upload --user scipp --label main $(ls conda-package-noarch/*.tar.bz2)
89
-
90
50
  docs:
91
- needs: [upload_conda, upload_pypi]
51
+ needs: [upload_pypi]
92
52
  uses: ./.github/workflows/docs.yml
93
53
  with:
94
54
  publish: ${{ github.event_name == 'release' && github.event.action == 'published' }}
@@ -10,7 +10,6 @@ repos:
10
10
  - id: check-merge-conflict
11
11
  - id: check-toml
12
12
  - id: check-yaml
13
- exclude: conda/meta.yaml
14
13
  - id: detect-private-key
15
14
  - id: trailing-whitespace
16
15
  args: [ --markdown-linebreak-ext=md ]
@@ -36,6 +35,8 @@ repos:
36
35
  - id: codespell
37
36
  additional_dependencies:
38
37
  - tomli
38
+ exclude_types:
39
+ - svg
39
40
  - repo: https://github.com/pre-commit/pygrep-hooks
40
41
  rev: v1.10.0
41
42
  hooks:
@@ -0,0 +1 @@
1
+ 3.11
@@ -0,0 +1,51 @@
1
+ Metadata-Version: 2.4
2
+ Name: essreduce
3
+ Version: 25.10.0
4
+ Summary: Common data reduction tools for the ESS facility
5
+ Author: Scipp contributors
6
+ License-Expression: BSD-3-Clause
7
+ Project-URL: Bug Tracker, https://github.com/scipp/essreduce/issues
8
+ Project-URL: Documentation, https://scipp.github.io/essreduce
9
+ Project-URL: Source, https://github.com/scipp/essreduce
10
+ Classifier: Intended Audience :: Science/Research
11
+ Classifier: Natural Language :: English
12
+ Classifier: Operating System :: OS Independent
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3 :: Only
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Topic :: Scientific/Engineering
19
+ Classifier: Typing :: Typed
20
+ Requires-Python: >=3.11
21
+ Description-Content-Type: text/markdown
22
+ License-File: LICENSE
23
+ Requires-Dist: sciline>=25.05.1
24
+ Requires-Dist: scipp>=25.04.0
25
+ Requires-Dist: scippneutron>=25.02.0
26
+ Requires-Dist: scippnexus>=24.11.0
27
+ Provides-Extra: test
28
+ Requires-Dist: ipywidgets>=8.1; extra == "test"
29
+ Requires-Dist: numba>=0.59; extra == "test"
30
+ Requires-Dist: pooch>=1.5; extra == "test"
31
+ Requires-Dist: pytest>=7.0; extra == "test"
32
+ Requires-Dist: scipy>=1.14; extra == "test"
33
+ Requires-Dist: tof>=25.05.0; extra == "test"
34
+ Dynamic: license-file
35
+
36
+ [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)
37
+ [![PyPI badge](http://img.shields.io/pypi/v/essreduce.svg)](https://pypi.python.org/pypi/essreduce)
38
+ [![Anaconda-Server Badge](https://anaconda.org/conda-forge/essreduce/badges/version.svg)](https://anaconda.org/conda-forge/essreduce)
39
+ [![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](LICENSE)
40
+
41
+ # ESSreduce
42
+
43
+ ## About
44
+
45
+ Common data reduction tools for the ESS facility
46
+
47
+ ## Installation
48
+
49
+ ```sh
50
+ python -m pip install essreduce
51
+ ```
@@ -1,6 +1,6 @@
1
1
  [![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)
2
2
  [![PyPI badge](http://img.shields.io/pypi/v/essreduce.svg)](https://pypi.python.org/pypi/essreduce)
3
- [![Anaconda-Server Badge](https://anaconda.org/scipp/essreduce/badges/version.svg)](https://anaconda.org/scipp/essreduce)
3
+ [![Anaconda-Server Badge](https://anaconda.org/conda-forge/essreduce/badges/version.svg)](https://anaconda.org/conda-forge/essreduce)
4
4
  [![License: BSD 3-Clause](https://img.shields.io/badge/License-BSD%203--Clause-blue.svg)](LICENSE)
5
5
 
6
6
  # ESSreduce
@@ -2,11 +2,11 @@
2
2
 
3
3
  ## Development
4
4
 
5
- ESSreduce is an open source project by the [European Spallation Source ERIC](https://europeanspallationsource.se/) (ESS).
5
+ ESSreduce is an open source project by the [European Spallation Source ERIC](https://ess.eu/) (ESS).
6
6
 
7
7
  ## License
8
8
 
9
- ESSreduce is available as open source under the [BSD-3 license](https://opensource.org/licenses/BSD-3-Clause).
9
+ ESSreduce is available as open source under the [BSD-3 license](https://opensource.org/license/BSD-3-Clause).
10
10
 
11
11
  ## Citing ESSreduce
12
12
 
@@ -32,6 +32,7 @@ extensions = [
32
32
  'sphinx_autodoc_typehints',
33
33
  'sphinx_copybutton',
34
34
  'sphinx_design',
35
+ 'sphinxcontrib.autodoc_pydantic',
35
36
  'nbsphinx',
36
37
  'myst_parser',
37
38
  ]
@@ -189,7 +190,7 @@ html_theme_options = {
189
190
  },
190
191
  {
191
192
  "name": "Conda",
192
- "url": "https://anaconda.org/scipp/essreduce",
193
+ "url": "https://anaconda.org/conda-forge/essreduce",
193
194
  "icon": "fa-custom fa-anaconda",
194
195
  "type": "fontawesome",
195
196
  },
@@ -269,5 +270,6 @@ linkcheck_ignore = [
269
270
  r'https?://github\.com/.*?/blob/[a-f0-9]+/.+?#',
270
271
  # Linkcheck seems to be denied access by some DOI resolvers.
271
272
  # Since DOIs are supposed to be permanent, we don't need to check them.'
272
- r'https://doi\.org/',
273
+ r'https?://doi\.org/',
274
+ r'https?://dx\.doi\.org/',
273
275
  ]
@@ -40,7 +40,7 @@ Alternatively, if you want a different workflow, take a look at ``tox.ini`` or `
40
40
  Run the tests using
41
41
 
42
42
  ```sh
43
- tox -e py310
43
+ tox -e py311
44
44
  ```
45
45
 
46
46
  (or just `tox` if you want to run all environments).
@@ -23,10 +23,10 @@
23
23
 
24
24
  # {transparent}`ESSreduce`
25
25
 
26
- <span style="font-size:1.2em;font-style:italic;color:var(--pst-color-text-muted)">
26
+ <div style="font-size:1.2em;font-style:italic;color:var(--pst-color-text-muted);text-align:center;">
27
27
  Common data reduction tools for the ESS facility
28
28
  </br></br>
29
- </span>
29
+ </div>
30
30
 
31
31
  :::{include} user-guide/installation.md
32
32
  :heading-offset: 1
@@ -10,7 +10,7 @@ pip install essreduce
10
10
  ````
11
11
  ````{tab-item} conda
12
12
  ```sh
13
- conda install -c conda-forge -c scipp essreduce
13
+ conda install -c conda-forge essreduce
14
14
  ```
15
15
  ````
16
16
  `````
@@ -1,6 +1,6 @@
1
1
  [build-system]
2
2
  requires = [
3
- "setuptools>=68",
3
+ "setuptools>=77",
4
4
  "setuptools_scm[toml]>=8.0",
5
5
  ]
6
6
  build-backend = "setuptools.build_meta"
@@ -9,30 +9,29 @@ build-backend = "setuptools.build_meta"
9
9
  name = "essreduce"
10
10
  description = "Common data reduction tools for the ESS facility"
11
11
  authors = [{ name = "Scipp contributors" }]
12
- license = { file = "LICENSE" }
12
+ license = "BSD-3-Clause"
13
+ license-files = ["LICENSE"]
13
14
  readme = "README.md"
14
15
  classifiers = [
15
16
  "Intended Audience :: Science/Research",
16
- "License :: OSI Approved :: BSD License",
17
17
  "Natural Language :: English",
18
18
  "Operating System :: OS Independent",
19
19
  "Programming Language :: Python :: 3",
20
20
  "Programming Language :: Python :: 3 :: Only",
21
- "Programming Language :: Python :: 3.10",
22
21
  "Programming Language :: Python :: 3.11",
23
22
  "Programming Language :: Python :: 3.12",
24
23
  "Programming Language :: Python :: 3.13",
25
24
  "Topic :: Scientific/Engineering",
26
25
  "Typing :: Typed",
27
26
  ]
28
- requires-python = ">=3.10"
27
+ requires-python = ">=3.11"
29
28
 
30
29
  # IMPORTANT:
31
30
  # Run 'tox -e deps' after making changes here. This will update requirement files.
32
31
  # Make sure to list one dependency per line.
33
32
  dependencies = [
34
33
  "sciline>=25.05.1",
35
- "scipp>=25.01.0",
34
+ "scipp>=25.04.0",
36
35
  "scippneutron>=25.02.0",
37
36
  "scippnexus>=24.11.0",
38
37
  ]
@@ -41,11 +40,11 @@ dynamic = ["version"]
41
40
 
42
41
  [project.optional-dependencies]
43
42
  test = [
44
- "ipywidgets",
45
- "numba",
46
- "pooch",
47
- "pytest",
48
- "scipy>=1.7.0",
43
+ "ipywidgets>=8.1",
44
+ "numba>=0.59",
45
+ "pooch>=1.5",
46
+ "pytest>=7.0",
47
+ "scipy>=1.14",
49
48
  "tof>=25.05.0",
50
49
  ]
51
50
 
@@ -72,6 +71,7 @@ testpaths = "tests"
72
71
  filterwarnings = [
73
72
  "error",
74
73
  'ignore:\n Sentinel is not a public part of the traitlets API:DeprecationWarning',
74
+ 'ignore:Jupyter is migrating its paths:DeprecationWarning',
75
75
  ]
76
76
 
77
77
  [tool.ruff]
@@ -3,6 +3,6 @@
3
3
  # --- END OF CUSTOM SECTION ---
4
4
  # The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
5
5
  sciline>=25.05.1
6
- scipp>=25.01.0
6
+ scipp>=25.04.0
7
7
  scippneutron>=25.02.0
8
8
  scippnexus>=24.11.0
@@ -1,4 +1,4 @@
1
- # SHA1:da1d0d3975da182dcdb34676612971ba09dbdc53
1
+ # SHA1:b300915e3a524f201873bcdae539cb19309f1fa5
2
2
  #
3
3
  # This file was generated by pip-compile-multi.
4
4
  # To update, run:
@@ -17,9 +17,9 @@ dnspython==2.7.0
17
17
  # via email-validator
18
18
  email-validator==2.2.0
19
19
  # via scippneutron
20
- fonttools==4.58.0
20
+ fonttools==4.59.0
21
21
  # via matplotlib
22
- h5py==3.13.0
22
+ h5py==3.14.0
23
23
  # via
24
24
  # scippneutron
25
25
  # scippnexus
@@ -35,7 +35,7 @@ matplotlib==3.10.3
35
35
  # via
36
36
  # mpltoolbox
37
37
  # plopp
38
- mpltoolbox==25.4.0
38
+ mpltoolbox==25.5.0
39
39
  # via scippneutron
40
40
  networkx==3.4.2
41
41
  # via cyclebane
@@ -51,11 +51,11 @@ packaging==25.0
51
51
  # via
52
52
  # lazy-loader
53
53
  # matplotlib
54
- pillow==11.2.1
54
+ pillow==11.3.0
55
55
  # via matplotlib
56
- plopp==25.4.1
56
+ plopp==25.7.0
57
57
  # via scippneutron
58
- pydantic==2.11.4
58
+ pydantic==2.11.7
59
59
  # via scippneutron
60
60
  pydantic-core==2.33.2
61
61
  # via pydantic
@@ -66,16 +66,16 @@ python-dateutil==2.9.0.post0
66
66
  # matplotlib
67
67
  # scippneutron
68
68
  # scippnexus
69
- sciline==25.5.1
69
+ sciline==25.5.2
70
70
  # via -r base.in
71
- scipp==25.5.1
71
+ scipp==25.8.0
72
72
  # via
73
73
  # -r base.in
74
74
  # scippneutron
75
75
  # scippnexus
76
- scippneutron==25.5.0
76
+ scippneutron==25.7.0
77
77
  # via -r base.in
78
- scippnexus==25.4.0
78
+ scippnexus==25.6.0
79
79
  # via
80
80
  # -r base.in
81
81
  # scippneutron
@@ -85,11 +85,11 @@ scipy==1.15.3
85
85
  # scippnexus
86
86
  six==1.17.0
87
87
  # via python-dateutil
88
- typing-extensions==4.13.2
88
+ typing-extensions==4.14.1
89
89
  # via
90
90
  # pydantic
91
91
  # pydantic-core
92
92
  # sciline
93
93
  # typing-inspection
94
- typing-inspection==0.4.0
94
+ typing-inspection==0.4.1
95
95
  # via pydantic
@@ -7,9 +7,9 @@
7
7
  # will not be touched by ``make_base.py``
8
8
  # --- END OF CUSTOM SECTION ---
9
9
  # The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
10
- ipywidgets
11
- numba
12
- pooch
13
- pytest
14
- scipy>=1.7.0
10
+ ipywidgets>=8.1
11
+ numba>=0.59
12
+ pooch>=1.5
13
+ pytest>=7.0
14
+ scipy>=1.14
15
15
  tof>=25.05.0
@@ -1,4 +1,4 @@
1
- # SHA1:0e1b0270bf973c05363ede976faf2c3a4e7330f6
1
+ # SHA1:9ce162c5f8a6b9f117d76c11b4a44f7aed7e2b73
2
2
  #
3
3
  # This file was generated by pip-compile-multi.
4
4
  # To update, run:
@@ -7,7 +7,7 @@
7
7
  #
8
8
  asttokens==3.0.0
9
9
  # via stack-data
10
- certifi==2025.4.26
10
+ certifi==2025.7.14
11
11
  # via requests
12
12
  charset-normalizer==3.4.2
13
13
  # via requests
@@ -19,19 +19,15 @@ cycler==0.12.1
19
19
  # via matplotlib
20
20
  decorator==5.2.1
21
21
  # via ipython
22
- exceptiongroup==1.3.0
23
- # via
24
- # ipython
25
- # pytest
26
22
  executing==2.2.0
27
23
  # via stack-data
28
- fonttools==4.58.0
24
+ fonttools==4.59.0
29
25
  # via matplotlib
30
26
  idna==3.10
31
27
  # via requests
32
28
  iniconfig==2.1.0
33
29
  # via pytest
34
- ipython==8.36.0
30
+ ipython==8.37.0
35
31
  # via ipywidgets
36
32
  ipywidgets==8.1.7
37
33
  # via -r basetest.in
@@ -70,11 +66,11 @@ parso==0.8.4
70
66
  # via jedi
71
67
  pexpect==4.9.0
72
68
  # via ipython
73
- pillow==11.2.1
69
+ pillow==11.3.0
74
70
  # via matplotlib
75
71
  platformdirs==4.3.8
76
72
  # via pooch
77
- plopp==25.4.1
73
+ plopp==25.7.0
78
74
  # via tof
79
75
  pluggy==1.6.0
80
76
  # via pytest
@@ -86,17 +82,19 @@ ptyprocess==0.7.0
86
82
  # via pexpect
87
83
  pure-eval==0.2.3
88
84
  # via stack-data
89
- pygments==2.19.1
90
- # via ipython
85
+ pygments==2.19.2
86
+ # via
87
+ # ipython
88
+ # pytest
91
89
  pyparsing==3.2.3
92
90
  # via matplotlib
93
- pytest==8.3.5
91
+ pytest==8.4.1
94
92
  # via -r basetest.in
95
93
  python-dateutil==2.9.0.post0
96
94
  # via matplotlib
97
- requests==2.32.3
95
+ requests==2.32.4
98
96
  # via pooch
99
- scipp==25.5.1
97
+ scipp==25.8.0
100
98
  # via tof
101
99
  scipy==1.15.3
102
100
  # via
@@ -108,19 +106,15 @@ stack-data==0.6.3
108
106
  # via ipython
109
107
  tof==25.5.0
110
108
  # via -r basetest.in
111
- tomli==2.2.1
112
- # via pytest
113
109
  traitlets==5.14.3
114
110
  # via
115
111
  # comm
116
112
  # ipython
117
113
  # ipywidgets
118
114
  # matplotlib-inline
119
- typing-extensions==4.13.2
120
- # via
121
- # exceptiongroup
122
- # ipython
123
- urllib3==2.4.0
115
+ typing-extensions==4.14.1
116
+ # via ipython
117
+ urllib3==2.5.0
124
118
  # via requests
125
119
  wcwidth==0.2.13
126
120
  # via prompt-toolkit
@@ -5,9 +5,9 @@
5
5
  #
6
6
  # requirements upgrade
7
7
  #
8
- cachetools==5.5.2
8
+ cachetools==6.1.0
9
9
  # via tox
10
- certifi==2025.4.26
10
+ certifi==2025.7.14
11
11
  # via requests
12
12
  chardet==5.2.0
13
13
  # via tox
@@ -40,7 +40,7 @@ pluggy==1.6.0
40
40
  # via tox
41
41
  pyproject-api==1.9.1
42
42
  # via tox
43
- requests==2.32.3
43
+ requests==2.32.4
44
44
  # via -r ci.in
45
45
  smmap==5.0.2
46
46
  # via gitdb
@@ -48,11 +48,11 @@ tomli==2.2.1
48
48
  # via
49
49
  # pyproject-api
50
50
  # tox
51
- tox==4.26.0
51
+ tox==4.27.0
52
52
  # via -r ci.in
53
- typing-extensions==4.13.2
53
+ typing-extensions==4.14.1
54
54
  # via tox
55
- urllib3==2.4.0
55
+ urllib3==2.5.0
56
56
  # via requests
57
57
  virtualenv==20.31.2
58
58
  # via tox
@@ -16,7 +16,7 @@ anyio==4.9.0
16
16
  # via
17
17
  # httpx
18
18
  # jupyter-server
19
- argon2-cffi==23.1.0
19
+ argon2-cffi==25.1.0
20
20
  # via jupyter-server
21
21
  argon2-cffi-bindings==21.2.0
22
22
  # via argon2-cffi
@@ -26,13 +26,13 @@ async-lru==2.0.5
26
26
  # via jupyterlab
27
27
  cffi==1.17.1
28
28
  # via argon2-cffi-bindings
29
- click==8.2.0
29
+ click==8.2.1
30
30
  # via
31
31
  # pip-compile-multi
32
32
  # pip-tools
33
- copier==9.7.1
33
+ copier==9.8.0
34
34
  # via -r dev.in
35
- dunamai==1.24.1
35
+ dunamai==1.25.0
36
36
  # via copier
37
37
  fqdn==1.5.1
38
38
  # via jsonschema
@@ -52,7 +52,7 @@ json5==0.12.0
52
52
  # via jupyterlab-server
53
53
  jsonpointer==3.0.0
54
54
  # via jsonschema
55
- jsonschema[format-nongpl]==4.23.0
55
+ jsonschema[format-nongpl]==4.24.0
56
56
  # via
57
57
  # jupyter-events
58
58
  # jupyterlab-server
@@ -69,7 +69,7 @@ jupyter-server==2.16.0
69
69
  # notebook-shim
70
70
  jupyter-server-terminals==0.5.3
71
71
  # via jupyter-server
72
- jupyterlab==4.4.2
72
+ jupyterlab==4.4.4
73
73
  # via -r dev.in
74
74
  jupyterlab-server==2.27.3
75
75
  # via jupyterlab
@@ -77,15 +77,13 @@ notebook-shim==0.2.4
77
77
  # via jupyterlab
78
78
  overrides==7.7.0
79
79
  # via jupyter-server
80
- pathspec==0.12.1
81
- # via copier
82
- pip-compile-multi==3.0.0
80
+ pip-compile-multi==3.2.1
83
81
  # via -r dev.in
84
82
  pip-tools==7.4.1
85
83
  # via pip-compile-multi
86
84
  plumbum==1.9.0
87
85
  # via copier
88
- prometheus-client==0.22.0
86
+ prometheus-client==0.22.1
89
87
  # via jupyter-server
90
88
  pycparser==2.22
91
89
  # via cffi
@@ -111,7 +109,7 @@ terminado==0.18.1
111
109
  # jupyter-server-terminals
112
110
  toposort==1.10
113
111
  # via pip-compile-multi
114
- types-python-dateutil==2.9.0.20250516
112
+ types-python-dateutil==2.9.0.20250708
115
113
  # via arrow
116
114
  uri-template==1.3.0
117
115
  # via jsonschema
@@ -1,4 +1,5 @@
1
1
  -r base.in
2
+ autodoc-pydantic
2
3
  ipykernel
3
4
  ipython!=8.7.0 # Breaks syntax highlighting in Jupyter code cells.
4
5
  myst-parser