Overview β
P3G is a tool designed to generate modern Python package project structures, leveraging Poetry for dependency management and integrating various development tools and best practices to help developers quickly create up-to-date Python projects with support for Python 3.7 and higher, automatic code formatting, type checking, security checks, pre-configured GitHub Actions, Docker support, and automated documentation generation.π
π€ Why You Need P3G β
Setting up a new Python project with best practices can be time-consuming and complex. P3G solves this problem by:
- Saving Time: Eliminate hours spent configuring development environments and tooling.
- Ensuring Consistency: Maintain the same high-quality structure across all your Python projects.
- Following Best Practices: Automatically implement industry-standard practices for code quality, testing, and deployment.
- Reducing Technical Debt: Start with a clean, well-structured project that's easier to maintain long-term.
- Simplifying Collaboration: Pre-configured GitHub templates and workflows make team collaboration seamless.
- Accelerating Development: Focus on writing your actual code instead of project setup and infrastructure.
- Staying Current: Benefit from modern tools like Poetry, Ruff, and automated dependency updates without the learning curve.
Whether you're a seasoned Python developer or just starting out, P3G helps you build professional-grade Python packages without the setup headaches.
π‘ Features β
Development features β
- π Supports
Python 3.7
and higher. - π¦
Poetry
as a dependencies manager. - β±οΈ Faster formatter tool, automatic codestyle with
ruff
to replaceblack
,isort
andpyupgrade
. - π Ready-to-use
pre-commit
hooks with code-formatting. - π Type checks with
ruff
; docstring checks withdarglint
; security checks withsafety
andbandit
- π§ͺ Testing with
pytest
. - π Ready-to-use
.editorconfig
,.dockerignore
, and.gitignore
. You don't have to worry about those things. - π³ The ability of building docker.
- π Comprehensive documentation support with
VitePress
, a modern static site generator powered by Vue, providing a beautiful and responsive documentation site for your project.
Deployment features β
- π
GitHub
integration: issue and PR templates. - π
Github Actions
with predefined build workflow as the default CI/CD. - π§° Everything is already set up for security checks, codestyle checks, code formatting, testing, linting, docker builds, etc with
Makefile
. - π³ Dockerfile for your package.
- π Always up-to-date dependencies with
@dependabot
. - π Automatic release notes with
Release Drafter
.
Open source community features β
- π Ready-to-use Pull Requests templates and several Issue templates.
- π€ Files such as:
LICENSE
,CONTRIBUTING.md
,CODE_OF_CONDUCT.md
, andSECURITY.md
are generated automatically. - π
Stale bot
that closes abandoned issues after a period of inactivity. - π·οΈ Semantic Versions specification with
Release Drafter
.
π Related Documentation β
π Contact β
For more information, please contact: [email protected]
β Contribution β
We appreciate your interest in contributing to our open-source initiative. We have provided a Developer's Guide outlining the steps to contribute to P3G. Please refer to this guide to ensure smooth collaboration and successful contributions.π€π