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


👤 For Users

Installation

Install the latest release from PyPI:

pip install py-boiler-tools

Quick Usage

After installation, you can use the CLI to scaffold a new project:

# Simple Hello World App
pyboiler new basic

This will create a new files in the current project folder, including starter files.

For more options, run:

pyboiler --help

Prerequisites

Make sure you have Python 3.10+ 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 basic

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.1.tar.gz (15.8 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.1-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

Details for the file py_boiler_tools-2.0.1.tar.gz.

File metadata

  • Download URL: py_boiler_tools-2.0.1.tar.gz
  • Upload date:
  • Size: 15.8 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.1.tar.gz
Algorithm Hash digest
SHA256 f7e36efeb9b4ba1a72f9af5b7d7f90a3344264defb69d5214065d842451f0c39
MD5 757ca7723d0d6f6710d9ac48d92235a1
BLAKE2b-256 9d2a1eac762a7eaaab84732949b9ca6fc402861e8099d9ad167019cd220b9d65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_boiler_tools-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5ab16b72c1fc80a9298cc9a381e4bba1547d51defb55dc01f0344cfa0c836a98
MD5 3f3ea5198e11be3b2eaa7ba7833883cf
BLAKE2b-256 00fa7157341a03a1b350b76d418b802f9d249ffc03a601106b7e127eb0d9f844

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