🐍 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
:
- 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
- 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.