Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/fpgmaas/cookiecutter-poetry
A modern cookiecutter template for Python projects that use Poetry for dependency management
https://github.com/fpgmaas/cookiecutter-poetry
boilerplate cookiecutter cookiecutter-python poetry python template
Last synced: 5 days ago
JSON representation
A modern cookiecutter template for Python projects that use Poetry for dependency management
- Host: GitHub
- URL: https://github.com/fpgmaas/cookiecutter-poetry
- Owner: fpgmaas
- License: mit
- Created: 2022-04-08T07:27:49.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-10-02T05:28:00.000Z (4 months ago)
- Last Synced: 2025-01-17T16:07:55.354Z (12 days ago)
- Topics: boilerplate, cookiecutter, cookiecutter-python, poetry, python, template
- Language: Python
- Homepage: https://fpgmaas.github.io/cookiecutter-poetry/
- Size: 616 KB
- Stars: 388
- Watchers: 2
- Forks: 63
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-pyproject - cookiecutter-poetry - A modern cookiecutter template for Python projects that use Poetry for their dependency management. (Project Templates)
- jimsghstars - fpgmaas/cookiecutter-poetry - A modern cookiecutter template for Python projects that use Poetry for dependency management (Python)
README
---
[![Release](https://img.shields.io/github/v/release/fpgmaas/cookiecutter-poetry)](https://pypi.org/project/cookiecutter-poetry/)
[![Build status](https://img.shields.io/github/actions/workflow/status/fpgmaas/cookiecutter-poetry/main.yml?branch=main)](https://github.com/fpgmaas/cookiecutter-poetry/actions/workflows/main.yml?query=branch%3Amain)
[![Supported Python versions](https://img.shields.io/pypi/pyversions/cookiecutter-poetry)](https://pypi.org/project/cookiecutter-poetry/)
[![Docs](https://img.shields.io/badge/docs-gh--pages-blue)](https://fpgmaas.github.io/cookiecutter-poetry/)
[![License](https://img.shields.io/github/license/fpgmaas/cookiecutter-poetry)](https://img.shields.io/github/license/fpgmaas/cookiecutter-poetry)This is a modern Cookiecutter template that can be used to initiate a Python project with all the necessary tools for development, testing, and deployment. It supports the following features:
- [Poetry](https://python-poetry.org/) for dependency management
- CI/CD with [GitHub Actions](https://github.com/features/actions)
- Pre-commit hooks with [pre-commit](https://pre-commit.com/)
- Code quality with [ruff](https://github.com/charliermarsh/ruff), [mypy](https://mypy.readthedocs.io/en/stable/) or [pyright](https://github.com/microsoft/pyright), [deptry](https://github.com/fpgmaas/deptry/) and [prettier](https://prettier.io/)
- Publishing to [PyPI](https://pypi.org) or [Artifactory](https://jfrog.com/artifactory) by creating a new release on GitHub
- Testing and coverage with [pytest](https://docs.pytest.org/en/7.1.x/) and [codecov](https://about.codecov.io/)
- Documentation with [MkDocs](https://www.mkdocs.org/)
- Compatibility testing for multiple versions of Python with [Tox](https://tox.wiki/en/latest/)
- Containerization with [Docker](https://www.docker.com/)
- Development environment with [VSCode devcontainers](https://code.visualstudio.com/docs/devcontainers/containers)---
Documentation - Example -
PyPI---
## Quickstart
On your local machine, navigate to the directory in which you want to
create a project directory, and run the following two commands:```bash
pip install cookiecutter-poetry
ccp
```Alternatively, install `cookiecutter` and directly pass the URL to this
Github repository to the `cookiecutter` command:```bash
pip install cookiecutter
cookiecutter https://github.com/fpgmaas/cookiecutter-poetry.git
```Create a repository on GitHub, and then run the following commands, replacing ``, with the name that you gave the Github repository and
`` with your Github username.```bash
cd
git init -b main
git add .
git commit -m "Init commit"
git remote add origin [email protected]:/.git
git push -u origin main
```Finally, install the environment and the pre-commit hooks with
```bash
make install
```You are now ready to start development on your project! The CI/CD
pipeline will be triggered when you open a pull request, merge to main,
or when you create a new release.To finalize the set-up for publishing to PyPI or Artifactory, see
[here](https://fpgmaas.github.io/cookiecutter-poetry/features/publishing/#set-up-for-pypi).
For activating the automatic documentation with MkDocs, see
[here](https://fpgmaas.github.io/cookiecutter-poetry/features/mkdocs/#enabling-the-documentation-on-github).
To enable the code coverage reports, see [here](https://fpgmaas.github.io/cookiecutter-poetry/features/codecov/).## Acknowledgements
This project is partially based on [Audrey
Feldroy\'s](https://github.com/audreyfeldroy)\'s great
[cookiecutter-pypackage](https://github.com/audreyfeldroy/cookiecutter-pypackage)
repository.