Ever felt like "uhhh ..." actually I don't have any narrative for today.
But it is often tiresome to manually setup pyprojects when most of it is boilerplate, so ... let's change that
- Lightning Fast Dependency Management: Uses
uvinstead of pip/poetry for ridiculously fast package resolution and syncing. - Modern Build System: Pre-configured with
hatchlingviapyproject.toml. - Linting & Formatting: Uses
rufffor blazingly fast code formatting and linting. - Testing Ready: Ships with
pytestand a dummy test file to ensure your CI/CD passes on day one. - Distribution Ready: Includes
build,twine, andpyinstallerin dev dependencies so you are ready to publish to PyPI or build standalone executables.
You can use pyplatez to instantly scaffold a batteries-included Python project or also you can use this directly in GitHub as template repository.
Install the package globally using pip or uv:
pip install pyplatez
# or use uv (Recommended)
uv tool install pyplatezpyplatez init pyprojBy default, this will create a new directory in your current folder. If you want to specify a custom path, use the --path flag:
pyplatez init pyproj --path ~/Projects/pyprojNavigate to the folder & sync all dependencies:
cd pyproj
uv sync& Start Comding!
Here is how the boilerplate is organized:
pyplatez/
├── .github/
│ ├── ISSUE_TEMPLATE/ # YAML issue templates & discussions config
│ ├── workflows/ # GitHub Actions for CI/CD pipeline
│ ├── CODEOWNERS # Repository ownership definitions
│ ├── FUNDING.yml # Sponsorships
│ └── PULL_REQUEST_TEMPLATE.md
├── assets/ # Images and static assets for docs
├── src/ # Application source code
│ └── pyplatez/ # The main package directory
│ └── cli.py # Command-line interface logic for scaffolding via `pyplatez init`
├── tests/ # Unit tests via pytest
├── CODE_OF_CONDUCT.md # Community guidelines
├── CONTRIBUTING.md # Instructions for dev setup and PRs
├── hatch_build.py # Custom build hook that dynamically bundles template files into the wheel
├── LICENSE # Open source license
├── main.py # Default application entry point
├── pyproject.toml # The heart of the project configuration
├── README.md
└── uv.lock # Exact dependency versions for reproducibility
- Clone the template (or click "Use this template" on GitHub).
- install uv if you haven't already:
curl -LsSf [https://astral.sh/uv/install.sh](https://astral.sh/uv/install.sh) | sh3.Sync all dependencies
uv sync4.Run the tests to make sure everything works:
uv run pytest5.Start coding, Drop your logic into main.py and build from there.
Even Contributing Guidelines, Code-Of-Conduct & Issue templates are filled with boilerplate with minimal editing as per your project needs.
Planning to make this customizable for different purposes for lightning fast iteration.
Please do consider starring this template if you found it useful for your everday programming needs!
