Boilerplate Tools
A collection of utility functions and tools to simplify common development tasks.
Installation
pip install boilerplate-tools
Features
- Smart String Formatting: String templating with variable validation
- Configuration Management: Load and process configuration files
- JSON I/O: Simple functions for reading, writing, and appending JSON data
- Path Management: Easily handle Python path configuration
Usage Examples
Smart Format
from boilerplate_tools import smart_format
# Format a string with required variables
result = smart_format("Hello, {name}!", {"name": "World"})
print(result) # Output: Hello, World!
# Will raise KeyError for missing variables
try:
smart_format("Hello, {name}!", {})
except KeyError as e:
print(e) # Missing required template variable: 'name'
# Will warn about unused variables
import warnings
with warnings.catch_warnings(record=True) as w:
smart_format("Hello, {name}!", {"name": "World", "unused": "value"})
if w:
print(w[0].message) # Unused variables provided that are not in the template: unused
Configuration Loading
from boilerplate_tools import load_config
# Load a configuration file with variable resolution
config = load_config("config.yaml")
print(config.some_key)
JSON I/O
from boilerplate_tools import read_json, write_json, append_json
# Read a JSON file
data = read_json("data.json")
# Write a JSON file
write_json("output.json", {"name": "John", "age": 30})
# Append to a JSON list file
append_json("list.json", [{"name": "John"}, {"name": "Jane"}])
Path Management
from boilerplate_tools import setup_root
# Add the current directory to sys.path
setup_root()
# Add the parent directory to sys.path
setup_root(n_up=1)
# Get the root directory path
root_dir = setup_root(n_up=1, return_root=True)
print(f"Root directory: {root_dir}")
Development
Distribution creation:
python setup.py sdist bdist_wheel
Upload to PyPI:
twine upload dist/*
TODO
- Add Pytest tests for all functions
Metadata
Release files for boilerplate-tools 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| boilerplate_tools-0.1.4.tar.gz | 6.6 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| boilerplate_tools-0.1.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.4 kB
Release files / boilerplate_tools-0.1.4.tar.gz
| Download URL | boilerplate_tools-0.1.4.tar.gz |
|---|---|
| Size | 6.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
291d114e377552011bd1ceda9d51b76d9b42d6da23cb4a040ccdaa39b9efcdf3
|
|
BLAKE2b-256 checksum How to use checksums |
2a2ff997435cfce48bef58ba710b8ee4e2772df51b30f944c934c5af24d9b88a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Release files / boilerplate_tools-0.1.4-py3-none-any.whl
| Download URL | boilerplate_tools-0.1.4-py3-none-any.whl |
|---|---|
| Size | 6.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c9b5132c0aa6a2193c6bb731321a81bcbefe9a7f3c7ae725a09da2c321086c8b
|
|
BLAKE2b-256 checksum How to use checksums |
e908b6e700cf9256ebc2133bf103399bfd9ea33c81cf09b1d186d10ecf0277c4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.10
|
Security for boilerplate-tools 0.1.4
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.