Jupyter Notebook Helpers¶
Notebook Execution Helpers¶
Running shell commands and complex scientific workflows inside Jupyter notebooks can often lead to verbose and “scary” boilerplate code.
Added in version 0.1.0.
The `rgpycrumbs.run.jupyter` module provides clean abstractions for subprocess management and configuration generation, designed specifically for tutorial notebooks (like those in the Atomistic Cookbook).
Subprocess Management¶
The run_command_or_exit function streams `stdout` and `stderr` in real-time
to the notebook cell output, ensuring long-running simulation jobs (like
`eonclient`) don’t appear to hang.
from rgpycrumbs.run.jupyter import run_command_or_exit
# Runs 'eonclient', streams output, and raises SystemExit on failure
# This prevents the notebook from continuing if the simulation crashes.
run_command_or_exit(["eonclient"], timeout=300)
Configuration Generation¶
Instead of writing `config.ini` files using fragile f-strings, use
write_eon_config to generate them from Python dictionaries.
from rgpycrumbs.run.jupyter import write_eon_config
settings = {
"Main": {"job": "nudged_elastic_band"},
"Potential": {"potential": "Metatomic"},
}
# Writes to ./config.ini safely
write_eon_config(".", settings)
API Reference¶
For developer details see rgpycrumbs.run.jupyter.