/python-boilerplate

Boilerplate(cookiecutter) files for your new (or existing!) python project

Primary LanguagePython

Python Boilerplate Cookiecutter

Como usar?

Primeiramente garanta que você tem o cookiecutter instalado no seu PATH.

sudo pip install cookiecutter

e então crie o seu projeto.

cookiecutter https://github.com/sixcodes/python-boilerplate.git

Após executar o comando acima, você receberá um questionario para responder de acordo com os dados do seu projeto.

As opções estão descritas no arquivo cookiecutter.json.

Ao executar essas serão os inputs necessários ou apenas enter para aceitar o valor default.

> cookiecutter https://github.com/sixcodes/python-boilerplate.git
project_name [e.g. 'six-toolbox']: sixcodes
package_name [sixcodes]:
package_version [0.0.1]:
short_description [Great python package]:
author [Jesue Junior]: Test boilerplate
author_email [opensource@sixcodes.com]:
author_username [sixcodes]:
url [https://github.com/sixcodes/sixcodes]:

A estrutura do seu projetode pastas e arquivos com esse template será:

sixcodes
|-- CODE_OF_CONDUCT.md
|-- LICENSE
|-- Pipfile
|-- Pipfile.lock
|-- README.md
|-- docs-src
|   |-- Makefile
|   |-- _static
|   |-- conf.py
|   `-- index.rst
|-- mypy.ini
|-- pyproject.toml
|-- setup.py
|-- sixcodes
|   |-- __init__.py
|   `-- config.py
`-- tests
    |-- test_config.py
    `-- test_true.py

7 directories, 38 files

O que esse boilerplate entrega

Github Actions Workflows

O projeto criado já tras alguns workflows do Github Actions:

  • pull-request: Workflow que roda a cada pull-request aberto. Roda os testes a checagens de lint, format, etc.

  • release: A cada tag criada com o padrão X.Y.Z gera uma publicação no Pypi.

    Para essa publicação você precisa adicionar um secret ao projeto com nome PYPI_TOKEN. Mais detalhes na documentação do Pypi:

Pré-configuração para documentação com Sphinx

A configuração do Sphinx já está pronta. O código-fonte da documentação fica em docs-src/ e a documentação gerada fica em docs/, já pronta para ser servida pelo Github Pages.

Para gerar sua documentação rode: pipenv run make-docs

Como ajudar?

TODO