CLI util to deal with Jupyter Notebooks
Project description
Asekuro
A commandline util for jupyter notebooks, possibly to be used in trainings and/or githooks.
Asekuro means insurance in esperanto.
The main goal is to have a commandline app that can be used in githooks. The main features we wanted in this app is that we had a nice way to:
- Clear notebook cells
- Be able to confirm that the notebook can run without errors.
- Be able to deal with solutions via
%load
magic.
Quick-Start
Installation can be done via pip.
> pip install asekuro
Note that we only support python>=3.6.
Usage
Once installed, the commandline app can be used.
> asekuro
Usage: asekuro [OPTIONS] COMMAND [ARGS]...
Asekuro - it means insurance in esperanto.
This command line app allows you to check for errors in jupyter notebooks
and it also allows you to supply a python file with assert statements.
Options:
--help Show this message and exit.
Commands:
check Check (notebook) files in sequention for errors.
clean Clean notebook files.
test Check notebook files independantly.
version Echo the version of asekuro.
Testing a Notebook
We merely test if the notebook can be run from top to bottom without any errors. This may be dependant on the virtualenv that you're currently running.
> asekuro test tests/testnb.ipynb
2018-07-30 15:40:04,060 [commandline.py:test_notebook:113] DEBUG - about to test tests/testnb.ipynb
...
2018-07-30 15:40:04,074 [commandline.py:clean_notebook:82] DEBUG - /tmp/testnb-test.ipynb is now stripped
============== test session starts =======================================================================
platform darwin -- Python 3.6.5, pytest-3.6.4, py-1.5.4, pluggy-0.7.1 --
/Users/coder/path/asekuro/venv/bin/python
cachedir: ../../../../../tmp/.pytest_cache
rootdir: /tmp, inifile:
plugins: nbval-0.9.1
collected 6 items
tmp/testnb-test::ipynb::Cell 0 PASSED [ 16%]
tmp/testnb-test::ipynb::Cell 1 PASSED [ 33%]
tmp/testnb-test::ipynb::Cell 2 PASSED [ 50%]
tmp/testnb-test::ipynb::Cell 3 PASSED [ 66%]
tmp/testnb-test::ipynb::Cell 4 PASSED [ 83%]
tmp/testnb-test::ipynb::Cell 5 PASSED [100%]
============== 6 passed in 1.11 seconds ==================================================================
2018-07-30 15:40:05,983 [commandline.py:test_notebook:118] DEBUG - removing temporary testing notebook /tmp/testnb-test.ipynb
2018-07-30 15:40:05,984 [commandline.py:test_notebook:120] DEBUG - testing done for tests/testnb.ipynb
Clean Notebook
Sometimes you may want to remove the output of the cells. This can be done automatically now too.
> asekuro clean tests/testnb.ipynb
2018-07-30 15:44:23,508 [commandline.py:clean_notebook:76] DEBUG - about to strip tests/testnb.ipynb of output
2018-07-30 15:44:23,516 [commandline.py:clean_notebook:82] DEBUG - tests/testnb.ipynb is now stripped
Testing
You can run some unit tests via pytest
. Note that we test using local notebooks
as well as a docker container. We want the container that is there to break the build.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file asekuro-0.1.2.tar.gz
.
File metadata
- Download URL: asekuro-0.1.2.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66f4cfdaa5004886679c8c4cffc45eefb5be8d255ece5c975386c3ea814271c4 |
|
MD5 | 36b8e864f4f80ff512804b32cd3e1e1e |
|
BLAKE2b-256 | c3ecf38ee0077bd4cc0a2c0bacfea423ca0072d6d3ec341e2d1add9df12c28e4 |
File details
Details for the file asekuro-0.1.2-py2.py3-none-any.whl
.
File metadata
- Download URL: asekuro-0.1.2-py2.py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 664b86646bca429cff47e02f7d2f069bb41c7beabd3b0d37cd1873c1d8238e21 |
|
MD5 | 9749e28d15b5dd24302bca2340a2970d |
|
BLAKE2b-256 | bbed8dfc3d2fb11f83b289cf08df817dbfd6dd1deeb8bb34e4b8311908a8cbfa |