Skip to content

zigai/stdl

Repository files navigation

stdl

Tests Documentation Status PyPI version Supported versions Downloads license

stdl is a collection of Python utilities that complement the standard library.

Features

  • File and directory operations
  • String manipulation
  • ANSI color support for terminal output
  • Date and time formatting
  • List utils
  • Lazy imports
  • Logging configuration for logging and loguru
  • See docs

Installation

Using pip

pip install stdl

Using uv

uv add stdl

From source

pip install git+https://github.com/zigai/stdl.git
# or
uv add git+https://github.com/zigai/stdl.git

Examples

Lazy imports

from typing import TYPE_CHECKING
from stdl.import_lazy import import_lazy

if TYPE_CHECKING:
    from os.path import abspath, join
    import numpy as np
    import torch
else:
    import_lazy("os.path", ["join", "abspath"], verbose=True)
    import_lazy("numpy", alias="np", verbose=True)
    import_lazy("torch", verbose=True)

print(np.zeros(4))
# importing "numpy" took 0.060s
# [0. 0. 0. 0.]
print(torch)
# <LazyImport: torch>
print(torch.randn(8))
# importing "torch" took 1.118s
# tensor([0., 0., 0., 0., 0., 0., 0., 0.])
print(torch)
# <module 'torch' from .../torch/__init__.py'

License

MIT License