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

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for python_utilz-0.1.2.tar.gz
Algorithm Hash digest
SHA256 afeb5382b2c7aa1041e1c9f040a3567b725b731c0db628fc65700c1cbd52759e
MD5 194dbc9fcca812da2f189593ad39880a
BLAKE2b-256 b437e0744206f27d566b5bdd692ec233d2d626ee95e94904dd5ef52eeee9056c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for python_utilz-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9e1387c23c6e7c3adc448812419d408a881e315e096533f1cae9adc0d7bf610e
MD5 25c0c3215661771f0aa52759f9cd58ba
BLAKE2b-256 2e99edc3f3465787c87dd48a8487459f4751d236fc8f93817cedef1bb8377a2e

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