Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bolerplate_tools-0.1.0.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bolerplate_tools-0.1.0-py3-none-any.whl (6.8 kB view details)

Uploaded Python 3

File details

Details for the file bolerplate_tools-0.1.0.tar.gz.

File metadata

  • Download URL: bolerplate_tools-0.1.0.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.7

File hashes

Hashes for bolerplate_tools-0.1.0.tar.gz
Algorithm Hash digest
SHA256 f16735e72f45ccb79a2c011745704436700c90637e12e23d96c66158b531b8dd
MD5 631df036049e4e2c79dd43d7df9bafba
BLAKE2b-256 3f8babbbffad96808aca77a2d748d5b58d0b1c434646853cfb872e985ffb6174

See more details on using hashes here.

File details

Details for the file bolerplate_tools-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for bolerplate_tools-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2253208685184e1af2fe8a52d32856dc455ec1326cc48842e359d80951aa942b
MD5 7a18a3083d3e274bb43ba3c6ae62cb2d
BLAKE2b-256 f789985dcb589891590f7d099ac70252a143f375bd5c1d7e7ef8aae02934b300

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