os / expiringdict

Dictionary with auto-expiring values for caching purposes.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Expiring Dict

https://travis-ci.org/mailgun/expiringdict.svg?branch=master

expiringdict is a Python caching library. The core of the library is ExpiringDict class which is an ordered dictionary with auto-expiring values for caching purposes. Expiration happens on any access, object is locked during cleanup from expired values. ExpiringDict can not store more than max_len elements - the oldest will be deleted.

Note: Iteration over dict and also keys() do not remove expired values!

Installation

If you wish to install from PyPi:

pip install expiringdict

If you wish to download the source and install from GitHub:

git clone git@github.com:mailgun/expiringdict.git
python setup.py install

or to install with test dependencies (Nose, Mock, coverage) run from the directory above:

pip install -e expiringdict[test]

To run tests with coverage:

nosetests --with-coverage --cover-package=expiringdict

Usage

Create a dictionary with capacity for 100 elements and elements expiring in 10 seconds:

from expiringdict import ExpiringDict
cache = ExpiringDict(max_len=100, max_age_seconds=10)

put and get a value there:

cache["key"] = "value"
cache.get("key")

About

Dictionary with auto-expiring values for caching purposes.

License:Apache License 2.0


Languages

Language:Python 100.0%