Skip to content

Commit

Permalink
Merge pull request #69 from NSLS-II/server-only
Browse files Browse the repository at this point in the history
Manage kernel env separately
  • Loading branch information
danielballan authored Sep 14, 2023
2 parents 6be1da6 + 1e0a15a commit dbcf262
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 93 deletions.
14 changes: 6 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
# Scientific Python Binder for NSLS-II

Run this on Binder (free public cloud resources) using this link:
This defines the container image run on https://jupyter.nsls2.bnl.gov.

[![Binder](http://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/NSLS-II/scipy-binder/main)

Or run it on the NSLS-II JupyterHub at SDCC by visiting

https://jupyter.sdcc.bnl.gov/jupyterhub/nsls/

and choosing "scientific-python".
Note that this only includes the Jupyter _server_ environment, which includes
various Jupyter server extensions. It does not include the Jupyter _kernels_
where the user code is executed. Those are managed separately in
[nsls2-conda-envs/nsls2-collection-tiled](https://github.com/nsls2-conda-envs/nsls2-collection-tiled)
and mounted into the container under `/nsls2/conda/`.
85 changes: 2 additions & 83 deletions binder/environment.yml
Original file line number Diff line number Diff line change
@@ -1,95 +1,14 @@
channels:
- conda-forge
dependencies:
- amostra
- area-detector-handlers
- arvpyf
- atsas-pipelines
- blosc
- bokeh
- boto3
- botorch
- bottleneck
- chxtools
- csxtools>=0.1.14
- dask
- dask-image
- dask-jobqueue
- python=3.9
- dask-labextension
- dask-ml
- dask-xgboost
- databroker>=2.0.0b23
- edrixs>=0.0.8
- eiger-io
- fabio
- gpytorch
- graphviz
- h5py>=3.6
- hvplot
- hxntools
- ipympl
- jupyter-server-proxy
- jupyterhub-singleuser=1.3.0 # match JupyterHub deployment version
- jupyterlab=3.2.*
- jupyterlab-h5web
- line_profiler
- lixtools>=2023.1.23.0
- lmfit>=0.9.9
- matplotlib>=3.5
- memory_profiler
- mendeleev
- modestimage # change to force rebuild to get new build
- nbclassic>=0.2.8
- nbgitpuller
- nbserverproxy
# - netcdf4 # jams up the solver, and unclear whether it is actually used
- nbconvert-webpdf
- nodejs
- notebook
- nslsii
- numba
- numexpr
- numpy>=1.22
- openmpi>=4.1.4
- pandas
- papermill
- periodictable
- photutils
- pip # mamba warns us to explicitly list this dependency
- py-xgboost
- py4xs>=2023.1.23.0
- pyarrow
- pycentroids
- pychx >=4.1.2
- pyfai
- pymongo
- pypdf2
- pystackreg
- pytables
- python-blosc
- python-graphviz
- python=3.9
- pytorch
- pyxrf>=0.0.9
- reportlab
- requests
- sasview
- scikit-learn
- scipy>=1.9
- seaborn
- shadow3
- sip
- sixtools>=0.0.2
- smi-analysis>=0.2.0
- srwpy
- tiled>=0.1.0a92
- tornado
- tzlocal <3 # tzlocal 3 broke API on Python 3.7 and the fix turned into a rabbithole
- voila
- xarray
- xray-vision >=0.0.10
- xraylarch>=0.9.45
- zarr
- pip:
- mimesis
- pyzbar
- pyhyperscattering[all]
14 changes: 14 additions & 0 deletions binder/kernel.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"argv": [
"/nsls2/conda/envs/2023-3.1-py310-tiled/bin/python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Python 3 (ipykernel)",
"language": "python",
"metadata": {
"debugger": true
}
}
7 changes: 5 additions & 2 deletions binder/postBuild
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
#!/bin/bash

MPLBACKEND=Agg python -c "import matplotlib.pyplot" # Build font cache.

# Replace the default Python 3 kernel, which would use the Jupyter server
# environment, with one that points into /nsls2/conda/ which is expected
# to be mounted in when the container is run.
mv /srv/conda/envs/notebook/share/jupyter/kernels/python3 /srv/conda/envs/notebook/share/jupyter/kernels/external_python3
mv ./binder/kernel.json /srv/conda/envs/notebook/share/jupyter/kernels/external_python3/kernel.json

0 comments on commit dbcf262

Please sign in to comment.