https://github.com/danibcorr/python-project-template
🏗️ A simple and flexible Python template for any project.
https://github.com/danibcorr/python-project-template
cookiecutter development project-template python python-template template
Last synced: 2 months ago
JSON representation
🏗️ A simple and flexible Python template for any project.
- Host: GitHub
- URL: https://github.com/danibcorr/python-project-template
- Owner: danibcorr
- License: mit
- Created: 2025-01-12T16:25:40.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-01-10T15:34:11.000Z (3 months ago)
- Last Synced: 2026-01-11T03:35:03.764Z (3 months ago)
- Topics: cookiecutter, development, project-template, python, python-template, template
- Language: Makefile
- Homepage: https://danibcorr.github.io/python-project-template/
- Size: 1.55 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: .github/CONTRIBUTING.md
- License: LICENSE
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Agents: AGENTS.md
Awesome Lists containing this project
README
# Python Project Template
Python Project Template provides a ready-to-use structure for Python projects,
integrating best practices for code quality, testing, security, documentation, and CI/CD.
It helps developers start new projects quickly with a maintainable and professional
foundation.
## Features
- **Linting & Type Checking**: Ruff and Mypy for clean, consistent code.
- **Security Scanning**: Bandit detects potential vulnerabilities.
- **Code Complexity Analysis**: Complexipy identifies complex functions and modules.
- **Testing Suite**: Reliable unit testing with Pytest.
- **Auto Documentation**: MkDocs + GitHub Pages for automated docs.
- **CI/CD**: GitHub Actions automates linting, testing, and documentation deployment.
And more.
## Getting Started
Before starting, ensure that you have required Python installed and a virtual environment
set up. It is recommended to create an isolated environment (e.g., using `venv`) to
manage dependencies cleanly. Additionally, ensure that
[`uv`](https://github.com/astral-sh/uv) is installed in your environment to handle
grouped dependency installations.
1. Generate Your Project
Use Cookiecutter to create a new project from the template:
```bash
cookiecutter https://github.com/danibcorr/python-project-template.git
```
Follow the prompts to configure project metadata, package name, and other options.
2. Install Dependencies
Activate your virtual environment and install all dependencies using the included
`Makefile`:
```bash
make install
```
This installs development, testing, and documentation tools as defined in
`pyproject.toml`.
3. Run the Pipeline
Execute the quality pipeline, which includes linting, type checking, security
analysis, complexity checks, and test execution:
```bash
make pipeline
```
4. Run the Full Workflow (Optional)
To perform a complete setup including dependency installation, full quality checks,
and local documentation preview:
```bash
make all
```
This ensures that the project environment is fully prepared for development and
validation.