Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

A collection of general python utility functions.

Project description

Python Utilikilt
================

Python Utilikilt is a collection of utility classes and functions.

Installation
------------

Run `pip install python-utilikilt`

Classes
-------

###MixIn
Monkey patches a classes with methods from a supplied class.

###Indexable
Takes a generator (or any iterator) and makes it indexable.

```python
from python_utils.classes import Indexable

def fib():
a, b = 0, 1
while 1:
yield a
a, b = b, a + b

fib = Indexable(fib())
fib[10] #144
fib[5] #13
fib[4:10:2] #[8, 21, 55]
```

Decorators
----------

###retry
Decorator for retrying a function if exception occurs.

###run_async
Decorator for running a function in a seperate thread.

###memoize
Decorator for caching the result of a function so subsequent calls are returned out of cache instead of re-running the function.

Iterators
---------

###isplitter
Takes an iterator and splits it into chunks of the specified size and yields the chunks.

```python
from python_utils.iterators import isplitter

for x in isplitter(xrange(1000), 100):
print x #[0,...,99], [100,...,199]...[900,...,999]
```

###daterange
Iterates over a range of dates stepping daily, monthly, or yearly

```python
from datetime import date
from python_utils.iterators import daterange

for date in daterange(date('2012-05-01'),
date('2012-05-20')):
print date #2012-05-02, 2012-05-03...2012-05-20

for date in daterange(date('2012-05-01'),
date('2012-10-01'),
frequency='monthly'):
print date #2012-06-01, 2012-07-01...2012-10-01

for date in daterange(date('1999-05-01'),
date('2009-05-01'),
frequency='yearly'):
print date #2000-05-01, 2001-05-01...2009-05-01
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for python-utilikilt, version 0.3b5
Filename, size File type Python version Upload date Hashes
Filename, size python-utilikilt-0.3b5.zip (9.6 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page