Ferramenta de linha de comando que cria instaladores para pacotes conda, gerando instaladores shell, .pkg para macOS e .exe/.msi para Windows.
AnswerDotAI/nbdev
Uma plataforma de desenvolvimento orientado por notebooks que transforma Jupyter Notebooks em pacotes Python com documentação, testes, CI e releases no PyPI/conda.
- Estrelas
- 5,323
- Forks
- 514
- Issues abertas
- 187
- Último commit
- anteontem
O que é?
Com o nbdev, você escreve código Python, testes e documentação em Jupyter Notebooks usando marcação leve. A partir desses notebooks, ele exporta módulos Python, gera um site de documentação com Quarto e GitHub Pages, executa testes em paralelo e configura o GitHub Actions para integração contínua.
O projeto mantém notebooks e código-fonte em texto simples sincronizados nos dois sentidos, permitindo editar em uma IDE e enviar as alterações de volta às células de notebook de onde vieram. Os hooks do Git removem metadados desnecessários dos notebooks e apresentam conflitos de merge em um formato legível. As ferramentas de empacotamento gerenciam releases no PyPI e no conda.
O nbdev3 transferiu a configuração do projeto de settings.ini para pyproject.toml e inclui o comando nbdev-migrate-config para converter projetos nbdev2 existentes.
Recursos principais
- 01Exporta notebooks para módulos Python e mantém a sincronização bidirecional com o código-fonte
- 02Gera sites de documentação pesquisáveis com Quarto e GitHub Pages
- 03Executa testes baseados em notebooks em paralelo com um único comando
- 04Fornece workflows do GitHub Actions para CI e reconstrução da documentação
- 05Publica pacotes no PyPI e no conda
- 06Inclui hooks do Git que limpam notebooks e resolvem conflitos de merge
Casos de uso
- Criar uma biblioteca Python com código, testes e documentação reunidos em notebooks
- Publicar um pacote Python de código aberto no PyPI com releases automatizados
- Manter a documentação do projeto gerada e com links para o código-fonte
- Editar código baseado em notebooks em uma IDE mantendo os notebooks sincronizados
Início rápido
- 1
Instale o nbdev com pip
pip install nbdev - 2
Execute nbdev-help para ver os comandos disponíveis
nbdev-help
Antes de usar
- No Windows, requer WSL; não funciona no cmd nem no PowerShell.
- Precisa ser instalado no mesmo ambiente Python usado pelo Jupyter e pelo seu projeto.
- A versão nbdev3 de janeiro de 2026 transferiu a configuração para pyproject.toml, uma mudança incompatível com projetos nbdev2.
Em coleções
Tópicos
Perguntas frequentes
- O que é nbdev?
- Uma plataforma de desenvolvimento orientado por notebooks que transforma Jupyter Notebooks em pacotes Python com documentação, testes, CI e releases no PyPI/conda. Com o nbdev, você escreve código Python, testes e documentação em Jupyter Notebooks usando marcação leve. A partir desses notebooks, ele exporta módulos Python, gera um site de documentação com Quarto e GitHub Pages, executa testes em paralelo e configura o GitHub Actions para integração contínua.
- nbdev é gratuito? Qual é a licença?
- nbdev é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- nbdev ainda é mantido?
- Manutenção ativa. O último commit de nbdev foi em 5 de nov. de 2026.
- Para que posso usar nbdev?
- Criar uma biblioteca Python com código, testes e documentação reunidos em notebooks Publicar um pacote Python de código aberto no PyPI com releases automatizados Manter a documentação do projeto gerada e com links para o código-fonte Editar código baseado em notebooks em uma IDE mantendo os notebooks sincronizados
- Como instalar nbdev?
- Instale o nbdev com pip: pip install nbdev Execute nbdev-help para ver os comandos disponíveis: nbdev-help
- Onde consigo nbdev?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/AnswerDotAI/nbdev
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Ferramenta open source que gera um site responsivo de referência de API, com três painéis, a partir de definições OpenAPI, Swagger, AsyncAPI ou GraphQL.
Gerenciador moderno e extensível de projetos Python, que cuida de builds, ambientes, testes, linting, versões e publicação.
Ferramenta de automação de build para projetos Python, com tarefas baseadas em dependências e um sistema de plugins para definir ciclos de build.
Um navegador web de documentação de APIs que reúne referências para desenvolvedores em uma interface pesquisável e disponível offline.
Ferramenta de automação de releases para projetos Go que compila, empacota e publica binários no GitHub, em gerenciadores de pacotes e em registros de contêineres.