property-manager
Useful property variants for Python programming (required properties, writable properties, cached properties, etc)
What it is and what it does
property-manager defines a collection of custom property decorators that extend Python's built-in property to handle common patterns: required properties that enforce initialization, writable properties with computed defaults that can be overridden, cached properties that compute once and cache the result, and lazy properties that cache but cannot be invalidated. It also includes a PropertyManager base class that coordinates these properties during object construction and provides environment-variable-based property values.
The package originated as a submodule of the executor package and was extracted into its own project to avoid unnecessary dependencies. It is currently tested on Python 2.7, 3.5, 3.6, 3.7, 3.8 and PyPy. The two runtime dependencies (humanfriendly and verboselogs) are lightweight utilities for string formatting and logging.
Use it for:
- Define class properties with computed defaults that can be overridden without losing the ability to recompute.
- Create required properties that raise an exception if not provided during object initialization.
- Cache expensive computations per instance and invalidate them on demand when the underlying data changes.
- Build configuration classes where properties can read from environment variables as fallbacks.
- Implement lazy initialization patterns where property values are computed only when first accessed.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides custom Python property decorators for defining required properties, writable properties with computed defaults, and cached properties that compute values on demand.
No. The package is abandoned (last release 2020-03-02) with no active maintenance or security updates. While it has low install friction and a permissive MIT license, the lack of maintenance makes it a poor choice for new projects. Modern Python alternatives or the standard library may be safer bets.
Install
property-manager on PyPI
pip
pip install property-manageruv
uv add property-managerpoetry
poetry add property-managerInstalling property-manager
Before you install
Low install friction with only two runtime dependencies (humanfriendly and verboselogs). However, the package is abandoned—last release was 2020-03-02, over 2356 days ago. No active maintenance or security updates.
License in practice
MIT license is permissive, allowing use in commercial and private projects with minimal restrictions. No licensing concerns for adoption.
Quickstart
pip install property-manager
from property_manager import writable_property, cached_property
class Example(object):
@writable_property
def computed_value(self):
return 42
@cached_property
def expensive_value(self):
return some_calculation()
Package is abandoned and last tested on Python 2.7, 3.5, 3.6, 3.7, 3.8 and PyPy; compatibility with newer Python versions is unverified.
Verify before relying
- Whether the package works reliably on Python versions beyond those listed in the description.
- Whether humanfriendly and verboselogs dependencies have known security issues or compatibility problems.
- Real-world usage frequency and whether the decorator patterns it provides are still the best approach in modern Python.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — humanfriendly, verboselogs |
| Maintenance | abandoned — 2,356 days since the last release |
| First released | |
| Downloads | 395,915/month — #6,977 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: property_manager-3.0-py2.py3-none-any.whl
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
backports.cached-propertyProvides the cached_property decorator for…
permissive · top 15,000 on PyPI
async-propertyProvides Python decorators (@async_property and…
permissive · top 5,000 on PyPI
zope.cachedescriptorsProvides decorator-based caching for computed…
unclear · top 15,000 on PyPI
lazyProvides a @lazy decorator that defers…
permissive · top 15,000 on PyPI
cachetoolsProvides memoizing collections and function…
permissive · top 1,000 on PyPI
decopatchDecopatch simplifies writing decorators in…
permissive · top 5,000 on PyPI
overridesProvides a @override decorator that validates…
permissive · top 1,000 on PyPI
cached_methodProvides a method-level caching decorator that…
permissive · top 15,000 on PyPI