python-cachetools
Port variant py37
Summary Extensible memoizing collections (PY37)
Package version 4.1.1
Homepage https://github.com/tkem/cachetools/
Keywords python
Maintainer Python Automaton
License Not yet specified
Other variants py38
Ravenports Buildsheet | History
Ravensource Port Directory | History
Last modified 30 JUN 2020, 01:40:08 UTC
Port created 21 APR 2020, 22:22:44 UTC
Subpackage Descriptions
single cachetools ======================================================================== :alt: Latest PyPI version :alt: Documentation build status :alt: Travis CI build status :alt: Test coverage :alt: License This module provides various memoizing collections and decorators, including variants of the Python Standard Library's `@lru_cache`_ function decorator. .. code-block:: python from cachetools import cached, LRUCache, TTLCache # speed up calculating Fibonacci numbers with dynamic programming @cached(cache={}) def fib(n): return n if n < 2 else fib(n - 1) + fib(n - 2) # cache least recently used Python Enhancement Proposals @cached(cache=LRUCache(maxsize=32)) def get_pep(num): url = 'http://www.python.org/dev/peps/pep-%04d/' % num with urllib.request.urlopen(url) as s: return s.read() # cache weather data for no longer than ten minutes @cached(cache=TTLCache(maxsize=1024, ttl=600)) def get_weather(place): return owm.weather_at_place(place).get_weather() For the purpose of this module, a *cache* is a mutable_ mapping_ of a fixed maximum size. When the cache is full, i.e. by adding another item the cache would exceed its maximum size, the cache must choose which item(s) to discard based on a suitable `cache algorithm`_. In general, a cache's size is the total size of its items, and an item's size is a property or function of its value, e.g. the result of ``sys.getsizeof(value)``. For the trivial but common case that each item counts as 1, a cache's size is equal to the number of its items, or ``len(cache)``. Multiple cache classes based on different caching algorithms are implemented, and decorators for easily memoizing function and method calls are provided, too. Installation ------------------------------------------------------------------------ cachetools is available from PyPI_ and can be installed by running:: pip install cachetools Project Resources ------------------------------------------------------------------------ - `Documentation`_ - `Issue tracker`_ - `Source code`_ - `Change log`_ License ------------------------------------------------------------------------ Copyright (c) 2014-2020 Thomas Kemmer. Licensed under the `MIT License`_. .. _@lru_cache: http://docs.python.org/3/library/functools.html#functools.lru_cache .. _mutable: http://docs.python.org/dev/glossary.html#term-mutable .. _mapping: http://docs.python.org/dev/glossary.html#term-mapping .. _cache algorithm: http://en.wikipedia.org/wiki/Cache_algorithms .. _PyPI: https://pypi.org/project/cachetools/ .. _Documentation: https://cachetools.readthedocs.io/ .. _Issue tracker: https://github.com/tkem/cachetools/issues/ .. _Source code: https://github.com/tkem/cachetools/ .. _Change log: https://github.com/tkem/cachetools/blob/master/CHANGELOG.rst .. _MIT License: http://raw.github.com/tkem/cachetools/master/LICENSE
Configuration Switches (platform-specific settings discarded)
PY37 ON Build using Python 3.7 PY38 OFF Build using Python 3.8
Package Dependencies by Type
Build and Runtime python37:single:standard
python-setuptools:single:py37
Download groups
main mirror://PYPI/c/cachetools
Distribution File Information
bbaa39c3dede00175df2dc2b03d0cf18dd2d32a7de7beb68072d13043c9edb20 23574 cachetools-4.1.1.tar.gz
Ports that require python-cachetools:py37
python-premailer:py37 Turns CSS blocks into style attributes (PY37)