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.2.tar.gz (9.0 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.2-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: utilities_toolkit-0.1.2.tar.gz
  • Upload date:
  • Size: 9.0 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.2.tar.gz
Algorithm Hash digest
SHA256 70f47a9748ce33657425fa7aab323d29703eb0ee11413ea005530cf05662b0d7
MD5 948600863763bd9e3fe453632e25a199
BLAKE2b-256 d3a19e50c4b7955b6d05fa51bfab62cf10894afb58047d94fff98a9eee003597

See more details on using hashes here.

File details

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

File metadata

  • Download URL: utilities_toolkit-0.1.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 2a7ed84bc4aa2a8925356d1ee91cd7850ef6f04aee91546708344b17b4d20b2b
MD5 2aca0ca32c6e28cead4eb554a85bd66b
BLAKE2b-256 336fa3be7a9e569df705d2e65c14b15eaeb817dba789c9af3f5609f369111619

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