Skip to main content

A python cookiecutter application to create a new python project that uses poetry to manage its dependencies.

Project description

Release Build status Supported Python versions Docs Commit activity License Code style with black Imports with isort

This is a cookiecutter repository to generate the file structure for a Python project that uses Poetry for its dependency management.

Documentation

https://fpgmaas.github.io/cookiecutter-poetry/

Example Repository

https://github.com/fpgmaas/cookiecutter-poetry-example/

Pypi

https://pypi.org/project/cookiecutter-poetry/

Features

Feature

Description

Poetry

Generates a poetry environment file, ready to be installed with a single command.

Makefile

A makefile with pre-configured commands, type make help to list the options.

Pytest

Adds a pytest template.

Formatting

Adds code formatting with isort and black.

CI/CD with Github actions

Adds Github actions that run the formatting checks and unittests for pull requests and when merged to main.

Release to Pypi

Release to Pypi by creating a new release on Github.

Release to Artifactory

Release to Artifactory by creating a new release on Github.

Documentation with Sphinx

Automatically add documentation to your project and its code with Sphinx.

Tox testing

Setup and CI/CD integration to easily test for different Python versions with Tox.

Example CI/CD Pipeline

Example pipeline

Quickstart

On your local machine, navigate to the directory in which you want to create a project directory, and run the following two commands:

pip install cookiecutter-poetry
ccp

Alternatively, install cookiecutter and directly pass the URL to this Github repository to the cookiecutter command:

pip install cookiecutter
cookiecutter https://github.com/fpgmaas/cookiecutter-poetry.git

Then run the following commands, replacing <project-name>, with the name that you also gave the Github repository and <github_author_handle> with your Github username.

cd <project_name>
git init -b main
git add .
git commit -m "Init commit"
git remote add origin git@github.com:<github_author_handle>/<project_name>.git
git push -u origin main

Finally, install the environment with make install.

If you want to deploy to Pypi or Artifactory automatically on each release, you need to set some secrets in your repository on Github. For more information, see the documentation.

Acknowledgements

This project is partially based on Audrey Feldroy’s’s great cookiecutter-pypackage repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cookiecutter-poetry-0.0.11.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cookiecutter_poetry-0.0.11-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file cookiecutter-poetry-0.0.11.tar.gz.

File metadata

  • Download URL: cookiecutter-poetry-0.0.11.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.7 Linux/5.13.0-1021-azure

File hashes

Hashes for cookiecutter-poetry-0.0.11.tar.gz
Algorithm Hash digest
SHA256 86dba781d63132716ba19c8e1f4d274ad0b97f28164152da11a60e962cf3efea
MD5 6e52e6c46e74a0a353133067668f671f
BLAKE2b-256 29614d614569637646224020803b5ecc318081e73d8cc71aba534a34753314ff

See more details on using hashes here.

File details

Details for the file cookiecutter_poetry-0.0.11-py3-none-any.whl.

File metadata

  • Download URL: cookiecutter_poetry-0.0.11-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.13 CPython/3.9.7 Linux/5.13.0-1021-azure

File hashes

Hashes for cookiecutter_poetry-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 3c1746bb9e01214300d85fad132d3786c6f49ed8682b6e671510c9404214f944
MD5 2dcd2ee24ad859b3672152e87c863133
BLAKE2b-256 cda8a03a47b4803670861b83a74cecb81257fbabf9aa4b054c7be591ed201c1c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page