Skip to main content

Pimp your Class/Property/Methods with useful functionality

Project description

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/)

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.

https://github.com/hgrecco/pimpmyclass

Authors

Hernan E. Grecco <hernan.grecco@gmail.com>

Lantz-drivers Changelog

0.3 (2019-01-16)

  • Implemented log_values to toggle how values are logged

  • Improved testing.

  • Split GetSetCacheProperty into GetCacheProperty and SetCacheProperty

0.2 (2018-11-27)

  • Added the possibility to use Python Enum as keys in DictFeat.

0.1.3 (2018-04-04)

  • Removed keyword argument from DictFeat signal for greater compatibility with Qt.

0.1.2 (2018-04-04)

  • Fixed repr in BoundedProperty.

0.1.1 (2018-03-28)

  • Fixed check_signature when params is empty.

0.1 (2018-03-23)

  • first public release.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pimpmyclass-0.3.tar.gz (17.7 kB view details)

Uploaded Source

File details

Details for the file pimpmyclass-0.3.tar.gz.

File metadata

  • Download URL: pimpmyclass-0.3.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.18.4 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.6.5

File hashes

Hashes for pimpmyclass-0.3.tar.gz
Algorithm Hash digest
SHA256 a854feff7e1cfe4a3a8fb3f5c59e0d61e77e5196ed9ae1084cb4502f42566988
MD5 557e34c2208fda91d28273340a704d53
BLAKE2b-256 bda35fe17fa48c92d74ebf2e18481137048400b94cf08b5d7dd4eeee18a6d0d1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page