Skip to content


License

🐍 Python Project Template

Welcome to the Python Project Template — your go-to starter kit for building robust Python projects with clean code, strong testing, built-in security, and automated deployment. Whether you're launching a new idea or refining your workflow, this template sets you up for success.

What's Inside

  • Linting & Type Checking: Keep your code clean with Ruff and Mypy.
  • Security Scanning: Catch vulnerabilities early using Bandit.
  • Code Complexity Analysis: Understand your codebase with Complexipy.
  • Testing Suite: Reliable testing with Pytest.
  • Auto Documentation: Generate and deploy docs with MkDocs + GitHub Pages.
  • CI/CD: Automate your workflow using GitHub Actions — from linting and testing to doc deployment.

And more...

Getting Started

1. Generate Your Project

Activate your Python environment, install cookiecutter, and run:

cookiecutter https://github.com/danibcorr/python-project-template.git

2. Install Dependencies

Use the included Makefile:

make install

3. Run the Pipeline

Lint, test, and check your project:

make pipeline

Or run the full suite including docs:

make all

Contributing

We welcome contributions from the community! To get started quickly, follow these steps using our streamlined Makefile:

  1. Clone the repository Ensure your system is updated and make is installed. On most Linux systems:
sudo apt-get update
sudo apt-get install build-essential
  1. Set up your environment Navigate to the cloned directory, create a Python environment, activate it, and run:
make

This command updates pip, installs uv, and sets up all project dependencies automatically.