Skip to main content

Batteries-included python-starter project template

Project description

Introduction

alt text

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

Features

  • Lightning Fast Dependency Management: Uses uv instead of pip/poetry for ridiculously fast package resolution and syncing.
  • Modern Build System: Pre-configured with hatchling via pyproject.toml.
  • Linting & Formatting: Uses ruff for blazingly fast code formatting and linting.
  • Testing Ready: Ships with pytest and a dummy test file to ensure your CI/CD passes on day one.
  • Distribution Ready: Includes build, twine, and pyinstaller in dev dependencies so you are ready to publish to PyPI or build standalone executables.

Directory Structure

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

Getting Started

  1. Clone the template (or click "Use this template" on GitHub).
  2. install uv if you haven't already:
curl -LsSf [https://astral.sh/uv/install.sh](https://astral.sh/uv/install.sh) | sh

3.Sync all dependencies

uv sync

4.Run the tests to make sure everything works:

uv run pytest

5.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.

Future

Planning to publish this on PyPi to generate a batteries-included python framework like how uv init does it.

License

MIT

Other

Please do consider starring this template if you found it useful for your everday programming needs!

Star History Chart

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyplatez-0.1.1.tar.gz (169.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyplatez-0.1.1-py3-none-any.whl (154.3 kB view details)

Uploaded Python 3

File details

Details for the file pyplatez-0.1.1.tar.gz.

File metadata

  • Download URL: pyplatez-0.1.1.tar.gz
  • Upload date:
  • Size: 169.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pyplatez-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ba5b573c198b6212ced62bd3c689a1c825f9008c951f003fd6da5ff1abfc19bb
MD5 e8f9ec8874a45185d12c5a0cde086cb8
BLAKE2b-256 7801db068ce28629e10389d8e36b0010fa509b2e3f21cc0b7d4c664e9f389359

See more details on using hashes here.

File details

Details for the file pyplatez-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyplatez-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 154.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for pyplatez-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2d9c31d5b519b8e9012dacba35a634466b1d011e02520f1bde3119aab9296ec0
MD5 88be62dda456c97090bef6523d4ad348
BLAKE2b-256 ae1828a4ae2cae2ae449e226a222e8dae1aaed1baafa54960895aa0835e41fcc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page