My current hook looks like this:
- repo: local
hooks:
- id: jupytext
name: jupytext
entry: jupytext
language: conda
files: '^notebooks/(.*\.py|.*\.ipynb)$'
args: [--sync, --pipe, black]
The directory structure is like this:
.
├── notebooks
│ └── dataset-exploration
│ └── 01-amplitude-exploration
│ └── amplitude_exploration.ipynb
├── [other folders]*
I have *.ipynb in my .gitignore file, which means that notebooks are ignored (because of git size issues), but I want pre-commit to automatically create/sync python scripts and their paired notebooks in each commit. But apparently because my hook is not working as intended, and no *.py file is being generated (or synced) from my *.ipynb files.
CodePudding user response:
pre-commit only operates on checked in files -- since yours are gitignored you'll need to find some other way to synchronize them
one idea is to always_run: true and pass_filenames: false and list the notebooks to sync explicitly:
- repo: local
hooks:
- id: jupytext
name: jupytext
entry: jupytext --sync --pipe black notebooks/foo.ipynb notebooks/bar.ipynb
language: conda
always_run: true
pass_filenames: false
though this kind of defeats the purpose of the framework (you'd always run the slow operation all the time)
disclaimer: I created pre-commit
