Pimp your Class/Property/Methods with useful functionality
Pimp My Class
[![Coverage Status](https://coveralls.io/repos/github/hgrecco/pimpmyclass/badge.svg?branch=master)](https://coveralls.io/github/hgrecco/pimpmyclass?branch=master) [![Build Status](https://travis-ci.org/hgrecco/pimpmyclass.svg?branch=master)](https://travis-ci.org/hgrecco/pimpmyclass) ![Python Version](https://img.shields.io/pypi/pyversions/pimpmyclass.svg) [![Python Version](https://img.shields.io/pypi/v/pimpmyclass.svg)](https://pypi.org/project/pimpmyclass/) [![Documentation Status](https://readthedocs.org/projects/pimpmyclass/badge/?version=latest)](https://pimpmyclass.readthedocs.io/en/latest/?badge=latest)
This library provides base classes to enable useful behavior in Python Objects.
The central purpose of the library is to extend python properties to allow:
- get/set logging.
- get/set timing, success and failure stats.
- async locking.
- get/set coercion and conversion.
- value cache
- prevent unnecessary set.
- read once properties
But most importantly, it allows owner specific configurations. Properties are class attributes, and therefore it is difficult to have a property which is, for exampled cached, in an object but not cached in another instance of the same class.
The library also provides DictProperties: that is properties that can be accessed by key; and also methods!
Each capability is isolated in individual classes allowing you to pick only what you need.
- Changed signal is only emitted when the cache value actually changes.
- Created get/set _notifiy to be called after succesfull get/set.
- Document log_values.
- Check for key being member of list/tuple/set in dictproperties.
- Fixed bug that precluded composing properties/methods with config.
- Renamed Config to InstanceConfig and implemented Config for instance independent configuration.
- Implemented automatic filling of Config and InstanceConfig with kwargs.
- Implemented default, value and type checking for Config and InstanceConfig
- More testing and docs.
- Implemented log_values to toggle how values are logged
- Improved testing.
- Split GetSetCacheProperty into GetCacheProperty and SetCacheProperty
- Added the possibility to use Python Enum as keys in DictFeat.
- Removed keyword argument from DictFeat signal for greater compatibility with Qt.
- Fixed repr in BoundedProperty.
- Fixed check_signature when params is empty.
- first public release.
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size pimpmyclass-0.4.3.tar.gz (23.1 kB)||File type Source||Python version None||Upload date||Hashes View|