A library that allows you to develop a python library in Jupyter Notebooks, putting all your code, tests and documentation in one place. It makes debugging and refactoring your code much easier relative to traditional programming environments. Furthermore, using nbdev promotes software engineering best practices because tests and documentation are first class citizens.
nbdev
provides the following tools for developers:
- Automatically generate docs from Jupyter notebooks. These docs are searchable and automatically hyperlinked to appropriate documentation pages by introspecting keywords you surround in backticks.
- Utilities to automate the publishing of pypi and conda packages including version number management.
- A robust, two-way sync between notebooks and source code, which allow you to use your IDE for code navigation or quick edits if desired.
- Fine-grained control on hiding/showing cells: you can choose to hide entire cells, just the output, or just the input. Furthermore, you can embed cells in collapsible elements that are open or closed by default.
- Ability to write tests directly in notebooks without having to learn special APIs. These tests get executed in parallel with a single CLI command. You can even define certain groups of tests such that you don't have to always run long-running tests.
- Tools for merge/conflict resolution with notebooks in a human readable format.
- Continuous integration (CI) comes setup for you with GitHub Actions out of the box, that will run tests automatically for you. Even if you are not familiar with CI or GitHub Actions, this starts working right away for you without any manual intervention.
- Integration With GitHub Pages for docs hosting: nbdev allows you to easily host your documentation for free, using GitHub pages.
- Create Python modules, following best practices such as automatically defining
__all__
(more details) with your exported functions, classes, and variables. - Math equation support with LaTeX.
- ... and much more! See the Getting Started section below for more information.
https://github.com/fastai/nbdev
No comments:
Post a Comment