$npx skillfedfor your agent

zope.cachedescriptors

Method and property caching decorators

With conditionsPyPI Software DevelopmentReleased Sep 2025155.4K downloads / moZPL-2.1Pure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — zope_cachedescriptors-6.0-py3-none-any.whl
v6.0 · released 2025-09-12 · Python >=3.9 · 1 runtime deps: setuptools

Yes, if you need dependency-aware property caching in a persistent object context or are already in the Zope ecosystem. The package is stable, has no known vulnerabilities, and installs with minimal friction. However, the aging maintenance status (no release in 336 days) and unclear license treatment warrant a review before adopting in new projects outside Zope—for simpler caching, functools.cached_property may suffice.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Low friction: pure Python wheel with only setuptools as a runtime dependency.
  • Maintenance status is aging—last commit was 2025-09-12 and no release in 336 days—but the package is marked Production/Stable and has been in active use since 2007.

License · maintenance · safety

ZPL-2.1 (unclear) — Licensed under ZPL-2.1 (Zope Public License 2.1), which is OSI-approved but less common than MIT or Apache 2.0. License treatment is marked unclear, so review the full license text before adopting in proprietary or copyleft-sensitive projects.

last release 2025-09-12 (336 days) · last repo commit 2025-09-12 · 6 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 155,376 downloads/mo, #10,817 on PyPI

Verify before relying

from zope.cachedescriptors import property
import math

class Point:
    def __init__(self, x, y):
        self.x, self.y = x, y
    
    @property.CachedProperty('x', 'y')
    def radius(self):
        return math.sqrt(self.x**2 + self.y**2)

point = Point(1.0, 2.0)
print(point.radius)  # Computed once, cached thereafter
point.x = 2.0
print(point.radius)  # Recomputed because x changed
  • Whether ZPL-2.1 is compatible with your project's licensing requirements (treatment marked unclear in metadata).
  • Performance characteristics and memory overhead of cached descriptors in high-throughput scenarios.
  • Compatibility with modern ORMs or persistence frameworks beyond the Zope ecosystem.
Same gist for agents: .md · .json

What it is and what it does

zope.cachedescriptors provides Python descriptors that cache computed values and automatically invalidate when their dependencies change. It includes CachedProperty (which recomputes when tracked attributes change), Lazy (which computes once and stays cached until manually deleted), and cached methods. Values are stored in _v_ volatile attributes, making them especially useful for persistent object frameworks where volatile storage is a standard pattern.

The package is a lightweight, dependency-minimal tool for avoiding redundant computation in classes where properties depend on instance state. It's designed for scenarios where you need fine-grained control over when a cached value is discarded—either automatically when dependencies shift, or manually when needed. It supports both decorator and functional syntax for backwards compatibility.

Use it for

  • Cache expensive computed properties in ORM models that invalidate when their source attributes are modified.
  • Implement lazy-loaded attributes that compute once on first access and persist for the object's lifetime.
  • Build idempotent methods whose results are cached based on arguments and instance state in persistent frameworks.
  • Manage volatile attribute computation in Zope or other persistence layers where _v_ attributes have special semantics.
  • Reduce redundant calculations in geometric or scientific classes where derived values depend on a few tracked inputs.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need dependency-aware property caching in a persistent object context or are already in the Zope ecosystem.

The package is stable, has no known vulnerabilities, and installs with minimal friction. However, the aging maintenance status (no release in 336 days) and unclear license treatment warrant a review before adopting in new projects outside Zope—for simpler caching, functools.cached_property may suffice.

Install

zope-cachedescriptors on PyPI

Before you install

Low friction: pure Python wheel with only setuptools as a runtime dependency. Maintenance status is aging—last commit was 2025-09-12 and no release in 336 days—but the package is marked Production/Stable and has been in active use since 2007.

License in practice

Licensed under ZPL-2.1 (Zope Public License 2.1), which is OSI-approved but less common than MIT or Apache 2.0. License treatment is marked unclear, so review the full license text before adopting in proprietary or copyleft-sensitive projects.

Quickstart

from zope.cachedescriptors import property
import math

class Point:
    def __init__(self, x, y):
        self.x, self.y = x, y
    
    @property.CachedProperty('x', 'y')
    def radius(self):
        return math.sqrt(self.x**2 + self.y**2)

point = Point(1.0, 2.0)
print(point.radius)  # Computed once, cached thereafter
point.x = 2.0
print(point.radius)  # Recomputed because x changed

Verify before relying

  • Whether ZPL-2.1 is compatible with your project's licensing requirements (treatment marked unclear in metadata).
  • Performance characteristics and memory overhead of cached descriptors in high-throughput scenarios.
  • Compatibility with modern ORMs or persistence frameworks beyond the Zope ecosystem.

Package facts

LicenseZPL-2.1 unclear
Python supportSupports the current Python release >=3.9
Install frictionLow. Pure-Python wheel
Runtime dependencies
1 package
setuptools
MaintenanceAging 336 days since the last release
Last repo commit
First released
Downloads155,376 / month, #10,817 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Zope Public LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Internet :: WWW/HTTPTopic :: Software Development

Evidence: zope_cachedescriptors-6.0-py3-none-any.whl

Tags

Capabilities
cached property decoratormethod caching with dependenciescomputed property invalidationvolatile attribute cachingpersistent object descriptorslazy attribute computationdependency-aware caching
Topics
cachingdescriptorspersistent-objects
PyPI keywords
persistentcachingdecoratormethodproperty

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “method caching with dependencies”

  • zope.cachedescriptorsProvides decorator-based caching for computed properties and methods…
  • methodtoolsProvides LRU caching for methods, classmethods, and staticmethods…
  • django-memoizeCaches function and method results in Django applications using…

Give your agent the search over MCP, or paste the wish link into any chat.

More Software Development packages

typing-extensions Worth it
PyPI · Software Development · released Jul 2026

Provides backported and experimental type hints for Python 3.9+, allowing use of newer typing features on older Python versions and enabling early experimentation with type system PEPs before they enter the standard library.

PSF-2.0pure Python · 3.9+
1.9Bdownloads / mo
numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
fastapi Worth it
PyPI · Software Development · released Jul 2026

FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.

MITpure Python · 3.10+
568.6Mdownloads / mo
annotated-doc With conditions
PyPI · Software Development · released Jul 2026

Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.

MITpure Python · 3.9+
456.2Mdownloads / mo
typer Worth it
PyPI · Software Development · released Aug 2026

Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.

Install it if you are building CLIs in Python.

MITpure Python · 3.10+
369.3Mdownloads / mo
distlib With conditions
PyPI · Software Development · released Jun 2026

Distlib provides low-level packaging utilities for building, distributing, and managing Python software—including metadata handling, version specifiers, wheel support, script installation, and dependency resolution.

permissive licensepure Python
323.3Mdownloads / mo

See also backports.cached-property · property-manager · lazy · async-property · cachier · django-memoize · cachey · memoization