This platform provides a coding environment that integrates writing, testing, documentation, and distribution of software packages. It streamlines the development workflow by incorporating exploration and promoting software engineering best practices in a single location.
Funding
$102M raised to dateRaised to date based on public sources. This may differ from the amount the company actually raised and is based only on what is publicly available on the internet.
SFounders
Product
Problem
Traditional coding environments often separate exploration, testing, documentation, and distribution, leading to fragmented workflows and hindering software engineering best practices. Valuable insights gained during interactive programming in REPLs or notebooks are often discarded, making it difficult to maintain up-to-date documentation and ensure code reliability.
Solution
nbdev is a notebook-driven development platform that integrates writing, testing, documenting, and distributing software packages and technical articles directly within Jupyter Notebooks. It streamlines the development workflow by making exploration an integral part of the process, promoting software engineering best practices, and ensuring that documentation and tests are first-class citizens. The platform automatically generates documentation using Quarto, supports continuous integration with GitHub Actions, and simplifies publishing packages to PyPI and conda. nbdev also offers two-way synchronization between notebooks and plaintext source code, enabling developers to use their preferred IDEs for code navigation and editing.
Target Audience
nbdev is designed for software developers, data scientists, and technical writers who want to streamline their development workflow, improve code quality, and create high-quality documentation.
Features
- Automatic documentation generation with Quarto, including LaTeX support, search functionality, and auto-linking
- Simplified package publishing to PyPI and conda, adhering to Python best practices
- Two-way synchronization between notebooks and plaintext source code for IDE integration
- Integrated testing within notebooks, with parallel test execution
- Out-of-the-box continuous integration with GitHub Actions for automated testing and documentation building
- Git-friendly notebooks with Jupyter/Git hooks for cleaning metadata and resolving merge conflicts
- Support for console scripts using setuptools
- Tools for creating changelogs and managing releases