# 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/