djblets.util.properties¶
Specialized descriptors/properties for classes.
- class BaseProperty[source]¶
Base class for a custom property for a class.
This is an optional base class that provides handy utilities that properties may need. For instance, being able to determine the name of the property’s attribute on a class.
- class AliasProperty(prop_name, convert_to_func=None, convert_from_func=None, deprecated=False, deprecation_warning=<class 'DeprecationWarning'>)[source]¶
A property that aliases to another property or attribute.
Alias properties are used to automatically retrieve from another property on access, or to set a value on another property. It’s useful when wanting to rename an attribute but continue to provide a deprecated version, or when creating an object that provides a set of compatibility attributes for use with legacy code.
Alias properties can optionally emit a deprecation warning on use, in order to help in the process of migrating legacy code.
- class TypedProperty(valid_types, default=None, allow_none=True)[source]¶
A property that enforces type safety.
This property will ensure that only values that are compatible with a given type can be set. This ensures type safety and helps catch errors early.
- get_descriptor_attr_name(descriptor, cls)[source]¶
Return the name of a property/descriptor instance on a class.
This will go through the class and all parent classes, looking for the property, and returning its attribute name. This is primarily intended to help with providing better error messages.