Back to Explore

aio-libs/propcache

GitHub
2 updates · last 90 days1 watchersOpen source

Last release:

propcache is a Python 3 library that provides a fast implementation of cached properties for Python 3.10+. It is designed to be nearly identical to functools.cached_property, with an additional under_cached_property option that caches using self._cache. Useful for speeding up computed properties in Python applications, including optional pure Python or compiled installs.

Project status

  • Actively maintained: Yes, there are recent upstream and repository updates within the last day (upstream push on 2026-09-16), with multiple tagged updates in September 2026.
  • Cadence: Evidence suggests a short-term burst, with updates at least on 2026-09-15 and 2026-09-16 (v0.5.3 then v0.5.4), after a quieter period since mid-May (v0.5.2 on 2026-05-08).

AI summary generated

AI-generated from public sources. May be inaccurate. Report

Recent updates

  • v0.5.4

    Release v0.5.4 focuses on packaging and build backend behavior for downstream wheel builds. The change ensures compiled extension modules regain expected compiler optimizations (notably -O3/-DNDEBUG) and improves cached property read performance versus v0.5.3.

  • v0.5.3

    Release v0.5.3 focuses on fixing concurrency issues in the Cython implementations of cached_property and under_cached_property when running on free-threaded CPython. It also includes a set of contributor and CI/tooling updates, plus dropping support for free-threaded Python 3.13.

    Breaking
  • v0.5.2

    The v0.5.2 release primarily bumps the package version to 0.5.2. The code diff for this tag is minimal, consisting of a version string update in src/propcache/__init__.py and a changelog entry stating there are no significant changes.

  • v0.5.1

    Release v0.5.1 has release notes that state no significant changes. However, the code diff shows multiple functional packaging and build-backend modifications, plus changes to supported Python versions and CI build matrices.

    Features
  • v0.4.1

    v0.4.1 focuses on fixing a reference leak in the C extension implementations of cached_property and under_cached_property. It also updates the reusable-build-wheel workflow default OS to ubuntu-latest.

  • v0.4.0

    v0.4.0 primarily introduces a performance optimization in the Cython implementation of cached properties by changing how the cache is checked and how Python C-API dict access is performed. It also expands CI and release build coverage for additional platforms, including arm64 Windows wheels and CPython 3.14 testing, and updates changelog/metadata.

    Features
  • v0.3.2

    Release v0.3.2 focuses on build and documentation improvements. The main documented change is moving Cython usage to 3.1 across the build path, and making Cython line tracing opt-in via the with-cython-tracing build config (or PROPCACHE_CYTHON_TRACING).

  • v0.3.1

    Release v0.3.1 is described as a typing-focused bug fix, aimed at improving type robustness. The code diff mostly matches that claim, but it also includes a few runtime-relevant and build-backend-adjacent modifications that are not mentioned in the release notes.

  • v0.3.0

    v0.3.0 adds support for building and testing CPython 3.13 free-threaded (cp313t) artifacts, including C extension compilation tweaks and CI configuration. The release notes also mention CI pip dependency caching changes via `re-actors/cache-python-deps`. The code diff contains additional packaging and dependency-constraint changes that are not explicitly described in the release notes.

    Features
  • v0.2.1

    Release v0.2.1 focuses on small bug fixes around the Cython implementations of the cached property decorators, plus dropping Python 3.8 support. It also includes CI and packaging build-system adjustments (ex: Cython pre-release handling) that primarily affect how wheels/sdists are produced.

    Breaking
  • v0.2.0

    Release 0.2.0 focuses on improved typing and documentation for the cached_property and under_cached_property decorators. It also introduces a new recommended import path (propcache.api) and switches the project to a src layout.

    Features
  • v0.1.0

    v0.1.0 primarily documents adding armv7l wheels to the release artifacts. The code diff also shows multiple build/CI related adjustments, plus a packaging backend change that renames a Cython-tracing opt-out environment variable.

    Features