nbdev
é uma plataforma de desenvolvimento baseada em notebook. Basta escrever notebooks com marcação leve e obter documentação, testes, integração contínua e empacotamento de alta qualidade gratuitamente!
nbdev
torna a depuração e a refatoração do seu código muito mais fáceis do que em ambientes de programação tradicionais, pois você sempre tem objetos ativos ao seu alcance. nbdev
também promove as melhores práticas de engenharia de software porque os testes e a documentação são de primeira classe.
nbdev-index
)__all__
nbdev funciona em macOS, Linux e na maioria dos sistemas operacionais estilo Unix. Funciona no Windows em WSL, mas não em cmd ou Powershell.
Você pode instalar o nbdev com pip:
pip install nbdev
…ou com conda (ou mamba):
conda install -c fastai nbdev
Observe que nbdev
deve ser instalado no mesmo ambiente Python usado para o Jupyter e seu projeto.
A melhor maneira de aprender como usar o nbdev é concluir o passo a passo escrito ou o passo a passo em vídeo:
Alternativamente, há uma versão abreviada do vídeo passo a passo com seções de codificação aceleradas usando a biblioteca Python unsilence
– é 27 minutos mais rápida, mas um pouco mais difícil de seguir.
Você também pode executar nbdev_help
no terminal para ver a lista completa de comandos disponíveis:
!n bdev_help
nbdev_bump_version Increment version in settings.ini by one
nbdev_changelog Create a CHANGELOG.md file from closed and labeled GitHub issues
nbdev_clean Clean all notebooks in `fname` to avoid merge conflicts
nbdev_conda Create a `meta.yaml` file ready to be built into a package, and optionally build and upload it
nbdev_create_config Create a config file.
nbdev_docs Create Quarto docs and README.md
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_help Show help for all console scripts
nbdev_install Install Quarto and the current library
nbdev_install_hooks Install Jupyter and git hooks to automatically clean, trust, and fix merge conflicts in notebooks
nbdev_install_quarto Install latest Quarto on macOS or Linux, prints instructions for Windows
nbdev_merge Git merge driver for notebooks
nbdev_migrate Convert all markdown and notebook files in `path` from v1 to v2
nbdev_new Create an nbdev project.
nbdev_prepare Export, test, and clean notebooks, and render README if needed
nbdev_preview Preview docs locally
nbdev_proc_nbs Process notebooks in `path` for docs rendering
nbdev_pypi Create and upload Python package to PyPI
nbdev_readme Create README.md from readme_nb (index.ipynb by default)
nbdev_release_both Release both conda and PyPI packages
nbdev_release_gh Calls `nbdev_changelog`, lets you edit the result, then pushes to git and calls `nbdev_release_git`
nbdev_release_git Tag and create a release in GitHub for the current version
nbdev_requirements Writes a `requirements.txt` file to `directory` based on settings.ini.
nbdev_sidebar Create sidebar.yml
nbdev_test Test in parallel notebooks matching `path`, passing along `flags`
nbdev_trust Trust notebooks matching `fname`
nbdev_update Propagate change in modules matching `fname` to notebooks that created them
nbdev_update_license Allows you to update the license of your project.
R: Você não deve ter células que não sejam exportadas e que contenham uma combinação de instruções import
junto com outro código. Por exemplo, não faça isso em uma única célula:
import some_module
some_module . something ()
Em vez disso, divida isso em duas células, uma que import some_module
e a outra que importa some_module.something()
.
A razão para isso é que, quando criamos seu site de documentação, garantimos que todas as assinaturas das funções que você documenta estejam atualizadas, executando as importações, células exportadas e funções show_doc
em seus notebooks. Quando você mistura importações com outro código, esse outro código também será executado, o que pode causar erros (ou pelo menos lentidão) na criação do seu site.
R: Quando você configura seu primeiro projeto, o nbdev tentará baixar e instalar automaticamente o Quarto para você. Este é o programa que usamos para criar seu site de documentação.
O processo de instalação padrão do Quarto requer acesso root e, portanto, o nbdev solicitará sua senha root durante a instalação. Para a maioria das pessoas, isso funcionará bem e tudo será tratado automaticamente – nesse caso, você pode pular o restante desta seção, que fala sobre a instalação sem acesso root.
Se você precisar instalar o Quarto sem acesso root no Linux, primeiro cd
para onde deseja armazená-lo, depois baixe o Quarto e digite:
dpkg -x quarto * .deb .
mv opt/quarto ./
rmdir opt
mkdir -p ~ /.local/bin
ln -s " $( pwd ) " /quarto/bin/quarto ~ /.local/bin
Para usar esta versão não root do Quarto, você precisará ~/.local/bin
em sua variável de ambiente PATH
. (Como alternativa, altere a etapa ln -s
para colocar o link simbólico em outro lugar do seu caminho.)
R: Assista a este vídeo. Não se preocupe, ainda conseguimos isso, apesar de termos usado nbdev
para uma ampla gama de projetos de software “muito sérios” nos últimos três anos, incluindo bibliotecas de aprendizado profundo, clientes de API, extensões de linguagem Python, interfaces de usuário de terminal e muito mais !
Se você quiser contribuir com nbdev
, certifique-se de revisar as diretrizes de contribuições. Este projeto segue o código de conduta do fastai. Ao participar, espera-se que você cumpra este código. Em geral, nos esforçamos para seguir as melhores práticas geralmente aceitas no desenvolvimento de software de código aberto.
Certifique-se de ter os ganchos git do nbdev
instalados executando nbdev_install_hooks
no repositório clonado.
Copyright © 2019 em diante fast.ai, Inc. Licenciado sob a Licença Apache, Versão 2.0 (a “Licença”); você não pode usar os arquivos deste projeto, exceto em conformidade com a Licença. Uma cópia da licença é fornecida no arquivo LICENSE neste repositório.