Skip to main content

A collection of reusable Python utilities and personal libraries.

Project description

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

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

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


Download files

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

Source Distribution

tsmetallic-1.0.0.tar.gz (8.8 kB view details)

Uploaded Source

Built Distribution

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

tsmetallic-1.0.0-py2.py3-none-any.whl (5.8 kB view details)

Uploaded Python 2Python 3

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

Hashes for tsmetallic-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6d2deecff4693b21ede67615b579ef082d1e097393f0ce8aad0392927634889f
MD5 9ddfaf87a0b920199145ebe66eb8fbb7
BLAKE2b-256 92495d6f85eeba2b0b64f9dac5601b76a867f6ee92a3830ccffcbfd1cb63a0ae

See more details on using hashes here.

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

Hashes for tsmetallic-1.0.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 9624fcf986b34405a261c5ca98d65e5c495bf8143c310c98a1572224e7c8943e
MD5 b9978663daff2451be4299c8e4363bd6
BLAKE2b-256 5f0846b01d27ab38d15228db6c7b0dd532604a517b5144d45bbfb70cd927f902

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