An open API service indexing awesome lists of open source software.

https://github.com/s-celles/cookiecutter-python-package

[WIP] Cookiecutter template for a Python package with Ruff, MyPy, pytest, pre-commit, Bandit, Safety, GitHub Actions, Dependabot...
https://github.com/s-celles/cookiecutter-python-package

ai-generated-code cookiecutter package python

Last synced: 7 months ago
JSON representation

[WIP] Cookiecutter template for a Python package with Ruff, MyPy, pytest, pre-commit, Bandit, Safety, GitHub Actions, Dependabot...

Awesome Lists containing this project

README

          

# Cookiecutter Python Package

A modern [cookiecutter](https://github.com/cookiecutter/cookiecutter) template for Python packages with best practices built-in.

[![CI](https://github.com/s-celles/cookiecutter-python-package/actions/workflows/test.yml/badge.svg)](https://github.com/s-celles/cookiecutter-python-package/actions/workflows/test.yml)
[![Documentation](https://github.com/s-celles/cookiecutter-python-package/actions/workflows/docs.yml/badge.svg)](https://s-celles.github.io/cookiecutter-python-package/)
[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)
[![Conventional Commits](https://img.shields.io/badge/Conventional%20Commits-1.0.0-yellow.svg)](https://conventionalcommits.org)
[![Python versions](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Cookiecutter template](https://img.shields.io/badge/cookiecutter-template-D4AA00.svg?logo=cookiecutter)](https://github.com/cookiecutter/cookiecutter)
[![Code style: Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff)
[![Security: bandit](https://img.shields.io/badge/security-bandit-green.svg)](https://github.com/PyCQA/bandit)
[![Type checked: mypy](https://img.shields.io/badge/type%20checked-mypy-blue.svg)](https://github.com/python/mypy)
[![GitHub issues](https://img.shields.io/github/issues/s-celles/cookiecutter-python-package)](https://github.com/s-celles/cookiecutter-python-package/issues)
[![GitHub stars](https://img.shields.io/github/stars/s-celles/cookiecutter-python-package)](https://github.com/s-celles/cookiecutter-python-package/stargazers)
[![Downloads](https://img.shields.io/github/downloads/s-celles/cookiecutter-python-package/total)](https://github.com/s-celles/cookiecutter-python-package/releases)

## ๐Ÿš€ Quick Start

```bash
# Install cookiecutter
pip install cookiecutter

# Create your package
cookiecutter https://github.com/s-celles/cookiecutter-python-package.git
```

That's it! You'll be prompted to customize your package with modern tools like **Ruff**, **pytest**, **MyPy**, and choice of **build backends** (setuptools, hatchling, flit, pdm).

## โœจ What You Get

- ๐Ÿ“ฆ **Modern packaging** with `pyproject.toml` (PEP 621)
- ๐Ÿ—๏ธ **Build backend choice** (setuptools, hatchling, flit, pdm)
- ๐Ÿงช **Testing** with pytest and coverage
- ๐Ÿ” **Code quality** with Ruff, MyPy, Bandit, Safety
- ๐Ÿš€ **CI/CD** with GitHub Actions
- ๐Ÿ“š **Documentation** with MkDocs or Sphinx
- ๐Ÿ› ๏ธ **CLI support** with Typer, Click, or Argparse
- ๐Ÿณ **Container support** with Docker and dev containers

## ๐Ÿ“– Documentation

**For complete documentation, examples, and detailed guides:**

### ๐Ÿ”— **[Visit Documentation Site โ†’](https://s-celles.github.io/cookiecutter-python-package)**

The documentation includes:

- **[Quick Start Guide](https://s-celles.github.io/cookiecutter-python-package/getting-started/quick-start/)** - Step-by-step setup
- **[Template Options](https://s-celles.github.io/cookiecutter-python-package/configuration/template-options/)** - All configuration choices
- **[Tools Overview](https://s-celles.github.io/cookiecutter-python-package/tools/overview/)** - Detailed tool explanations
- **[Examples](https://s-celles.github.io/cookiecutter-python-package/getting-started/examples/)** - Real-world usage patterns
- **[Build Backends Guide](https://s-celles.github.io/cookiecutter-python-package/tools/build-backends/)** - Choose the right backend
- **[Contributing Guide](https://s-celles.github.io/cookiecutter-python-package/development/contributing/)** - Help improve the template

## ๐Ÿค Contributing

We welcome contributions! See our [Contributing Guide](https://s-celles.github.io/cookiecutter-python-package/development/contributing/) for details.

## ๐Ÿ“ License

MIT License - see [LICENSE](LICENSE) file for details.