A comprehensive Copier template for generating modern Python applications with database connectivity, logging, Docker support, and CI/CD pipelines.
This template provides a standardized foundation for Python projects with:
- Multi-Database Support: MySQL, PostgreSQL, and Snowflake configurations
- Environment-Based Configuration: Secure settings management with Pydantic
- Comprehensive Logging: Detailed logging with emoji support for better readability
- Docker Support: Containerized deployment with multi-stage builds
- CI/CD Pipeline: Automated builds and deployments via GitHub Actions or GitLab CI
- Connection Management: Robust database connection handling with context managers
- Project Structure: Well-organized directory structure following Python best practices
- Copier installed on your system
- Python 3.x (3.7 or higher recommended)
- make CLI should installed on your system
-
Install Copier (if not already installed):
pip install copier
-
Generate a new project:
copier copy <this-repo-url> <destination-folder>
-
Follow the interactive prompts to configure:
- Project name
- Database type (MySQL, PostgreSQL, Snowflake)
- CI/CD platform (GitHub Actions, GitLab CI)
- Additional features
-
Navigate and setup:
cd <destination-folder> make setup
The template will prompt you for:
- Project Name: Name of your new project
- Database: Choose between MySQL, PostgreSQL, or Snowflake
- CI/CD: Select GitHub Actions or GitLab CI
- Additional Features: Configure logging, Docker, etc.
- Additional Database Support: MongoDB, Redis, and SQLite integrations
- Web Framework Integration: Flask, and Django templates
- Testing Framework: pytest configuration with coverage reporting
- Monitoring & Observability: Prometheus metrics and distributed tracing
- Security Features: Authentication, authorization, and security scanning
- Multi-Language Support: Internationalization and localization
- Cloud Deployment: AWS, GCP, and Azure deployment configurations
- Microservices Template: Service mesh and API gateway integration
- Machine Learning: ML/AI project templates with common frameworks
- Real-time Features: WebSocket and event-driven architecture support