Skip to content

Commit 2e4ec65

Browse files
authored
Merge pull request #144 from scipp/gui-experiment-rebase
feat: add gui for batch reduction
2 parents 1b83994 + b912a61 commit 2e4ec65

File tree

16 files changed

+1088
-88
lines changed

16 files changed

+1088
-88
lines changed

.copier-answers.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2-
_commit: 5c4fd02
2+
_commit: d704227
33
_src_path: gh:scipp/copier_template
44
description: Reflectometry data reduction for the European Spallation Source
55
max_python: '3.13'

.github/workflows/docs.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,11 @@ jobs:
6565
- run: tox -e linkcheck
6666
if: ${{ inputs.linkcheck }}
6767
- uses: actions/upload-artifact@v4
68+
id: artifact-upload-step
6869
with:
6970
name: docs_html
7071
path: html/
72+
- run: echo "::notice::https://remote-unzip.deno.dev/${{ github.repository }}/artifacts/${{ steps.artifact-upload-step.outputs.artifact-id }}"
7173

7274
- uses: JamesIves/[email protected]
7375
if: ${{ inputs.publish }}

docs/conf.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -265,3 +265,9 @@ def do_not_plot(*args, **kwargs):
265265
# Specific lines in Github blobs cannot be found by linkcheck.
266266
r'https?://github\.com/.*?/blob/[a-f0-9]+/.+?#',
267267
]
268+
269+
# -- Options for Matplotlib in notebooks ----------------------------------
270+
271+
nbsphinx_execute_arguments = [
272+
"--Session.metadata=scipp_sphinx_build=True",
273+
]

docs/user-guide/amor/gui.ipynb

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
{
2+
"cells": [
3+
{
4+
"cell_type": "code",
5+
"execution_count": null,
6+
"id": "0",
7+
"metadata": {},
8+
"outputs": [],
9+
"source": [
10+
"import warnings\n",
11+
"warnings.filterwarnings(\"ignore\")"
12+
]
13+
},
14+
{
15+
"cell_type": "code",
16+
"execution_count": null,
17+
"id": "1",
18+
"metadata": {},
19+
"outputs": [],
20+
"source": [
21+
"%matplotlib widget"
22+
]
23+
},
24+
{
25+
"cell_type": "code",
26+
"execution_count": null,
27+
"id": "2",
28+
"metadata": {},
29+
"outputs": [],
30+
"source": [
31+
"from ess.reflectometry.gui import AmorBatchReductionGUI"
32+
]
33+
},
34+
{
35+
"cell_type": "code",
36+
"execution_count": null,
37+
"id": "3",
38+
"metadata": {},
39+
"outputs": [],
40+
"source": [
41+
"gui = AmorBatchReductionGUI()\n",
42+
"gui.widget\n"
43+
]
44+
}
45+
],
46+
"metadata": {
47+
"kernelspec": {
48+
"display_name": "Python 3 (ipykernel)",
49+
"language": "python",
50+
"name": "python3"
51+
},
52+
"language_info": {
53+
"codemirror_mode": {
54+
"name": "ipython",
55+
"version": 3
56+
},
57+
"file_extension": ".py",
58+
"mimetype": "text/x-python",
59+
"name": "python",
60+
"nbconvert_exporter": "python",
61+
"pygments_lexer": "ipython3",
62+
"version": "3.10.14"
63+
}
64+
},
65+
"nbformat": 4,
66+
"nbformat_minor": 5
67+
}

pyproject.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,9 @@ dependencies = [
4343
"scippnexus>=24.9.1",
4444
"essreduce",
4545
"pandas",
46+
"ipywidgets",
47+
"ipydatagrid",
48+
"ipytree",
4649
]
4750

4851
dynamic = ["version"]

requirements/base.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,6 @@ scippneutron>=24.7.0
1414
scippnexus>=24.9.1
1515
essreduce
1616
pandas
17+
ipywidgets
18+
ipydatagrid
19+
ipytree

requirements/base.txt

Lines changed: 69 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
# SHA1:e82c2f6f325de86a068c5252c20acc8ebeb12449
1+
# SHA1:f969ab6f386658dc46c7b372a54f9287f240403c
22
#
33
# This file is autogenerated by pip-compile-multi
44
# To update, run:
55
#
66
# pip-compile-multi
77
#
8+
annotated-types==0.7.0
9+
# via pydantic
810
asttokens==3.0.0
911
# via stack-data
12+
bqplot==0.12.44
13+
# via ipydatagrid
1014
click==8.1.8
1115
# via dask
1216
cloudpickle==3.1.1
@@ -19,45 +23,65 @@ cyclebane==24.10.0
1923
# via sciline
2024
cycler==0.12.1
2125
# via matplotlib
22-
dask==2025.1.0
26+
dask==2025.3.0
2327
# via -r base.in
24-
decorator==5.1.1
28+
decorator==5.2.1
2529
# via ipython
26-
essreduce==25.2.0
30+
dnspython==2.7.0
31+
# via email-validator
32+
email-validator==2.2.0
33+
# via scippneutron
34+
essreduce==25.4.1
2735
# via -r base.in
2836
exceptiongroup==1.2.2
2937
# via ipython
3038
executing==2.2.0
3139
# via stack-data
32-
fonttools==4.56.0
40+
fonttools==4.57.0
3341
# via matplotlib
34-
fsspec==2025.2.0
42+
fsspec==2025.3.2
3543
# via dask
44+
gast==0.4.0
45+
# via py2vega
3646
graphviz==0.20.3
3747
# via -r base.in
38-
h5py==3.12.1
48+
h5py==3.13.0
3949
# via
4050
# scippneutron
4151
# scippnexus
52+
idna==3.10
53+
# via email-validator
4254
importlib-metadata==8.6.1
4355
# via dask
56+
ipydatagrid==1.4.0
57+
# via -r base.in
4458
ipydatawidgets==4.3.5
4559
# via pythreejs
46-
ipython==8.32.0
60+
ipython==8.35.0
4761
# via ipywidgets
62+
ipytree==0.2.2
63+
# via -r base.in
4864
ipywidgets==8.1.5
4965
# via
66+
# -r base.in
67+
# bqplot
68+
# ipydatagrid
5069
# ipydatawidgets
70+
# ipytree
5171
# pythreejs
5272
jedi==0.19.2
5373
# via ipython
5474
jupyterlab-widgets==3.0.13
5575
# via ipywidgets
5676
kiwisolver==1.4.8
5777
# via matplotlib
78+
lazy-loader==0.4
79+
# via
80+
# plopp
81+
# scippneutron
5882
locket==1.0.0
5983
# via partd
60-
matplotlib==3.10.0
84+
matplotlib==3.10.1
6185
# via
6286
# mpltoolbox
6387
# plopp
@@ -67,8 +91,9 @@ mpltoolbox==24.5.1
6791
# via scippneutron
6892
networkx==3.4.2
6993
# via cyclebane
70-
numpy==2.2.2
94+
numpy==2.2.4
7195
# via
96+
# bqplot
7297
# contourpy
7398
# h5py
7499
# ipydatawidgets
@@ -84,9 +109,13 @@ orsopy==1.2.1
84109
packaging==24.2
85110
# via
86111
# dask
112+
# lazy-loader
87113
# matplotlib
88114
pandas==2.2.3
89-
# via -r base.in
115+
# via
116+
# -r base.in
117+
# bqplot
118+
# ipydatagrid
90119
parso==0.8.4
91120
# via jedi
92121
partd==1.4.2
@@ -95,7 +124,7 @@ pexpect==4.9.0
95124
# via ipython
96125
pillow==11.1.0
97126
# via matplotlib
98-
plopp==24.10.0
127+
plopp==25.3.0
99128
# via
100129
# -r base.in
101130
# scippneutron
@@ -105,44 +134,51 @@ ptyprocess==0.7.0
105134
# via pexpect
106135
pure-eval==0.2.3
107136
# via stack-data
137+
py2vega==0.6.1
138+
# via ipydatagrid
139+
pydantic==2.11.3
140+
# via scippneutron
141+
pydantic-core==2.33.1
142+
# via pydantic
108143
pygments==2.19.1
109144
# via ipython
110-
pyparsing==3.2.1
145+
pyparsing==3.2.3
111146
# via matplotlib
112147
python-dateutil==2.9.0.post0
113148
# via
114149
# -r base.in
115150
# matplotlib
116151
# pandas
152+
# scippneutron
117153
# scippnexus
118154
pythreejs==2.4.2
119155
# via -r base.in
120-
pytz==2025.1
156+
pytz==2025.2
121157
# via pandas
122158
pyyaml==6.0.2
123159
# via
124160
# dask
125161
# orsopy
126-
sciline==24.10.0
162+
sciline==25.4.1
127163
# via
128164
# -r base.in
129165
# essreduce
130-
scipp==25.2.0
166+
scipp==25.4.0
131167
# via
132168
# -r base.in
133169
# essreduce
134170
# scippneutron
135171
# scippnexus
136-
scippneutron==25.1.0
172+
scippneutron==25.2.1
137173
# via
138174
# -r base.in
139175
# essreduce
140-
scippnexus==24.11.1
176+
scippnexus==25.4.0
141177
# via
142178
# -r base.in
143179
# essreduce
144180
# scippneutron
145-
scipy==1.15.1
181+
scipy==1.15.2
146182
# via
147183
# scippneutron
148184
# scippnexus
@@ -156,17 +192,27 @@ toolz==1.0.0
156192
# partd
157193
traitlets==5.14.3
158194
# via
195+
# bqplot
159196
# comm
160197
# ipython
161198
# ipywidgets
162199
# matplotlib-inline
163200
# pythreejs
164201
# traittypes
165202
traittypes==0.2.1
166-
# via ipydatawidgets
167-
typing-extensions==4.12.2
168-
# via ipython
169-
tzdata==2025.1
203+
# via
204+
# bqplot
205+
# ipydatawidgets
206+
typing-extensions==4.13.1
207+
# via
208+
# ipython
209+
# pydantic
210+
# pydantic-core
211+
# sciline
212+
# typing-inspection
213+
typing-inspection==0.4.0
214+
# via pydantic
215+
tzdata==2025.2
170216
# via pandas
171217
wcwidth==0.2.13
172218
# via prompt-toolkit

requirements/basetest.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,19 @@ exceptiongroup==1.2.2
1313
# via pytest
1414
idna==3.10
1515
# via requests
16-
iniconfig==2.0.0
16+
iniconfig==2.1.0
1717
# via pytest
1818
packaging==24.2
1919
# via
2020
# pooch
2121
# pytest
22-
platformdirs==4.3.6
22+
platformdirs==4.3.7
2323
# via pooch
2424
pluggy==1.5.0
2525
# via pytest
2626
pooch==1.8.2
2727
# via -r basetest.in
28-
pytest==8.3.4
28+
pytest==8.3.5
2929
# via -r basetest.in
3030
requests==2.32.3
3131
# via pooch

requirements/ci.txt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66
# pip-compile-multi
77
#
8-
cachetools==5.5.1
8+
cachetools==5.5.2
99
# via tox
1010
certifi==2025.1.31
1111
# via requests
@@ -17,7 +17,7 @@ colorama==0.4.6
1717
# via tox
1818
distlib==0.3.9
1919
# via virtualenv
20-
filelock==3.17.0
20+
filelock==3.18.0
2121
# via
2222
# tox
2323
# virtualenv
@@ -32,7 +32,7 @@ packaging==24.2
3232
# -r ci.in
3333
# pyproject-api
3434
# tox
35-
platformdirs==4.3.6
35+
platformdirs==4.3.7
3636
# via
3737
# tox
3838
# virtualenv
@@ -48,11 +48,11 @@ tomli==2.2.1
4848
# via
4949
# pyproject-api
5050
# tox
51-
tox==4.24.1
51+
tox==4.25.0
5252
# via -r ci.in
53-
typing-extensions==4.12.2
53+
typing-extensions==4.13.1
5454
# via tox
5555
urllib3==2.3.0
5656
# via requests
57-
virtualenv==20.29.2
57+
virtualenv==20.30.0
5858
# via tox

0 commit comments

Comments
 (0)