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 utilities-toolkit

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.2.0.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.2.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: utilities_toolkit-0.2.0.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.2.0.tar.gz
Algorithm Hash digest
SHA256 548deeec934c8f1591eea2b347ff3b8d99763e3bb2cbfc6b9266bd174874c8e6
MD5 a6e498fcfa18c60d0af47368fdc4ccf3
BLAKE2b-256 ce2a4ec3ee9a4eb9d93d8ee03f9d552a41577c731df89e0cf98aaf706075f8fe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: utilities_toolkit-0.2.0-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.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2a6a6adf204eb424b9f8a665f8e4df7916b41e5fb52c86f76529a2aa1b693a28
MD5 14e8826d4c2159d39f185faa6c6548d0
BLAKE2b-256 dfe5317f4168a463ac6b9a20db48bce664613f0909d405aaf0c184b2b4737c31

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