Metadata-Version: 2.4
Name: tsmetallic
Version: 1.0.0
Summary: A collection of reusable Python utilities and personal libraries.
Author-email: tsmetallic <ts-metallic@proton.me>
Description-Content-Type: text/markdown
License-Expression: MIT
License-File: LICENSE

# tsmetallic
> A lightweight collection of reusable Python utilities for building robust applications.
`tsmetallic` is 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, `tsmetallic` is designed to complement your existing architecture by providing small, focused utilities that solve common problems with minimal dependencies.

## Installation
```bash
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, `tsm` packages 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
```python
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.

