# Scipy 2025 BoF
## Reliable executable tutorials -- CI/CD challenges
Brigitta Sipőcz ([@bsipocz](https://github.com/bsipocz))
Dan Allan ([@danielballan](https://github.com/danielballan))
This BoF aims to host discussion about best practices for maintaining executable tutorials that are reproducible and reliable. The BoF is intended to be a platform to collect tips and tricks of CI/CD practices, too.
## Use Cases
When we think of reproducable and reliable Jupyter notebook based tutorials we may have some totally different use cases in mind:
- A trove of working snippets to copy and paste
- A maintained resource for self-guided learning
- A ready-to-use curriculum for hands-on workshops
- A suite of science domain-specific "integration tests" for the showcased libraries
- What else?
- RST based examples -- testing is "easy" as doctest, but interactivity is the challange
- scikit-hep pip installable -- data is stored elsewhere (scikit-hep-testdata)
### Resource intensive
- some tutorials are kept static when they are resource intensive
- using institutional resources
- including self hosted GHA runners
- may need some scaffolding to ensure bad actors can't trigger runs
- scale down to small data for CI
## Sphinx to MystMD transition
## Code-running modalities
- Local
- Binder / github codespace / google colab
- institutional jupyterlab / cloud platforms
- admins run the labs, often there is no direct control over the envs
- server extensions are painful
- JupyterLite / PyIodide
- wheels may get accepted to pypi in the future
- More?
#### executable-tutorials
WIP repository to collect practices and tips/tricks
https://scientific-python.github.io/executable-tutorials/