-
Notifications
You must be signed in to change notification settings - Fork 119
Open
Labels
cleanupCode cleanups and improvementsCode cleanups and improvementsenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
Notebook diffs in pymdp often include noisy diffs from Jupyter metadata (e.g., metadata.kernelspec, metadata.language_info) and execution-count churn. Let’s add a pre-commit hook that automatically sanitizes notebooks before commit while still keeping cell source/markdown (and outputs) intact.
Proposed changes
-
Add
.pre-commit-config.yamlwithnbstripout:repos: - repo: https://github.com/kynan/nbstripout rev: 0.8.2 hooks: - id: nbstripout files: \.ipynb$ args: - --keep-output - "--extra-keys=metadata.kernelspec metadata.language_info"
-
Add
pre-committo a dev dependency group (e.g.[dependency-groups].testor a new[dependency-groups].dev) since we already shipnbstripoutinpyproject.toml. -
Add a short note to
CONTRIBUTING.md/ README:uv sync --group test(or--group dev)uv run pre-commit install- (optional)
uv run pre-commit run --all-files
Why this approach
- Hook runs locally and reduces notebook diff noise without changing our CI workflows.
nbstripoutsupports running as apre-commithook andpre-commituses.pre-commit-config.yamlat repo root. (link to nbstripout)
Arun-Niranjan
Metadata
Metadata
Assignees
Labels
cleanupCode cleanups and improvementsCode cleanups and improvementsenhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed