Skip to main content

A lightweight utilities package for managing configuration and logging across multiple projects. It provides a simple interface to create and access configuration files in various formats, along with a straightforward logging system that can optionally centralize logs and configs in a single location.

Project description

Utilities

A lightweight utilities package for managing configuration and logging across multiple projects. It provides a simple interface to create and access configuration files in various formats, along with a straightforward logging system that can optionally centralize logs and configs in a single location.

Version

Installation

You can install the package via pip from git:

pip install utilities-toolkit

Or with uv:

uv add git+https://github.com/themateam-lib/utilities.git@v0.1.6

Main Features

  • Dynamic configuration access: Read and write INI, JSON, and Python files for centralized settings.
  • Advanced logging: Flexible logging setup, Rich formatting for readable and colored logs.
  • File copy with progress: Copy files with Rich progress bars and automatic backup of existing files.
  • Utility functions: Folder creation, path manipulation, and more.

Exported Functions & Classes

Config

Configuration manager for your projects. Example:

from utilities import Config
Config.ensure_initialized("my_project", {"Section": {"Key": "Value"}})

# Then access it like this:
value = Config.my_project.Section.Key

It will create an ini config file in a project-specific folder in utilities folder at the root of your user directory.

Making it useful for storing project-specific settings.

LoggingConfigurator

Flexible logging setup with Rich formatting. Example:

from utilities import LoggingConfigurator
LoggingConfigurator.configure(project="my_project", level="DEBUG", console=True, log_file=True)

Useful to centralize logging configuration, but especially log files in a project-specific folder in utilities folder at the root of your user directory.

with_spinner

Context manager to display a Rich spinner during long operations. Example:

from utilities import with_spinner
with with_spinner("Processing..."):
    # your code

utilities_specific_folder

Returns the path to a project-specific folder, creating it if necessary. Example:

from utilities import utilities_specific_folder
folder = utilities_specific_folder("my_folder")

Useful for storing files related to your project in a dedicated folder within the utilities directory.

Structure

  • src/utilities/ : main source code
  • src/utilities/config/ : configuration management
  • src/utilities/log/ : logging and utilities
  • tests/ : unit tests

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

utilities_toolkit-0.1.3.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

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

utilities_toolkit-0.1.3-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file utilities_toolkit-0.1.3.tar.gz.

File metadata

  • Download URL: utilities_toolkit-0.1.3.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for utilities_toolkit-0.1.3.tar.gz
Algorithm Hash digest
SHA256 63ff52ea4ca2069260eebf58ee2a1deb460ba098925776fdd618ab0fb26aeaf8
MD5 9c44de1f7a2c503cf5c1bb11fe82bf71
BLAKE2b-256 11ff1220d0afe6cfeee29b9f7945a47b02bffa84cf8ad592d5feb6c5404f9b40

See more details on using hashes here.

File details

Details for the file utilities_toolkit-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: utilities_toolkit-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.11 {"installer":{"name":"uv","version":"0.9.11"},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for utilities_toolkit-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 ba22c9e882c58730827c2a97b8b87af5589b2ce49bc2ee06554f710561d2e07a
MD5 0506349f3c3195c27336c1a32bee5f75
BLAKE2b-256 3a3c707b7120daea89119bef2efb7007fcf1753a6aa810537dd1f55c78607b84

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