Skip to main content

Set of handy python utilities

Project description

python-utilz

Set of handy python utilities.

Installation

pip install python-utilz

Contents

Get size of an object

Returns total size in bytes (when you do not want full-fledged library for this).

import python_utilz as pu

print(pu.get_size([1, 2, 3]))
# 172

Convert exception to string

Show more info than just str(exc).

import python_utilz as pu

print(repr(pu.exc_to_str(TimeoutError('test'))))
# 'TimeoutError: test'

Check UUID is correct without casting

When you want to check UUID, but do not want try-except on UUID(value).

import python_utilz as pu

print(pu.is_valid_uuid('lol-kek'))
# False

Human-readable time

Created to display difference between two timestamps.

import python_utilz as pu

print(repr(pu.human_readable_time(9999999)))
# '16w 3d 17h 46m 39s'

print(repr(pu.htime(1742579085.0 - 1741924401.0)))
# '1w 13h 51m 24s'

Human-readable size

Created to display total amount of bytes in something.

import python_utilz as pu

print(repr(pu.human_readable_size(999999999)))
# '953.7 MiB'

print(repr(pu.hsize(10000000000)))
# '9.3 GiB'

Separate digits

When you want number to be more readable.

import python_utilz as pu

print(repr(pu.sep_digits(123456789)))
# '123 456 789'

Now

Returns current datetime in UTC timezone.

import python_utilz as pu

print(pu.now())
# 2025-03-21 18:13:34.954740+00:00

Config from env

Creates simple config from environment variables. Smaller variant of pydantic-settings.

from dataclasses import dataclass

import python_utilz as pu


@dataclass
class Database(pu.BaseConfig):
    url: str
    timeout: int


# export MY_VAR__URL=https://site.com
# export MY_VAR__TIMEOUT=10
config = pu.from_env(Database, env_prefix='my_var')
print(config)
# Database(url='https://site.com', timeout=10)

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

python_utilz-0.1.5.tar.gz (30.5 kB view details)

Uploaded Source

Built Distribution

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

python_utilz-0.1.5-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file python_utilz-0.1.5.tar.gz.

File metadata

  • Download URL: python_utilz-0.1.5.tar.gz
  • Upload date:
  • Size: 30.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.9

File hashes

Hashes for python_utilz-0.1.5.tar.gz
Algorithm Hash digest
SHA256 cf1d925d9ef0d9a6058d2b8b346c4b2d18d3a3f84806faa8407a01b0c51e2a05
MD5 9f006ba5a87a3a21d297ae89587440cf
BLAKE2b-256 82bfe0fa393e0281116746f8d3ee38de3378bbd17a9de2563c184f39e09f32a3

See more details on using hashes here.

File details

Details for the file python_utilz-0.1.5-py3-none-any.whl.

File metadata

File hashes

Hashes for python_utilz-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a5b3de18cf6a5f56bc42e2482e97d1029bc4fe08cff866a85b2562df2d145a60
MD5 3aea329a829c0bc3340bc4ce0340c921
BLAKE2b-256 7850ada24308e7605a4bc6e539f5eef3f5537ff03a2f58cbb8b9ee4d7d7eccdb

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