A collection of reusable Python utilities and personal libraries.
Project description
tsmetallic
A lightweight collection of reusable Python utilities for building robust applications.
tsmetallicis a modular utility library that provides the infrastructure code commonly needed across Python projects. It brings together reusable components for logging, configuration management, data loading, registries, dispatchers, and other application building blocks into a single, consistent package. Rather than being a framework,tsmetallicis designed to complement your existing architecture by providing small, focused utilities that solve common problems with minimal dependencies.
Installation
python -m venv .venv
source .venv/bin/activate
pip install tsmetallic
Why tsmetallic?
Most Python applications eventually grow a collection of shared infrastructure:
- Logging configuration
- Configuration loading
- File and data loaders
- Registry and dispatcher patterns
- General-purpose helper utilities
Instead of rewriting these components for every project,
tsmpackages them into reusable modules with a consistent API.
Features
- Modular — Import only the functionality you need.
- Lightweight — Designed to stay out of your way.
- Reusable — Components intended for use across many projects.
- Practical — Focused on solving common application problems.
- Well-typed — Modern Python with type annotations where appropriate.
Included Modules
Although the library continues to evolve, it currently includes utilities such as:
| Module | Purpose |
|---|---|
tsmetallic.logging |
Logging configuration and helpers |
tsmetallic.config |
Configuration loading and management |
tsmetallic.loaders |
Common data and file loaders |
tsmetallic.registry |
Generic registry implementations |
tsmetallic.utils |
General-purpose utility functions |
Additional modules are added as reusable functionality emerges from real-world projects.
Example
import tsmetallic.logging
logger = tsmetallic.logging.setup_logging()
logger.info('Logging initialized')
Because each module is independent, you can adopt only the pieces that fit your application.
Design Principles
tsmetallic is built around a few simple ideas:
- Prefer composition over frameworks.
- Keep abstractions small and focused.
- Minimize dependencies.
- Write code that is easy to understand and reuse.
- Favor explicit behavior over hidden magic.
Compatibility
- Python >= 3.12
- macOS
- Linux
- Windows?
Documentation
Each module includes docstrings and examples. As the package grows, additional documentation and API references will be added.
Contributing
Issues, bug reports, and suggestions are welcome. While tsm primarily serves as a personal utility library, improvements that make the package more generally useful are appreciated.
License
Released under the terms of the project's license. See LICENSE for details.
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 tsmetallic-1.0.0.tar.gz.
File metadata
- Download URL: tsmetallic-1.0.0.tar.gz
- Upload date:
- Size: 8.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.34.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6d2deecff4693b21ede67615b579ef082d1e097393f0ce8aad0392927634889f
|
|
| MD5 |
9ddfaf87a0b920199145ebe66eb8fbb7
|
|
| BLAKE2b-256 |
92495d6f85eeba2b0b64f9dac5601b76a867f6ee92a3830ccffcbfd1cb63a0ae
|
File details
Details for the file tsmetallic-1.0.0-py2.py3-none-any.whl.
File metadata
- Download URL: tsmetallic-1.0.0-py2.py3-none-any.whl
- Upload date:
- Size: 5.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-requests/2.34.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9624fcf986b34405a261c5ca98d65e5c495bf8143c310c98a1572224e7c8943e
|
|
| MD5 |
b9978663daff2451be4299c8e4363bd6
|
|
| BLAKE2b-256 |
5f0846b01d27ab38d15228db6c7b0dd532604a517b5144d45bbfb70cd927f902
|