[Documentation] Consolidate workshop tutorials into the documentation#1017
Conversation
Gather documentation from the executorlib workshop and tutorial repositories which was not yet covered in the main documentation: - docs/coupling.md: new page demonstrating executorlib as a drop-in executor / worker pool for emcee, pipefunc, omp4py and pylammpsmpi - README: "Which Executor should I use?" overview table and links to the new page - 1-single-node: gentle introduction to Future objects (result / done / cancel) - 2-hpc-cluster: "Disconnecting and Reconnecting" (shutdown wait / cancel_futures) and verifying the SLURM resource assignment with sacct - 3-hpc-job: starting Flux from the SlurmClusterExecutor submission template SLURM based examples are kept as non-executed reference code, consistent with the existing notebooks which are executed in CI without a SLURM scheduler. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
Check out this pull request on See visual diffs & provide feedback on Jupyter Notebooks. Powered by ReviewNB |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (6)
📝 WalkthroughWalkthroughThis PR expands executorlib documentation by introducing executor selection guidance in the README, a new comprehensive guide on integrating executorlib with external scientific Python libraries (emcee, pipefunc, omp4py, pylammpsmpi), and enhanced notebook examples for HPC SLURM/Flux workflows. All changes are documentation-only. ChangesDocumentation expansion for executor selection and library coupling
Estimated code review effort🎯 2 (Simple) | ⏱️ ~8 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 Ruff (0.15.15)notebooks/2-hpc-cluster.ipynbUnexpected end of JSON input notebooks/3-hpc-job.ipynbUnexpected end of JSON input Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1017 +/- ##
=======================================
Coverage 94.24% 94.24%
=======================================
Files 39 39
Lines 2119 2119
=======================================
Hits 1997 1997
Misses 122 122 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Motivation
The documentation for executorlib is currently scattered across a number of separate workshop and tutorial repositories. This PR reviews the Jupyter notebooks in those repositories, compares them to the documentation in this repository, and folds the content that was only available in the workshops into the main documentation.
Repositories reviewed:
What was missing and is now added
The following topics were present in the workshops but absent from the documentation (verified by searching
docs/andnotebooks/):docs/coupling.md, new page): executorlib implements the standardconcurrent.futures.Executorinterface, so it can be handed to scientific packages that accept an executor or worker pool. New reference examples for emcee, pipefunc, omp4py and pylammpsmpi.README.md): an overview table of the fiveExecutorclasses (where each runs, scheduler command, when to use it) plus links to the new page.Futureobjects (1-single-node.ipynb): a gentle, executable introduction toresult()/done()/cancel()and the submit-then-collect pattern for users without a strong HPC/CS background.2-hpc-cluster.ipynb): how to submit functions, close the Python process, and reload the results later viashutdown(wait=..., cancel_futures=...), with a summary table of the behaviour.2-hpc-cluster.ipynb): retrieving the SLURMqueue_idviaget_cache_data()and inspecting it withsacct.3-hpc-job.ipynb): a submission template that boots a Flux instance persbatchjob for nested execution.Notes
SingleNodeExecutorand was verified to run.gpus_per_core,memory_max),split_future(future, n=...)andshutdown(wait, cancel_futures)follow the actual implementation.🤖 Generated with Claude Code
Summary by CodeRabbit