Skip to content

Commit 0dd57ae

Browse files
committed
Removed nbw and nb-wrangler wrapper script installs causing problems with wheel building
Added draft plan-b.reqs docs Updated test specs based on test-functional
1 parent 73f9172 commit 0dd57ae

6 files changed

Lines changed: 120 additions & 63 deletions

File tree

docs/plan-b.reqs

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Plab B Overview
2+
3+
Plan B is a system designed to leverage the difference in performance between container
4+
storage and EFS in order to support software environments that are relatively fast to
5+
install and use (container storage) but also persistent (EFS).
6+
7+
1. Command to install wrangler spec as live environment and persist to designated pantry.
8+
9+
nb-wrangler nbw-wrangler-spec.yaml --reinstall --env-pack
10+
nb-wrangler nbw-wrangler-spec.yaml --data-install (optional if shared data available? tricky)
11+
12+
2. Command to uninstall live environment to release container space.
13+
14+
nb-wrangler nbw-wrangler-spec.yaml --env-delete
15+
16+
3. Command to restore archived environment to live status.
17+
18+
nbw-wrangler nbw-wrangler-spec.yaml --env-unpack
19+
20+
4. Command to delete environment archive to release archive space.
21+
22+
(nbw-wrangler nbw-wrangler-spec.yaml --env-archive-delete)
23+
24+
25+
5. Investigate mamba/micromamba environment archive commands as alternative to tar.
26+
27+
28+
6. Notation for referring to specs whether "wild" or archived., including globbing or regex.
29+
30+
For regex/glob searches use nbw://(pattern)
31+
For https use https://...
32+
For file use <local path>
33+
For registry use nbw-
34+
35+
7. Integration with wrangler data management so activated data tracks activated environment.
36+
37+
8. Ability to support user, team, and mission level installations with progressively more
38+
isolation from unprivileged users. Propose NBW_PATH which points to pantry-1:pantry-2:pantry-3...
39+
40+
9. Barebones generic JupyterLab image. Propose clean break from science-platform-images with
41+
goals of minimal size and simplicity. Using jupyter/docker-stacks to track community development
42+
is optional since it adds complexity and pre-adds many packages.
43+
44+
10. Set NBW_SPEC from profile and "activate" selected env during post-start-hook.
45+
46+
11a. Environment library lab extension
47+
11b. Environment library notebook server env activator / deactivator

nb_wrangler/nb-wrangler

Lines changed: 0 additions & 1 deletion
This file was deleted.

nb_wrangler/nbw.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

pyproject.toml

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,3 @@ path = "nb_wrangler/constants.py"
5555
include = [
5656
"/nb_wrangler",
5757
]
58-
59-
60-
61-
62-
[project.scripts]
63-
nbw = "nb_wrangler.nbw:main"
64-
nb-wrangler = "nb_wrangler.nbw:main"
65-
66-
# [tool.hatch.build.targets.wheel]
67-
# force-include = ["scripts/nbw.py" = "nb_wrangler/nbw.py"]
68-
69-
# [tool.hatch.build.targets.sdist]
70-
# force-include = ["scripts/cli.py" = "nb_wrangler/nb-wrangler"]

sample-specs/fnc-test-spec.yaml

Lines changed: 41 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ system:
7171
nb-wrangler:
7272
repo: https://github.com/spacetelescope/nb-wrangler.git
7373
ref: main
74-
spec_sha256: 953bf354833fe9acb543ea63097c8ee26626319ec86e4020a081769839902fc1
74+
spec_sha256: 14b274ca9019ce5b6d93a9aad8b4e79f19af96f757f8fbbc213307fd554155c8
7575
date_updated: '2026-03-04T18:24:02.403424'
7676

7777
refdata_dependencies:
@@ -98,7 +98,6 @@ out:
9898
spi:
9999
repo: https://github.com/jaytmiller/science-platform-images.git
100100
ref: c25930fbfb9c9a2dd390800811ae14734bc84658
101-
102101
test_notebooks:
103102
? inject-spi-references/mast_notebooks/notebooks/Kepler/identifying_transiting_planet_signals/identifying_transiting_planet_signals.ipynb
104103
: mast_kepler_identifying
@@ -199,21 +198,23 @@ out:
199198
- setuptools
200199
- wheel
201200
non_mamba_pip_package_files:
202-
- inject-spi-references/mast_notebooks/notebooks/Kepler/instrumental_noise_4_electronic_noise/requirements.txt
203-
- inject-spi-references/tike_content/content/notebooks/tglc/requirements.txt
204-
- inject-spi-references/tike_content/content/notebooks/lcviz-tutorial/requirements.txt
205-
- inject-spi-references/tike_content/content/notebooks/zooniverse_view_lightcurve/requirements.txt
206201
- inject-spi-references/tike_content/content/notebooks/data-access/requirements.txt
202+
- inject-spi-references/mast_notebooks/notebooks/TESS/beginner_tour_lc_tp/requirements.txt
203+
- inject-spi-references/tike_content/content/notebooks/zooniverse_view_lightcurve/requirements.txt
207204
- inject-spi-references/mast_notebooks/notebooks/Kepler/identifying_transiting_planet_signals/requirements.txt
205+
- inject-spi-references/tike_content/content/notebooks/lcviz-tutorial/requirements.txt
208206
- inject-spi-references/mast_notebooks/notebooks/TESS/beginner_how_to_use_lc/requirements.txt
209-
- inject-spi-references/mast_notebooks/notebooks/TESS/beginner_tour_lc_tp/requirements.txt
207+
- inject-spi-references/mast_notebooks/notebooks/Kepler/instrumental_noise_4_electronic_noise/requirements.txt
208+
- inject-spi-references/tike_content/content/notebooks/tglc/requirements.txt
210209
- inject-spi-references/science-platform-images/deployments/common/common-env/required.pip
211210
- inject-spi-references/science-platform-images/deployments/common/common-env/testing.pip
212211
- inject-spi-references/science-platform-images/deployments/common/common-env/jupyter.pip
213212
- inject-spi-references/science-platform-images/deployments/common/common-env/common.pip
214213
- inject-spi-references/science-platform-images/deployments/common/common-env/docs.pip
215214
- extra_pip_packages.txt
216215
pip_compiler_output: |
216+
accessible-pygments==0.0.5
217+
# via pydata-sphinx-theme
217218
aiobotocore==3.4.0
218219
# via s3fs
219220
aiohappyeyeballs==2.6.1
@@ -319,9 +320,9 @@ out:
319320
# spectral-cube
320321
# specutils
321322
# stdatamodels
322-
astropy-iers-data==0.2026.4.6.0.54.57
323+
astropy-iers-data==0.2026.4.13.0.58.2
323324
# via astropy
324-
astropy-sphinx-theme==2.0
325+
astropy-sphinx-theme==3.0
325326
# via sphinx-astropy
326327
astroquery==0.4.11
327328
# via
@@ -344,6 +345,7 @@ out:
344345
babel==2.18.0
345346
# via
346347
# jupyterlab-server
348+
# pydata-sphinx-theme
347349
# sphinx
348350
backports-tarfile==1.2.0 ; python_full_version < '3.12'
349351
# via jaraco-context
@@ -352,6 +354,7 @@ out:
352354
# astroquery
353355
# lightkurve
354356
# nbconvert
357+
# pydata-sphinx-theme
355358
black==26.3.1
356359
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/common.pip
357360
bleach==6.3.0
@@ -385,7 +388,7 @@ out:
385388
# via
386389
# -r inject-spi-references/science-platform-images/deployments/common/common-env/jupyter.pip
387390
# glue-jupyter
388-
build==1.4.2
391+
build==1.4.3
389392
# via pip-tools
390393
bytecode==0.17.0
391394
# via ddtrace
@@ -440,7 +443,7 @@ out:
440443
# via
441444
# bokeh
442445
# matplotlib
443-
crds==13.1.13
446+
crds==13.1.14
444447
# via ci-watson
445448
cryptography==46.0.7
446449
# via
@@ -452,7 +455,7 @@ out:
452455
# via
453456
# casa-formats-io
454457
# spectral-cube
455-
ddtrace==4.6.7
458+
ddtrace==4.7.1
456459
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/common.pip
457460
debugpy==1.8.20
458461
# via ipykernel
@@ -469,6 +472,7 @@ out:
469472
docutils==0.22.4
470473
# via
471474
# nbsphinx
475+
# pydata-sphinx-theme
472476
# sphinx
473477
# sphinx-rtd-theme
474478
echo==0.15.0
@@ -491,7 +495,7 @@ out:
491495
# via nbformat
492496
fbpca==1.0
493497
# via lightkurve
494-
filelock==3.25.2
498+
filelock==3.28.0
495499
# via
496500
# crds
497501
# solara-server
@@ -797,7 +801,7 @@ out:
797801
# via jupyter-server
798802
jupyter-server-ydoc==2.3.0
799803
# via jupyter-collaboration
800-
jupyter-ydoc==3.4.0
804+
jupyter-ydoc==3.4.1
801805
# via jupyter-server-ydoc
802806
jupyterhub==5.4.4
803807
# via
@@ -851,7 +855,7 @@ out:
851855
# lcviz
852856
locket==1.0.0
853857
# via partd
854-
mako==1.3.10
858+
mako==1.3.11
855859
# via alembic
856860
markdown==3.10.2
857861
# via
@@ -1020,7 +1024,7 @@ out:
10201024
# via ddtrace
10211025
overrides==7.7.0 ; python_full_version < '3.12'
10221026
# via jupyter-server
1023-
packaging==26.0
1027+
packaging==26.1
10241028
# via
10251029
# asdf
10261030
# asdf-astropy
@@ -1099,7 +1103,7 @@ out:
10991103
# via pip-tools
11001104
pip-tools==7.5.3
11011105
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/common.pip
1102-
pipdeptree==2.35.0
1106+
pipdeptree==2.35.1
11031107
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/common.pip
11041108
platformdirs==4.9.6
11051109
# via
@@ -1150,10 +1154,12 @@ out:
11501154
# via pycrdt-websocket
11511155
pycrdt-websocket==0.16.0
11521156
# via jupyter-server-ydoc
1153-
pydantic==2.12.5
1157+
pydantic==2.13.1
11541158
# via jupyterhub
1155-
pydantic-core==2.41.5
1159+
pydantic-core==2.46.1
11561160
# via pydantic
1161+
pydata-sphinx-theme==0.17.0
1162+
# via sunpy-sphinx-theme
11571163
pydeps==3.0.2
11581164
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/common.pip
11591165
pyds9==1.8.1
@@ -1166,10 +1172,12 @@ out:
11661172
# via flake8
11671173
pygments==2.20.0
11681174
# via
1175+
# accessible-pygments
11691176
# ipython
11701177
# ipython-pygments-lexers
11711178
# nbconvert
11721179
# nbdime
1180+
# pydata-sphinx-theme
11731181
# pytest
11741182
# rich
11751183
# solara-ui
@@ -1285,7 +1293,7 @@ out:
12851293
# jupyter-events
12861294
rfc3987-syntax==1.1.0
12871295
# via jsonschema
1288-
rich==14.3.3
1296+
rich==15.0.0
12891297
# via rich-click
12901298
rich-click==1.9.7
12911299
# via solara-server
@@ -1327,7 +1335,6 @@ out:
13271335
# via jupyter-server
13281336
setuptools==82.0.1
13291337
# via
1330-
# astropy-sphinx-theme
13311338
# jupyter-packaging
13321339
# jupyterlab
13331340
# pip-tools
@@ -1376,25 +1383,31 @@ out:
13761383
sphinx==9.0.4 ; python_full_version < '3.12'
13771384
# via
13781385
# -r inject-spi-references/science-platform-images/deployments/common/common-env/docs.pip
1386+
# astropy-sphinx-theme
13791387
# nbsphinx
13801388
# numpydoc
1389+
# pydata-sphinx-theme
13811390
# sphinx-astropy
13821391
# sphinx-automodapi
13831392
# sphinx-gallery
13841393
# sphinx-rtd-theme
13851394
# sphinxcontrib-jquery
13861395
# stsci-rtd-theme
1396+
# sunpy-sphinx-theme
13871397
sphinx==9.1.0 ; python_full_version >= '3.12'
13881398
# via
13891399
# -r inject-spi-references/science-platform-images/deployments/common/common-env/docs.pip
1400+
# astropy-sphinx-theme
13901401
# nbsphinx
13911402
# numpydoc
1403+
# pydata-sphinx-theme
13921404
# sphinx-astropy
13931405
# sphinx-automodapi
13941406
# sphinx-gallery
13951407
# sphinx-rtd-theme
13961408
# sphinxcontrib-jquery
13971409
# stsci-rtd-theme
1410+
# sunpy-sphinx-theme
13981411
sphinx-astropy==1.10
13991412
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/docs.pip
14001413
sphinx-automodapi==0.22.0
@@ -1439,6 +1452,8 @@ out:
14391452
# via pydeps
14401453
stsci-rtd-theme==1.0.1
14411454
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/docs.pip
1455+
sunpy-sphinx-theme==2.1.1
1456+
# via astropy-sphinx-theme
14421457
tenacity==9.1.4
14431458
# via papermill
14441459
terminado==0.18.1
@@ -1447,7 +1462,9 @@ out:
14471462
# jupyter-server-terminals
14481463
threadpoolctl==3.6.0
14491464
# via scikit-learn
1450-
tifffile==2026.3.3
1465+
tifffile==2026.3.3 ; python_full_version < '3.12'
1466+
# via scikit-image
1467+
tifffile==2026.4.11 ; python_full_version >= '3.12'
14511468
# via scikit-image
14521469
tinycss2==1.4.0
14531470
# via bleach
@@ -1520,6 +1537,7 @@ out:
15201537
# opentelemetry-api
15211538
# pydantic
15221539
# pydantic-core
1540+
# pydata-sphinx-theme
15231541
# pyee
15241542
# reacton
15251543
# referencing
@@ -1599,5 +1617,5 @@ out:
15991617
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/jupyter.pip
16001618
yq==3.4.3
16011619
# via -r inject-spi-references/science-platform-images/deployments/common/common-env/common.pip
1602-
zipp==3.23.0
1620+
zipp==3.23.1
16031621
# via importlib-metadata

0 commit comments

Comments
 (0)