nbagile
Making
nbdevmore Agile-Friendly
Install
pip install nbagile
Goals:
- When exporting source code using
docments, attach and format the docstring to Numpy format - Export tests and throw them into a pytest-compatible file format
- Make documentation run on Sphynx
- Tests are exported to a
testsfolder, source code to a source code folder, and Markdown/Sphynx documentation to adocsfolder - Individual notebooks can then be recreated from these three items
Current Capabilities
Using the CLI
Replace nbdev_ commands with nbagile_ to use it's capabilities.
Currently Supported:
nbagile_build_lib: Exports code and converts it to black-style + NumPy docstringsnbagile_diff_nbs: A special version ofnbdev_diff_nbsto support how nbagile worksnbagile_build_docs: Builds the docs using nbverbose
Exporting code from docments to NumPy
docments is a very efficient way of documenting the parameters for your code, and is akin to how javascript is documented. We utilize comment-blocks and typing to describe how parameters are utilized. For example, we have the following:
def addition(
a:int, # The first number to add
b:(int,float), # The second number to add
) -> int: # The sum of a and b
"Adds a and b"
return a+b
But this is not the commonly accepted way of documenting our code, and as a whole looks quite ugly.
nbagile supports building your nbdev built libraries to instead automatically convert this code into a more NumPy-styled documentation string and definition, with the added bonus of it mimicing the Black format:
def addition(a,b):
"""Adds a and b
Parameters
----------
a : int
The first number to add
b : (int,float)
The second number to add
Returns
----------
int
The sum of a and b
"""
return a+b
This works for functions, classes, as well as functions wrapped around decorators.
Optional __all__ for nbdev
If you are not a fan of nbdev's __all__ format in each file, there is an additional setting you can add to your settings.ini: use_all.
If set to False, you won't get the __all__ being generated in each python file
Metadata
Release files for nbagile 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| nbagile-0.0.2.tar.gz | 12.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| nbagile-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 24.3 kB
Release files / nbagile-0.0.2.tar.gz
| Download URL | nbagile-0.0.2.tar.gz |
|---|---|
| Size | 12.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
43f9f519fde5a10f62ec527074d3471319abc30e12588d1eac8e4c714370f61f
|
|
BLAKE2b-256 checksum How to use checksums |
bec593afcfb260fb4ea71f977873b79e55baf84fd25dde0f4b20dab170bb1b1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.11
|
Release files / nbagile-0.0.2-py3-none-any.whl
| Download URL | nbagile-0.0.2-py3-none-any.whl |
|---|---|
| Size | 11.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9ceccba86d6f815f2c15195fb9493980f196540338cbb53cf8c79c311374e310
|
|
BLAKE2b-256 checksum How to use checksums |
030a48fd7b7d9fe9296326eb81b02b232599adc519d8b8cfd9cfbba6433709dd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.6.0 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.7.11
|