Skip to main content

Small Python utilities for adding concise functionality and usability to your code

Project description

https://coveralls.io/repos/github/scnerd/miniutils/badge.svg?branch=master https://travis-ci.org/scnerd/miniutils.svg?branch=master Documentation Status

Overview

Full documentation for this module is available over at ReadTheDocs.

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

  • In-place modification of functions for common “optimization” tasks

  • 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.

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

miniutils-0.0.2.tar.gz (11.1 kB view details)

Uploaded Source

Built Distribution

miniutils-0.0.2-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file miniutils-0.0.2.tar.gz.

File metadata

  • Download URL: miniutils-0.0.2.tar.gz
  • Upload date:
  • Size: 11.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for miniutils-0.0.2.tar.gz
Algorithm Hash digest
SHA256 cfe431ffbcac936e28dd20e9a0ca7d6b5c1c9c7647d7580e657dd1bfc63c78e5
MD5 bcf410a7fbaa70428f41aa9662a6d01d
BLAKE2b-256 a2175f8fa1aa903f54ff8032aea5ea19c3c370c1a3762779724286faf89e0053

See more details on using hashes here.

File details

Details for the file miniutils-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for miniutils-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a25f452d96634694513db9442a4ecde8da61b72095872bdddf44d2a03c8cb8a7
MD5 5ea4f3bbad87bffc35244e889292ab4d
BLAKE2b-256 2a9d620e2a53c41d8a35937d940edc5b5cfa1c1fbfbe3f3fd40114576f7e6729

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page