poche

Simple and fast Python in-memory caching library


Keywords
cache, in-memory, simple, fast, ttl, library, python
License
GPL-3.0+
Install
pip install poche==1.0.0

Documentation

poche

Build Status Codecov Checked with mypy Code style: black

Simple and fast Python in-memory caching with support for TTLs.

Meant to speed up using dictionaries as cache backend for simple usecases.

No external dependencies, 100% code coverage and static type checked.

Installation

Requires Python 3.6+.

pip install poche

Roadmap

v1:

  • Basic TTL
  • get
  • set
  • getset
  • flush

v1.1:

  • expire
  • persist
  • rename

v1.2:

  • getorset with callback

Example

from time import sleep

import poche

>>> c = poche.Cache()

>>> c.set("one", "uno")
>>> c.get("one")
"uno"

>>> c.get("two")
None
>>> c.getset("two", "dos")
None
>>> c.get("two")
"dos"

>>> c.set("three", "tres", ttl=2)
>>> c.get("three")
"tres"
>>> sleep(2)
>>> c.get("three")
None

>>> c = poche.Cache(ttl=2)  # you can also define a default TTL

>>> c.set("four", "cuatro")
>>> c.get("four")
"cuatro"
>>> sleep(2)
>>> c.get("four")
None