flake8
checking for jupyter notebooks.
Basically this is a hack on the flake8
's Application
class,
which adds parsing and a cell based formatter for *.ipynb
files.
This is NOT A PLUGIN but a stand alone CLI tool/pre-commit hook to be used instead of the flake8
command/hook.
- flake8 CLI tests for jupyter notebooks
- Full base functionality of
flake8
and its plugins - Input cell based error formatting (Execution count/code cell count/total cellcount)
- Report fine tuning with cell-tags (
flake8-noqa-tags
see usage) - pre-commit hook
If you had a notebook with name example_notebook.ipynb
, where the code cell
which was executed as 34th cell (In[34]
) had the following code:
bad_formatted_dict = {"missing":"space"}
running flake8_nb
would result in the following output.
$ flake8_nb example_notebook.ipynb
example_notebook.ipynb#In[34]:1:31: E231 missing whitespace after ':'
If you prefer the reports to show the cell number rather then the execution count you
can use the --notebook-cell-format
option, given that the cell is the 5th code
cell
and 10th total cell (taking raw
and markdown
cells into account),
you will get the following output.
$ flake8_nb --notebook-cell-format '{nb_path}:code_cell#{code_cell_count}' example_notebook.ipynb
example_notebook.ipynb:code_cell#5:1:31: E231 missing whitespace after ':'
$ flake8_nb --notebook-cell-format '{nb_path}:cell#{total_cell_count}' example_notebook.ipynb
example_notebook.ipynb:cell#10:1:31: E231 missing whitespace after ':'
Thanks goes to these wonderful people (emoji key):
Sebastian Weigand 💻 🤔 🚧 📆 🚇 |
Jt Miclat 🐛 |
Philipp Eisenhauer 🐛 |
Shoma Okamoto |
Marco Gorelli 🔧 📖 |
Tony Hirst 🤔 |
Dobatymo 🐛 |
Alp Arıbal 🐛 |
1kastner 🐛 |
This project follows the all-contributors specification. Contributions of any kind welcome!