Skip to content

Commit d9ec5d0

Browse files
authored
Merge pull request #151 from scipp/optional-deps
deps: move gui deps to optional
2 parents 7d130c8 + b87238a commit d9ec5d0

File tree

14 files changed

+148
-213
lines changed

14 files changed

+148
-213
lines changed

docs/user-guide/installation.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Installation
22

3-
To install ESSreflectometry and all of its dependencies, use
3+
To install ESSreflectometry and all of its required dependencies, use
44

55
`````{tab-set}
66
````{tab-item} pip
@@ -14,3 +14,19 @@ conda install -c conda-forge -c scipp essreflectometry
1414
```
1515
````
1616
`````
17+
18+
To install ESSreflectometry and all of its dependencies,
19+
including dependencies used in the graphical user interface for batch reduction, use
20+
21+
`````{tab-set}
22+
````{tab-item} pip
23+
```sh
24+
pip install essreflectometry[all]
25+
```
26+
````
27+
````{tab-item} conda
28+
```sh
29+
conda install -c conda-forge -c scipp essreflectometry ipywidgets ipydatagrid ipytree pythreejs
30+
```
31+
````
32+
`````

pyproject.toml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,17 +35,13 @@ dependencies = [
3535
"python-dateutil",
3636
"graphviz",
3737
"plopp",
38-
"pythreejs",
3938
"orsopy",
4039
"sciline>=24.6.0",
4140
"scipp>=24.09.1", # Fixed new hist/bin API
4241
"scippneutron>=24.7.0",
4342
"scippnexus>=24.9.1",
4443
"essreduce",
4544
"pandas",
46-
"ipywidgets",
47-
"ipydatagrid",
48-
"ipytree",
4945
]
5046

5147
dynamic = ["version"]
@@ -55,6 +51,12 @@ test = [
5551
"pytest",
5652
"pooch",
5753
]
54+
all = [
55+
"ipywidgets",
56+
"ipydatagrid",
57+
"ipytree",
58+
"pythreejs",
59+
]
5860

5961
[project.urls]
6062
"Bug Tracker" = "https://github.com/scipp/essreflectometry/issues"

requirements/base.in

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,10 @@ dask
66
python-dateutil
77
graphviz
88
plopp
9-
pythreejs
109
orsopy
1110
sciline>=24.6.0
1211
scipp>=24.09.1
1312
scippneutron>=24.7.0
1413
scippnexus>=24.9.1
1514
essreduce
1615
pandas
17-
ipywidgets
18-
ipydatagrid
19-
ipytree

requirements/base.txt

Lines changed: 9 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SHA1:f969ab6f386658dc46c7b372a54f9287f240403c
1+
# SHA1:e1f1193e2c78c1dda6ffc784197fb6babbad9245
22
#
33
# This file is autogenerated by pip-compile-multi
44
# To update, run:
@@ -7,42 +7,28 @@
77
#
88
annotated-types==0.7.0
99
# via pydantic
10-
asttokens==3.0.0
11-
# via stack-data
12-
bqplot==0.12.44
13-
# via ipydatagrid
1410
click==8.1.8
1511
# via dask
1612
cloudpickle==3.1.1
1713
# via dask
18-
comm==0.2.2
19-
# via ipywidgets
20-
contourpy==1.3.1
14+
contourpy==1.3.2
2115
# via matplotlib
2216
cyclebane==24.10.0
2317
# via sciline
2418
cycler==0.12.1
2519
# via matplotlib
26-
dask==2025.3.0
20+
dask==2025.4.0
2721
# via -r base.in
28-
decorator==5.2.1
29-
# via ipython
3022
dnspython==2.7.0
3123
# via email-validator
3224
email-validator==2.2.0
3325
# via scippneutron
3426
essreduce==25.4.1
3527
# via -r base.in
36-
exceptiongroup==1.2.2
37-
# via ipython
38-
executing==2.2.0
39-
# via stack-data
4028
fonttools==4.57.0
4129
# via matplotlib
4230
fsspec==2025.3.2
4331
# via dask
44-
gast==0.4.0
45-
# via py2vega
4632
graphviz==0.20.3
4733
# via -r base.in
4834
h5py==3.13.0
@@ -53,26 +39,6 @@ idna==3.10
5339
# via email-validator
5440
importlib-metadata==8.6.1
5541
# via dask
56-
ipydatagrid==1.4.0
57-
# via -r base.in
58-
ipydatawidgets==4.3.5
59-
# via pythreejs
60-
ipython==8.35.0
61-
# via ipywidgets
62-
ipytree==0.2.2
63-
# via -r base.in
64-
ipywidgets==8.1.5
65-
# via
66-
# -r base.in
67-
# bqplot
68-
# ipydatagrid
69-
# ipydatawidgets
70-
# ipytree
71-
# pythreejs
72-
jedi==0.19.2
73-
# via ipython
74-
jupyterlab-widgets==3.0.13
75-
# via ipywidgets
7642
kiwisolver==1.4.8
7743
# via matplotlib
7844
lazy-loader==0.4
@@ -85,63 +51,41 @@ matplotlib==3.10.1
8551
# via
8652
# mpltoolbox
8753
# plopp
88-
matplotlib-inline==0.1.7
89-
# via ipython
9054
mpltoolbox==24.5.1
9155
# via scippneutron
9256
networkx==3.4.2
9357
# via cyclebane
94-
numpy==2.2.4
58+
numpy==2.2.5
9559
# via
96-
# bqplot
9760
# contourpy
9861
# h5py
99-
# ipydatawidgets
10062
# matplotlib
10163
# mpltoolbox
10264
# pandas
103-
# pythreejs
10465
# scipp
10566
# scippneutron
10667
# scipy
10768
orsopy==1.2.1
10869
# via -r base.in
109-
packaging==24.2
70+
packaging==25.0
11071
# via
11172
# dask
11273
# lazy-loader
11374
# matplotlib
11475
pandas==2.2.3
115-
# via
116-
# -r base.in
117-
# bqplot
118-
# ipydatagrid
119-
parso==0.8.4
120-
# via jedi
76+
# via -r base.in
12177
partd==1.4.2
12278
# via dask
123-
pexpect==4.9.0
124-
# via ipython
125-
pillow==11.1.0
79+
pillow==11.2.1
12680
# via matplotlib
127-
plopp==25.3.0
81+
plopp==25.4.1
12882
# via
12983
# -r base.in
13084
# scippneutron
131-
prompt-toolkit==3.0.50
132-
# via ipython
133-
ptyprocess==0.7.0
134-
# via pexpect
135-
pure-eval==0.2.3
136-
# via stack-data
137-
py2vega==0.6.1
138-
# via ipydatagrid
13985
pydantic==2.11.3
14086
# via scippneutron
14187
pydantic-core==2.33.1
14288
# via pydantic
143-
pygments==2.19.1
144-
# via ipython
14589
pyparsing==3.2.3
14690
# via matplotlib
14791
python-dateutil==2.9.0.post0
@@ -151,8 +95,6 @@ python-dateutil==2.9.0.post0
15195
# pandas
15296
# scippneutron
15397
# scippnexus
154-
pythreejs==2.4.2
155-
# via -r base.in
15698
pytz==2025.2
15799
# via pandas
158100
pyyaml==6.0.2
@@ -184,28 +126,12 @@ scipy==1.15.2
184126
# scippnexus
185127
six==1.17.0
186128
# via python-dateutil
187-
stack-data==0.6.3
188-
# via ipython
189129
toolz==1.0.0
190130
# via
191131
# dask
192132
# partd
193-
traitlets==5.14.3
194-
# via
195-
# bqplot
196-
# comm
197-
# ipython
198-
# ipywidgets
199-
# matplotlib-inline
200-
# pythreejs
201-
# traittypes
202-
traittypes==0.2.1
203-
# via
204-
# bqplot
205-
# ipydatawidgets
206-
typing-extensions==4.13.1
133+
typing-extensions==4.13.2
207134
# via
208-
# ipython
209135
# pydantic
210136
# pydantic-core
211137
# sciline
@@ -214,9 +140,5 @@ typing-inspection==0.4.0
214140
# via pydantic
215141
tzdata==2025.2
216142
# via pandas
217-
wcwidth==0.2.13
218-
# via prompt-toolkit
219-
widgetsnbextension==4.0.13
220-
# via ipywidgets
221143
zipp==3.21.0
222144
# via importlib-metadata

requirements/basetest.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ idna==3.10
1515
# via requests
1616
iniconfig==2.1.0
1717
# via pytest
18-
packaging==24.2
18+
packaging==25.0
1919
# via
2020
# pooch
2121
# pytest
@@ -31,5 +31,5 @@ requests==2.32.3
3131
# via pooch
3232
tomli==2.2.1
3333
# via pytest
34-
urllib3==2.3.0
34+
urllib3==2.4.0
3535
# via requests

requirements/ci.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ gitpython==3.1.44
2727
# via -r ci.in
2828
idna==3.10
2929
# via requests
30-
packaging==24.2
30+
packaging==25.0
3131
# via
3232
# -r ci.in
3333
# pyproject-api
@@ -50,9 +50,9 @@ tomli==2.2.1
5050
# tox
5151
tox==4.25.0
5252
# via -r ci.in
53-
typing-extensions==4.13.1
53+
typing-extensions==4.13.2
5454
# via tox
55-
urllib3==2.3.0
55+
urllib3==2.4.0
5656
# via requests
5757
virtualenv==20.30.0
5858
# via tox

requirements/dev.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,17 +26,17 @@ async-lru==2.0.5
2626
# via jupyterlab
2727
cffi==1.17.1
2828
# via argon2-cffi-bindings
29-
copier==9.6.0
29+
copier==9.7.1
3030
# via -r dev.in
3131
dunamai==1.23.1
3232
# via copier
3333
fqdn==1.5.1
3434
# via jsonschema
3535
funcy==2.0
3636
# via copier
37-
h11==0.14.0
37+
h11==0.16.0
3838
# via httpcore
39-
httpcore==1.0.7
39+
httpcore==1.0.9
4040
# via httpx
4141
httpx==0.28.1
4242
# via jupyterlab
@@ -65,7 +65,7 @@ jupyter-server==2.15.0
6565
# notebook-shim
6666
jupyter-server-terminals==0.5.3
6767
# via jupyter-server
68-
jupyterlab==4.4.0
68+
jupyterlab==4.4.1
6969
# via -r dev.in
7070
jupyterlab-server==2.27.3
7171
# via jupyterlab
@@ -75,7 +75,7 @@ overrides==7.7.0
7575
# via jupyter-server
7676
pathspec==0.12.1
7777
# via copier
78-
pip-compile-multi==2.8.0
78+
pip-compile-multi==3.0.0
7979
# via -r dev.in
8080
pip-tools==7.4.1
8181
# via pip-compile-multi

requirements/docs.in

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,6 @@ sphinx-copybutton
1010
sphinx-design
1111
pooch
1212
ipympl
13+
ipywidgets
14+
ipydatagrid
15+
ipytree

0 commit comments

Comments
 (0)