Skip to main content

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.lock file

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:

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. 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

py_boiler_tools-2.0.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

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

py_boiler_tools-2.0.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

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

Hashes for py_boiler_tools-2.0.0.tar.gz
Algorithm Hash digest
SHA256 ac3494c8fcab651c4235352149f2e13241449fe3adb40c75c750e9a49f7c990a
MD5 8f2a129cfdf8e3ab052cbe601f37a232
BLAKE2b-256 3f66bbb7142a957abdb7c73c4759e54582b82eef1f83b56fe2c404f2bd1fbbef

See more details on using hashes here.

File details

Details for the file py_boiler_tools-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for py_boiler_tools-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 58bc6028d52163aef01b0496f8426cdb96d30cc5145548aaebfb421d355b77d0
MD5 1434349bb65a7cfdcf2a53bcb8e5e6ba
BLAKE2b-256 e8dd6a40e6f2c1ed5347c7241e80df6db92dce0dace2fa8a9e6fef223cfebf1d

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