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-1.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-1.0.0-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: py_boiler_tools-1.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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 31ab8cd7079afed44e9fb16865a75e410b484d41349410a1aca838701553984b
MD5 d0cd3a652363369650f90032ebf1b9cd
BLAKE2b-256 9974275321275b55f8145fe567cf757c99918f3812b75154bae2c690560fe317

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for py_boiler_tools-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 8130bc52f5f7c6f12f33c2a0855d43f68ee43507842215505634a9660c90bc03
MD5 4d8713ca725ef2c25786cced7e41936e
BLAKE2b-256 9f79ee73e75f47b528fec34dc77c3288e15492ee95b7a35d326172259d2fdb25

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