Welcome to miniutils’s documentation!¶
Overview¶
This module provides numerous helper utilities for Python3.X code to add functionality with minimal code footprint. It has tools for the following tasks:
- Progress bars on serial loops and parallel mappings (leveraging the excellent
tqdm
library) - Simple lazy-compute and caching of class properties, including dependency chaining
- Executing Python2 code from within a Python3 program
- More intuitive contract decorator (leveraging
pycontracts
)
Installation¶
As usual, you can install the latest code version directly from Github:
pip install git+https://github.com/scnerd/miniutils
Or you can pip
install the latest release from PyPi:
pip install miniutils
Examples¶
To get started, you can import your desired utilities directly from miniutils
. For example, to use the CachedProperty
decorator:
from miniutils import CachedProperty
class MyClass:
@CachedProperty
def attribute(self):
return some_slow_computation(self)
Or to use the progress bar utilities:
from miniutils import progbar, parallel_progbar
def mapper(x):
return x**2
assert [mapper(i) for i in progbar(100)] == parallel_progbar(mapper, range(100))
To see documentation for each feature, look through this documentation or the table of contents above.