Skip to content

mateuspontesm/cookiecutter-poetry

 
 

Repository files navigation

Cookiecutter Poetry

Cookiecutter template for a Python package.

Linux build status on Github Actions

A fork from https://github.com/johanvergeer/cookiecutter-poetry/

Information on the original:

Main additions

  • Added version attribute to init.py
  • Added update to version attribute on bumpversion
  • Some changes to better combine poetry, travis and tox
  • Added pre-commit and yapf
  • Added codecov and coveralls support on travis
  • Updated sphinx support with sphinx_rtd_theme and some changes on the original conf.py
  • Added support for readthedocs
  • More test envs: doc tests and some checks (flake8, manifest-check, isort and poetry check)

TODO

[ ] Add appveyor

[ ] Add codacy

Original Features

  • Testing setup with pytest and tox
  • poetry for managing dependencies
  • flake8 for linting
  • Github Actions: Ready for GitHub actions
  • Sphinx docs: Documentation ready for generation with, for example, ReadTheDocs
  • Auto-release to PyPI when you push a new tag to master (optional)
  • Travis support
  • Command line interface using Click (optional)
  • GitHub Issue templates for bug reports and feature requests

Quickstart

Install the latest Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.4.0 or higher):

pip install -U cookiecutter

Generate a Python package project:

cookiecutter https://github.com/mateuspontesm/cookiecutter-poetry.git

Then:

  • Create a repo and put it there.
  • Create virtual environment and install project dependencies. (poetry install)
  • Run the Travis CLI command travis encrypt --add deploy.password to encrypt your PyPI password in Travis config and activate automated deployment on PyPI when you push a new tag to master branch.
  • Add the repo to your ReadTheDocs account + turn on the ReadTheDocs service hook.
  • Release your package by pushing a new tag to master.

For more details, see the cookiecutter-poetry tutorial.

Fork This / Create Your Own

If you have differences in your preferred setup, I encourage you to fork this to create your own version. Or create your own; it doesn't strictly have to be a fork.

  • Once you have your own version working, add it to the Similar Cookiecutter Templates list above with a brief description.
  • It's up to you whether or not to rename your fork/own version. Do whatever you think sounds good.

Or Submit a Pull Request

I also accept pull requests on this, if they're small, atomic, and if they make my own packaging experience better.

About

Cookiecutter template for a Python package.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 84.0%
  • HTML 9.0%
  • Makefile 4.0%
  • Batchfile 3.0%