A fast and flexible scaffolding tool for Python applications.
Project description
Py_Boil 🔥
A lightweight Python package that helps developers quickly bootstrap projects by generating ready-to-use boilerplate code. With py_boil, you can scaffold Python applications in seconds — from simple scripts to full-featured project structures.
📋 Table of Contents
📖 About The Project
Stop wasting time setting up the same boilerplate code for every project. py_boil takes care of scaffolding your Python application, letting you focus on writing actual business logic.
Features
- 📦 Generate project scaffolds instantly
- ⚡ Ready-to-use templates (from Hello World to package structures)
- 🛠️ Customizable templates planned in future versions
- 🚀 Helps maintain consistency across projects
🏗️ Built With
- Python 3.10+
- uv for dependency management and reproducible environments
- bumpver for automated semantic versioning
🚀 Getting Started
Prerequisites
Make sure you have Python 3.8+ and uv installed:
python3 --version
curl -LsSf https://astral.sh/uv/install.sh | sh
Installation
Install dependencies and create a virtual environment with uv:
uv sync
This will:
- Create a
.venv/automatically - Install dependencies listed in
pyproject.toml - Pin them exactly via a local
uv.lockfile
Installing Dev Dependencies
To install optional or development packages (like testing or formatting tools):
uv sync --dev
This will install your main dependencies plus all packages listed under [project.optional-dependencies.dev] in your pyproject.toml.
📝 Usage
Generate a simple Hello World project:
uv run py_boil new hello-world
Example output (placeholder):
project/
├── main.py
└── README.md
🏷 Versioning
py_boil uses bumpver for semantic versioning:
- Patch: bug fixes (0.1.0 → 0.1.1)
- Minor: new backward-compatible features (0.1.1 → 0.2.0)
- Major: breaking changes (0.2.0 → 1.0.0)
Bumping a version
bumpver patch # 0.1.0 -> 0.1.1
bumpver minor # 0.1.1 -> 0.2.0
bumpver major # 0.2.0 -> 1.0.0
This updates the version in both pyproject.toml and src/py_boil/__init__.py and optionally creates a Git commit and tag.
🗺️ Roadmap
- Basic Hello World template
- Package scaffold with setup files
- CLI options for customization
- User-defined templates
See the open issues for a full list of proposed features (and known issues).
🤝 Contributing
We use uv for dependency management. To set up the development environment:
uv sync --dev
To contribute:
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin feature/AmazingFeature) - Open a Pull Request
📜 License
Distributed under the Apache 2.0 License. See LICENSE for more information.
📬 Contact
Delali Funani – dfunani@gmail.com
Project Link: https://github.com/dfunani/py_boiler
Notes - PYPI
To upload your package to PyPI, follow these steps:
Ensure your package is ready for distribution (source code, metadata, etc.).
Install Twine and Build if not already installed:
pip install twine build
Build your package:
python -m build
Upload to PyPI:
twine upload --repository pypi dist/*
After uploading, you can install your package from PyPI using:
pip install --index-url https://test.pypi.org/simple/ your-package-name
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file py_boiler_tools-2.0.0.tar.gz.
File metadata
- Download URL: py_boiler_tools-2.0.0.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ac3494c8fcab651c4235352149f2e13241449fe3adb40c75c750e9a49f7c990a
|
|
| MD5 |
8f2a129cfdf8e3ab052cbe601f37a232
|
|
| BLAKE2b-256 |
3f66bbb7142a957abdb7c73c4759e54582b82eef1f83b56fe2c404f2bd1fbbef
|
File details
Details for the file py_boiler_tools-2.0.0-py3-none-any.whl.
File metadata
- Download URL: py_boiler_tools-2.0.0-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
58bc6028d52163aef01b0496f8426cdb96d30cc5145548aaebfb421d355b77d0
|
|
| MD5 |
1434349bb65a7cfdcf2a53bcb8e5e6ba
|
|
| BLAKE2b-256 |
e8dd6a40e6f2c1ed5347c7241e80df6db92dce0dace2fa8a9e6fef223cfebf1d
|