Skip to main content

Booster

A template-based project generator that helps you quickly scaffold new projects based on predefined templates.

Features

  • Create and manage project templates
  • Generate new projects from templates
  • Define and customize template variables
  • Validate template configurations
  • Support for post-creation hooks

Installation

pip install booster
-- for uvx user
uvx apg-booster 

For development:

# Clone the repository
git clone https://github.com/yourusername/booster.git
cd booster

# Create a virtual environment
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate

# Install development dependencies
pip install -e ".[dev]"

Usage

Creating a New Template

booster new my-template

With variables:

booster new my-template --variable name=string --variable version=string

Creating a Project from a Template

booster create my-template my-project

With variable overrides:

booster create my-template my-project --variable name=awesome-app --variable version=1.0.0

Viewing Template Details

booster show my-template

Template Structure

Templates are stored in the templates/ directory. Each template consists of:

  • A booster.json configuration file
  • Template files and directories to be copied to the new project

Example booster.json:

{
  "name": "my-template",
  "description": "A template for awesome projects",
  "version": "1.0.0",
  "variables": {
    "name": {
      "type": "string",
      "description": "Project name",
      "default": "my-project"
    },
    "version": {
      "type": "string",
      "description": "Project version",
      "default": "0.1.0"
    }
  },
  "template_paths": {
    "src": "src/{{ name }}",
    "tests": "tests/{{ name }}"
  },
  "hooks": {
    "post_create": "echo 'Project created successfully!'"
  }
}

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Testing

Run tests using pytest:

pytest

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Click for the command-line interface

Metadata

Release files for apg-booster 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for apg-booster 0.1.2
File Size Uploaded Provenance
apg_booster-0.1.2.tar.gz 656.7 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for apg-booster 0.1.2
File Interpreter ABI Platform
apg_booster-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 663.3 kB

Release files / apg_booster-0.1.2.tar.gz

Download URL apg_booster-0.1.2.tar.gz
Size 656.7 kB
Tags Source
SHA-256 checksum
How to use checksums
2a52fecbc9865900b5946d8b64392920559652fafd7adfa5727e3d2ca022efa3
BLAKE2b-256 checksum
How to use checksums
9cb7728e6da6ac8bb9ce4aca91e2f2036b00dc6e071a9c38392ca81d26bbc7de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.22

Release files / apg_booster-0.1.2-py3-none-any.whl

Download URL apg_booster-0.1.2-py3-none-any.whl
Size 6.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5bba07468900c837fc317a1bd0c732b47b32377f1b67b3ef147ef603550caf27
BLAKE2b-256 checksum
How to use checksums
6e53771616f8771d96f3ef6a9c767d0edf0ae1e03f572468ae9df2b75180b897
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.9.22

Security for apg-booster 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page