skillfed

property-manager

Useful property variants for Python programming (required properties, writable properties, cached properties, etc)

property-manager v3.0 395.9K downloads/30d#6,977 on PyPI
Permissive license MIT Abandoned released

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-manager

uv

uv add property-manager

poetry

poetry add property-manager

Installing 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

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyIntended Audience :: System AdministratorsLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Documentation :: SphinxTopic :: Software DevelopmentTopic :: Software Development :: DocumentationTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python Modules

Tags

python property decoratorscached propertiesrequired propertieswritable properties with defaultslazy property evaluationcomputed property valuesproperty management utilities
property-decoratorsabandoned

More Software Development packages