Skip to content

PranavU-Coder/PyPlatez

 
 

Repository files navigation

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.

Usage

You can use pyplatez to instantly scaffold a batteries-included Python project or also you can use this directly in GitHub as template repository.

Installation

Install the package globally using pip or uv:

pip install pyplatez
# or use uv (Recommended)
uv tool install pyplatez

To create a new project

pyplatez init pyproj

By 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/pyproj

Navigate to the folder & sync all dependencies:

cd pyproj
uv sync

& Start Comding!

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 make this customizable for different purposes for lightning fast iteration.

License

MIT

Other

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

Star History Chart

About

"minimalist" python starter project template

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%