Skip to main content

scitrera-ext-cachetools

scitrera-ext-cachetools is a metapackage that combines cachetools and asyncache to make them all conveniently available under a single namespace.

It provides both synchronous and asynchronous caching decorators and various cache implementations (TTL, LRU, LFU, etc.) out of the box.

Installation

pip install scitrera-ext-cachetools

Features

  • Unified Access: Import everything you need for caching from one place.
  • Sync & Async Support: Includes cachetools for synchronous code and asyncache for asyncio.
  • Conditional Caching: Includes cached_in_production, a utility to easily disable caching in development environments.

Available Exports

From scitrera_ext_cachetools, you can import:

  • Decorators: cached, cachedmethod, cached_async, cachedmethod_async
  • Cache Types: Cache, TTLCache, TLRUCache, LRUCache, FIFOCache, RRCache, LFUCache
  • Utilities: keys, cached_in_production

cached_in_production

The only new functionality provided by this package is the cached_in_production decorator. It is a "meta-decorator" designed to make it easy to test code without memoization during development while ensuring it is enabled in production, without requiring code changes.

Caching is enabled by default unless the environment variable DEV_NOCACHE is set to True, 1, yes, or other truthy values (parsed via scitrera-app-framework).

Usage Example

Synchronous Caching

from scitrera_ext_cachetools import cached_in_production, TTLCache, cached

@cached_in_production(cached, cache=TTLCache(maxsize=100, ttl=300))
def get_expensive_data(key):
    # This logic will be cached in production, 
    # but can be bypassed in dev by setting DEV_NOCACHE=1
    return ...

Asynchronous Caching

from scitrera_ext_cachetools import cached_in_production, TTLCache, cached_async

@cached_in_production(cached_async, cache=TTLCache(maxsize=100, ttl=300))
async def get_expensive_data_async(key):
    return ...

License

This project is licensed under the BSD-3-Clause License.

Metadata

Release files for scitrera-ext-cachetools 0.0.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for scitrera-ext-cachetools 0.0.1
File Size Uploaded
scitrera_ext_cachetools-0.0.1.tar.gz 3.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for scitrera-ext-cachetools 0.0.1
File Interpreter ABI Platform
scitrera_ext_cachetools-0.0.1-py3-none-any.whl Python 3 none any Details

Total release size: 6.1 kB

Release files / scitrera_ext_cachetools-0.0.1.tar.gz

Download URL scitrera_ext_cachetools-0.0.1.tar.gz
Size 3.0 kB
Tags Source
SHA-256 checksum
How to use checksums
6e35e348eba702cbc0f944b23ece43708bddde7859b97b46f52d90e293df0885
BLAKE2b-256 checksum
How to use checksums
93b6249591adfc1c44db8efa28285dae57f3efcebf13348b298264d2158564d8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 6, 2026.

Transparency log

Release files / scitrera_ext_cachetools-0.0.1-py3-none-any.whl

Download URL scitrera_ext_cachetools-0.0.1-py3-none-any.whl
Size 3.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
613b00c52112ae52370518ae65a9c8b17bc4a259cb0cede6788a230239f2f36e
BLAKE2b-256 checksum
How to use checksums
b58b13c26077db50823ba2727fbe5d8c19778d4ecc9c40de116bfdbe56d18ae4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jan 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.0.1 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page