A set of helper functions
Project description
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
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 boilerplate_tools-0.1.3.tar.gz.
File metadata
- Download URL: boilerplate_tools-0.1.3.tar.gz
- Upload date:
- Size: 6.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
951532c4781842b5300e53c3ecad92d36ce491a4ef284e8f198a3d0fe5b17e89
|
|
| MD5 |
66efb7cc11574bfee0d36eebbaafbac6
|
|
| BLAKE2b-256 |
e4c0dbf5207e447ee019238e9e18b6716a3a8e1833c498d726f9bbeb121b9d4c
|
File details
Details for the file boilerplate_tools-0.1.3-py3-none-any.whl.
File metadata
- Download URL: boilerplate_tools-0.1.3-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5735a348bdaa66ec8556c367ede02980dfe673efdac4d82af135d09607750362
|
|
| MD5 |
96177e3b9d802c1e2cb74dc55b7dca4d
|
|
| BLAKE2b-256 |
7aedb5283450a08534da07255183064145a92c1c08e3d897c37bf09018f31a80
|