Skip to content

Project for scaffolding a python package or project structure

License

Notifications You must be signed in to change notification settings

yakimka/cookiecutter-pyproject

Repository files navigation

yakimka/cookiecutter-pyproject

Build status Dependencies Status

Cookiecutter template to create new python packages.


Purpose

This project is used to scaffold a python package or project structure.

Features

  • Always up-to-date dependencies with the help of @dependabot
  • Supports latest python3.10+
  • poetry for managing dependencies
  • mypy for optional static typing
  • pytest for testing
  • flake8 for linting
  • Github Actions as the default CI
  • sphinx and readthedocs.org for documentation
  • pre-commit for running checks before committing (run pre-commit install to install git hook)

Installation

Firstly, you will need to install dependencies:

pip install cookiecutter

Then, create a project itself:

cookiecutter gh:yakimka/cookiecutter-pyproject

In order for the github actions to work smoothly (ie badge), you must, during the setup, use your github username in the organization field.

project_name [my-awesome-project]: foo-project
organization [yakimka]: <github_username>

CI/CD

For properly running CI/CD, you must set the following environment secrets in repo settings:

  • DOCKERHUB_TOKEN
  • PYPI_TOKEN
  • CODECOV_TOKEN

Also you need to duplicate these secrets to Dependabot settings if you want to run pipelines on Dependabot PRs.

License

MIT. See LICENSE for more details.

Credits

Project inspired by:

About

Project for scaffolding a python package or project structure

Topics

Resources

License

Stars

Watchers

Forks