A python development boilerplate generator
Project description
BoilrPy is a Python project automation tool that simplifies the process of creating new Python projects. It generates a standardized project structure, including essential files and configurations, allowing developers to quickly start working on their Python projects.
Installation
You can install BoilrPy directly from PyPI:
pip install boilrpy
๐ฆ Dependency Managers
Boilrpy supports multiple Python dependency managers, each with its own strengths:
Supported Managers
| Manager | Speed | Lock File | Use Case | Installation |
|---|---|---|---|---|
| pip | โญโญโญ | โ | Simple projects, beginners | Pre-installed with Python |
| poetry | โญโญ | โ | Professional projects, teams | pipx install poetry |
| uv | โญโญโญโญโญ | โ | Modern projects, speed-focused | pip install uv |
| conda | โญ | โ | Data science, scientific computing | Download from anaconda.com |
Quick Comparison
- ๐ pip: Traditional, universal, simple
- ๐ฆ poetry: Modern, professional, reproducible
- โก uv: Blazingly fast (10-100x faster than pip)
- ๐ฌ conda: Best for data science and non-Python dependencies
For detailed information, see Dependency Managers Guide.
Quick Start
Create a new Python project with boilrpy:
from boilrpy import create_project
create_project(
name="my_awesome_project",
version="0.1.0",
license="MIT",
dependencies_manager="poetry" # or "pip", "uv", "conda"
)
Or use the command-line interface:
boilrpy
Features
- Create a new Python project with a standardized structure
- Generate essential files (LICENSE, .gitignore, README.md, etc.)
- Initialize a Git repository
- Set up dependency management (Poetry or pip)
- Create a Dockerfile and .dockerignore
- Support for multiple license types
- Configurable project
Usage
To create a new Python project using the CLI, run:
boilrpy
# Check installed dependency managers
boilrpy --check-deps
Follow the prompts to configure your project. You'll be asked for:
- Project name
- Version
- License type
- Dependency management preference (Poetry or pip)
- And more...
Project Structure
boilrpy generates the following project structure:
Without flask
your_project/
โโโ Dockerfile (if using Docker)
โโโ .dockerignore (if using Docker)
โโโ .pylintrc (if using pylint)
โโโ .gitignore
โโโ LICENSE
โโโ README.md
โโโ CHANGELOG.md
โโโ pyproject.toml (if using Poetry)
โโโ poetry.lock (if using Poetry)
โโโ requirements.txt
โโโ main.py (project entrypoint)
โโโ tests/
โโโ __init__.py
With flask
your_project/
โโโ Dockerfile (if using Docker)
โโโ .dockerignore (if using Docker)
โโโ .pylintrc (if using pylint)
โโโ .gitignore
โโโ .env
โโโ LICENSE
โโโ README.md
โโโ CHANGELOG.md
โโโ pyproject.toml (if using Poetry)
โโโ poetry.lock (if using Poetry)
โโโ requirements.txt
โโโ app.py (flask entrypoint)
โโโ static/ (assets folder)
โ โโโ css/
โ | โโโ style.css
โ โโโ js/
โ โโโ script.js
โโโ templates/ (html files)
โ โโโ base.html
| โโโ index.html
โโโ tests/
โโโ __init__.py
Run this command to launch server:
flask run
By default your flask app is accessible at this address: http://127.0.0.1:5000 (see app.py)
This configuration is for development
Configuration
Boilrpy uses sensible defaults, but you can customize the project creation process by answering the prompts during project creation.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Support
If you encounter any problems or have any questions, please open an issue on the GitHub repository.
Links
Project details
Release history Release notifications | RSS feed
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 boilrpy-0.8.0.tar.gz.
File metadata
- Download URL: boilrpy-0.8.0.tar.gz
- Upload date:
- Size: 21.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dbe33a7260351eeee8a2a00222e0f1271d58f9d88bf9d6ee764470e41ab8467a
|
|
| MD5 |
bd648f4eb0857f50cddcf37f360f47fc
|
|
| BLAKE2b-256 |
025e9f456a6801e3e2a20cd0742c309e7b0d82f54625db8e4ab6d324558cd7a0
|
File details
Details for the file boilrpy-0.8.0-py3-none-any.whl.
File metadata
- Download URL: boilrpy-0.8.0-py3-none-any.whl
- Upload date:
- Size: 31.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
287f24d6fbfd631312ae03ff534ffd35d330a5dfe71ca0fc738215d3255748c4
|
|
| MD5 |
de37f9ccdd1066aa7e5b5a4c62db4509
|
|
| BLAKE2b-256 |
432a99444f87cfb2ae65ceee008b328fa70cfe5cb1addd9269660d1b79fdfc20
|