Check out the video demo!
nbdev (pronounced ‘en-bee-zed’) is an incredible software development environment. You write code in notebooks and it exports the result to Python flatfiles. It also handles documentation, version releases, and so much more.
The goal of this project is to do the following, with items 2 and 3 being potential targets for upstream changes to nbdev:
- Wrap the nbdev command-line interface with typer to take advantage of some of the features of that framework (formatting, auto-completion, etc)
- Enhance the existing CLI documentation
- Add new features that may or may not fit in nbdev
- Provide an interface for other systems
If you are new to using nbdev
here are some useful pointers to get you
started.
# make sure nbz package is installed in development mode
$ pip install -e .
# make changes to nbs/core.ipynb
# ...
# compile to have changes apply to nbz
$ nbz export
$ nbz clean
$ nbz trust
Install latest from the GitHub repository:
$ pip install git+https://github.com/pydanny/nbz.git
COMING SOON: or from conda
$ conda install -c pydanny nbz
COMING SOON: or from pypi
$ pip install nbz
Documentation can be found hosted on this GitHub repository’s pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
Once you’ve installed nbz
, check that all dependencies have been
installed and secrets have been configured with the
check
command:
nbz check
Now let’s create a new project, which we’ll call silo. From the directory where you create your projects, run the following command:
nbz new silo
This will attempt to infer your prefences from git, but for things it can’t figure out, it will prompt you for answers:
Creating and changing to silo directory
repo = nbz # Automatically inferred from git
branch = main # Automatically inferred from git
user = pydanny # Automatically inferred from git
author = Daniel Roy Greenfeld # Automatically inferred from git
author_email = [email protected] # Automatically inferred from git
description = nbz is a typer-based wrapper around the incredible nbdev project. # Automatically inferred from git
settings.ini created.
pandoc -o README.md
to: >-
commonmark+autolink_bare_uris+emoji+footnotes+gfm_auto_identifiers+pipe_tables+strikeout+task_lists+tex_math_dollars
output-file: index.html
standalone: true
default-image-extension: png
metadata
description: nbz is a typer-based wrapper around the incredible nbdev project.
title: nbz
Output created: _docs/README.md