{ "info": { "author": "Hernan E. Grecco", "author_email": "hernan.grecco@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: MacOS :: MacOS X", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Scientific/Engineering", "Topic :: Software Development :: Libraries" ], "description": "Pimp My Class\n=============\n[![Coverage Status](https://coveralls.io/repos/github/hgrecco/pimpmyclass/badge.svg?branch=master)](https://coveralls.io/github/hgrecco/pimpmyclass?branch=master)\n[![Build Status](https://travis-ci.org/hgrecco/pimpmyclass.svg?branch=master)](https://travis-ci.org/hgrecco/pimpmyclass)\n![Python Version](https://img.shields.io/pypi/pyversions/pimpmyclass.svg)\n[![Python Version](https://img.shields.io/pypi/v/pimpmyclass.svg)](https://pypi.org/project/pimpmyclass/)\n[![Documentation Status](https://readthedocs.org/projects/pimpmyclass/badge/?version=latest)](https://pimpmyclass.readthedocs.io/en/latest/?badge=latest)\n\nThis library provides base classes to enable useful behavior in Python Objects.\n\nThe central purpose of the library is to extend python properties to allow:\n\n- get/set logging.\n- get/set timing, success and failure stats.\n- async locking.\n- get/set coercion and conversion.\n- value cache\n- prevent unnecessary set.\n- read once properties\n\nBut most importantly, it allows owner specific configurations. Properties are\nclass attributes, and therefore it is difficult to have a property which is, for\nexampled cached, in an object but not cached in another instance of the same class.\n\nThe library also provides DictProperties: that is properties that can be accessed by key;\nand also methods!\n\nEach capability is isolated in individual classes allowing you to pick only what you need.\n\nhttps://github.com/hgrecco/pimpmyclass\n\n\n\n\n\n\nAuthors\n-------\n\nHernan E. Grecco \n\n\npimpmyclass changelog\n=====================\n\n\n0.4.3 (2019-04-30)\n------------------\n\n- Changed signal is only emitted when the cache value actually changes.\n\n\n0.4.2 (2019-01-21)\n------------------\n\n- Created get/set _notifiy to be called after succesfull get/set.\n\n\n0.4.1 (2019-01-19)\n------------------\n\n- Document log_values.\n- Check for key being member of list/tuple/set in dictproperties.\n- Fixed bug that precluded composing properties/methods with config.\n\n\n0.4 (2019-01-19)\n----------------\n\n- Renamed Config to InstanceConfig and implemented Config for instance\n independent configuration.\n- Implemented automatic filling of Config and InstanceConfig with kwargs.\n- Implemented default, value and type checking for Config and InstanceConfig\n- More testing and docs.\n\n\n0.3 (2019-01-16)\n----------------\n\n- Implemented `log_values` to toggle how values are logged\n- Improved testing.\n- Split GetSetCacheProperty into GetCacheProperty and SetCacheProperty\n\n\n0.2 (2018-11-27)\n----------------\n\n- Added the possibility to use Python Enum \n as keys in DictFeat.\n\n\n0.1.3 (2018-04-04)\n------------------\n\n- Removed keyword argument from DictFeat signal \n for greater compatibility with Qt.\n\n\n0.1.2 (2018-04-04)\n------------------\n\n- Fixed repr in BoundedProperty.\n \n\n0.1.1 (2018-03-28)\n------------------\n\n- Fixed check_signature when params is empty.\n\n\n0.1 (2018-03-23)\n----------------\n\n- first public release.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hgrecco/pimpmyclass", "keywords": "classes properties descriptors decorators", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "pimpmyclass", "package_url": "https://pypi.org/project/pimpmyclass/", "platform": "", "project_url": "https://pypi.org/project/pimpmyclass/", "project_urls": { "Homepage": "https://github.com/hgrecco/pimpmyclass" }, "release_url": "https://pypi.org/project/pimpmyclass/0.4.3/", "requires_dist": null, "requires_python": ">=3.6", "summary": "Pimp your Class/Property/Methods with useful functionality", "version": "0.4.3" }, "last_serial": 5208682, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "6498c41cf8e51d70371dec66396556f7", "sha256": "3c177161a53fe980657e2d5fab9a935237ea136f0951b06e16f9817c6cc61560" }, "downloads": -1, "filename": "pimpmyclass-0.1.1.tar.gz", "has_sig": false, "md5_digest": "6498c41cf8e51d70371dec66396556f7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13707, "upload_time": "2018-03-28T04:03:47", "url": "https://files.pythonhosted.org/packages/04/76/c16787bd5d761fd15ee2a79123f72a84649b02aaab35a03986059c2594cb/pimpmyclass-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "1214e5b6d7ec1b5d863f8ec20e5ddcd3", "sha256": "c0c3f9af7c97a9b91db8f31f16395352752adb69f15a22f0265f4d1aa23ea7cd" }, "downloads": -1, "filename": "pimpmyclass-0.1.2.tar.gz", "has_sig": false, "md5_digest": "1214e5b6d7ec1b5d863f8ec20e5ddcd3", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13753, "upload_time": "2018-04-05T01:33:50", "url": "https://files.pythonhosted.org/packages/b3/b2/7aa2e19522a3e63e881258b6c3e79357409a15d02fb0005d8ba5b1beaf6f/pimpmyclass-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d6362714f2738baaa88e5b62a04ce880", "sha256": "dc19ee93c563682eb0820e06292714f273bcfaf4ef2b2ab1cd05306ee1533e7f" }, "downloads": -1, "filename": "pimpmyclass-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d6362714f2738baaa88e5b62a04ce880", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 13848, "upload_time": "2018-04-05T02:30:53", "url": "https://files.pythonhosted.org/packages/df/70/e88aae11c15dda95d0ffe34510206448b529c98a7bc19f65b0571010783b/pimpmyclass-0.1.3.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "06d293e73fd7904ab03e4e6440ece746", "sha256": "d43caebbee4351a3c27211ef5e10d8899cd6bf2e702671038d37d443ad9ad3eb" }, "downloads": -1, "filename": "pimpmyclass-0.2.tar.gz", "has_sig": false, "md5_digest": "06d293e73fd7904ab03e4e6440ece746", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 16330, "upload_time": "2018-11-27T16:14:11", "url": "https://files.pythonhosted.org/packages/61/3d/90850598b06ee14bbf22dc1816530e7c1a173e7a8e3ae437d49c0a9d94f3/pimpmyclass-0.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "557e34c2208fda91d28273340a704d53", "sha256": "a854feff7e1cfe4a3a8fb3f5c59e0d61e77e5196ed9ae1084cb4502f42566988" }, "downloads": -1, "filename": "pimpmyclass-0.3.tar.gz", "has_sig": false, "md5_digest": "557e34c2208fda91d28273340a704d53", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 17748, "upload_time": "2019-01-16T13:49:02", "url": "https://files.pythonhosted.org/packages/bd/a3/5fe17fa48c92d74ebf2e18481137048400b94cf08b5d7dd4eeee18a6d0d1/pimpmyclass-0.3.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "0324e1a1eadc4adb8cc4e471ad8e40c7", "sha256": "16c8f7c595d39305965d17fc9ff13b821fe81f2e8eafa206f312b5bbf1f15551" }, "downloads": -1, "filename": "pimpmyclass-0.4.tar.gz", "has_sig": false, "md5_digest": "0324e1a1eadc4adb8cc4e471ad8e40c7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22537, "upload_time": "2019-01-19T18:02:08", "url": "https://files.pythonhosted.org/packages/d7/b2/eb04a4df2cc133563a23db77ccf935d621c6a2fe19e8480f7fca457b74f6/pimpmyclass-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "e91fcaf843c1c9af5762ef2772d72c89", "sha256": "9f9ae505c5416cdf512dbae9669074b83a7762c3a5552c4c7c50c665a58f968b" }, "downloads": -1, "filename": "pimpmyclass-0.4.1.tar.gz", "has_sig": false, "md5_digest": "e91fcaf843c1c9af5762ef2772d72c89", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22884, "upload_time": "2019-01-20T01:45:18", "url": "https://files.pythonhosted.org/packages/0f/74/643e711c418f9258dfdd07e28bdefb4d6ab0331506bc7daa03624fc4ef3b/pimpmyclass-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "21d6deddc3ba5c2fa9a86c4284e1b5f5", "sha256": "b17e017f678c8bb344ed6f66d57999dcd065965eb0c4cf5cef70036c3fc8a6f5" }, "downloads": -1, "filename": "pimpmyclass-0.4.2.tar.gz", "has_sig": false, "md5_digest": "21d6deddc3ba5c2fa9a86c4284e1b5f5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 22987, "upload_time": "2019-01-21T03:49:42", "url": "https://files.pythonhosted.org/packages/9b/44/9b6a8f91c1f517b6ea0727f6116a2ba739cd98feae8f8c1c1921f23ba3af/pimpmyclass-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "02b44d72362e8b96d33ce395b8072713", "sha256": "369f2d84270abc30d4cef5bd731221a87a1dcad995dc47d75e607072fbde1a28" }, "downloads": -1, "filename": "pimpmyclass-0.4.3.tar.gz", "has_sig": false, "md5_digest": "02b44d72362e8b96d33ce395b8072713", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 23089, "upload_time": "2019-04-30T15:18:43", "url": "https://files.pythonhosted.org/packages/a4/8e/0e0cb0e1c830924f5bb30c015cfa998773fa56c47a7c45ff6255db90783c/pimpmyclass-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "02b44d72362e8b96d33ce395b8072713", "sha256": "369f2d84270abc30d4cef5bd731221a87a1dcad995dc47d75e607072fbde1a28" }, "downloads": -1, "filename": "pimpmyclass-0.4.3.tar.gz", "has_sig": false, "md5_digest": "02b44d72362e8b96d33ce395b8072713", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 23089, "upload_time": "2019-04-30T15:18:43", "url": "https://files.pythonhosted.org/packages/a4/8e/0e0cb0e1c830924f5bb30c015cfa998773fa56c47a7c45ff6255db90783c/pimpmyclass-0.4.3.tar.gz" } ] }