Metadata-Version: 2.1
Name: nbdev
Version: 2.0.0.dev4
Summary: Process and export Jupyter Notebooks fast (Jupyter not required)
Home-page: https://github.com/fastai/nbdev
Author: Jeremy Howard and Hamel Husain
Author-email: j@fast.ai
License: Apache Software License 2.0
Project-URL: Documentation, https://nbdev.fast.ai/
Keywords: nbdev fastai jupyter notebook export
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: Apache Software License
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: fastcore (>=1.5.5)
Requires-Dist: execnb
Requires-Dist: astunparse
Requires-Dist: asttokens ; python_version=="3.7"
Provides-Extra: dev
Requires-Dist: nbdev-numpy ; extra == 'dev'
Requires-Dist: nbdev-stdlib ; extra == 'dev'
Requires-Dist: pandas ; extra == 'dev'
Requires-Dist: matplotlib ; extra == 'dev'
Requires-Dist: ipython ; extra == 'dev'
Requires-Dist: black ; extra == 'dev'
Requires-Dist: ghapi ; extra == 'dev'

nbdev
================

<!-- WARNING: THIS FILE WAS AUTOGENERATED! DO NOT EDIT! -->

[![CI](https://github.com/fastai/nbdev/actions/workflows/test.yaml/badge.svg)](https://github.com/fastai/nbdev/actions/workflows/test.yaml)
[![Deploy to GitHub
Pages](https://github.com/fastai/nbdev/actions/workflows/deploy.yaml/badge.svg)](https://github.com/fastai/nbdev/actions/workflows/deploy.yaml)

`nbdev` is a system for *exploratory programming*. Simply write
notebooks with lightweight markup and get high-quality documentation,
tests, continuous integration, and packaging for free!

`nbdev` makes debugging and refactoring your code much easier than in
traditional programming environments since you always have live objects
at your fingertips. `nbdev` also promotes software engineering best
practices because tests and documentation are first class.

-   **Documentation** is automatically generated using
    [Quarto](https://quarto.org/) and hosted on [GitHub
    Pages](https://pages.github.com/). Docs support LaTeX, are
    searchable, and are automatically hyperlinked (including
    out-of-the-box support for many packages via
    [`nbdev-index`](https://github.com/fastai/nbdev-index)). You also
    have fine-grained control over how cells are displayed.
-   **Publish packages to PyPI and conda** as well as tools to simplify
    package releases. Python best practices are automatically followed,
    for example, only exported objects are included in `__all__`
-   **Two-way sync between notebooks and plaintext** source code
    allowing you to use your IDE for code navigation or quick edits.
-   **Tests** written as ordinary notebook cells are run in parallel
    with a single command. You have fine-grained control over which
    tests are run.
-   **Continuous integration** out-of-the-box with [GitHub
    Actions](https://github.com/features/actions) that run your tests on
    each push and rebuild docs on each merge.
-   **Git-friendly notebooks** with tools that clean unwanted metadata
    and render merge conflicts in a human-readable format.
-   … and much more! See the [Getting Started](#Getting-Started) section
    below for more.

## Install

With pip:

    pip install nbdev

With conda:

    conda install -c fastai nbdev

Note that `nbdev` must be installed into the same Python environment
that you use for both Jupyter and your project.

## Getting started

We suggest these helpful resources to get started with `nbdev`:

-   [Official tutorial](https://nbdev.fast.ai/tutorial.html). We suggest
    replicating each step to solidify your understanding.
-   [Official documentation](https://nbdev.fast.ai/).
-   [Release notes](https://github.com/fastai/nbdev/releases).

You can run `nbdev_help` from the terminal to see the full list of
available commands:

``` python
!nbdev_help
```

    nbdev_bump_version              Increment version in settings.ini by one
    nbdev_clean                     Clean all notebooks in `fname` to avoid merge conflicts
    nbdev_conda                     Create and upload a conda package
    nbdev_create_config             Create a config file
    nbdev_deploy                    Deploy docs to GitHub Pages
    nbdev_docs                      Generate docs
    nbdev_export                    Export notebooks in `path` to Python modules
    nbdev_filter                    A notebook filter for Quarto
    nbdev_fix                       Create working notebook from conflicted notebook `nbname`
    nbdev_ghp_deploy                Deploy docs in `doc_path` from settings.ini to GitHub Pages
    nbdev_help                      Show help for all console scripts
    nbdev_install                   Install Quarto and the current library
    nbdev_install_hooks             Install git hooks to clean and trust notebooks automatically
    nbdev_install_quarto            Install latest Quarto on macOS or Linux, prints instructions for Windows
    nbdev_migrate_directives        Convert all directives in `fname` from v1 to v2
    nbdev_new                       Create a new project from the current git repo
    nbdev_prepare                   Export, test, and clean notebooks
    nbdev_preview                   Start a local docs webserver
    nbdev_pypi                      Create and upload Python package to PyPI
    nbdev_quarto                    Create Quarto docs and README.md
    nbdev_release                   Release both conda and PyPI packages
    nbdev_sidebar                   Create sidebar.yml
    nbdev_test                      Test in parallel notebooks matching `fname`, passing along `flags`
    nbdev_trust                     Trust notebooks matching `fname`
    nbdev_update                    Propagate change in modules matching `fname` to notebooks that created them

## FAQ

### Q: Someone told me not to use notebooks for “serious” software development!

[Watch this video](https://youtu.be/9Q6sLbz37gk). Don’t worry, we still
get this too, despite having used `nbdev` for a wide range of “very
serious” software projects over the last three years, including [deep
learning libraries](https://github.com/fastai/fastai), [API
clients](https://github.com/fastai/ghapi), [Python language
extensions](https://github.com/fastai/fastcore), [terminal user
interfaces](https://github.com/nat/ghtop), and more!

## nbdev in the wild

### fastai ecosystem

`nbdev` has been used to build innovative software in the fastai
ecosystem, including the [`fastai`](https://docs.fast.ai/) deep learning
library which implements a [unique layered API and callback
system](https://arxiv.org/abs/2002.04688), and
[`fastcore`](https://fastcore.fast.ai/), which supercharges Python
leveraging its dynamic nature. Furthermore, `nbdev` allows a very small
number of developers to maintain and grow a [large
ecosystem](https://github.com/fastai) of software engineering, data
science, machine learning, and devops tools.

## Contributing

If you want to contribute to `nbdev`, be sure to review the
[contributions
guidelines](https://github.com/fastai/nbdev/blob/master/CONTRIBUTING.md).
This project adheres to fastai’s [code of
conduct](https://github.com/fastai/nbdev/blob/master/CODE-OF-CONDUCT.md).
By participating, you are expected to uphold this code. In general, we
strive to abide by generally accepted best practices in open-source
software development.

Make sure you have `nbdev`’s git hooks installed by running
`nbdev_install_git_hooks` in the cloned repository.

## Copyright

Copyright 2019 onwards, fast.ai, Inc. Licensed under the Apache License,
Version 2.0 (the “License”); you may not use this project’s files except
in compliance with the License. A copy of the License is provided in the
LICENSE file in this repository.
