{ "info": { "author": "Kevin L. Mitchell", "author_email": "klmitch@mit.edu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: No Input/Output (Daemon)", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License (GPL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "===================================\nPython Metaclass Construction Tools\n===================================\n\nThis package contains the ``metatools`` module, which provides a\nutility class (``MetaClass``) which metaclasses can extend. It\nprovides three static methods (available only on classes inheriting\nfrom ``MetaClass``; they will not clutter up your actual classes)\nwhich can be used to enhance inheritance.\n\nThe most important of these static methods is the ``iter_bases()``\nmethod. When passed a list of base classes, such as those passed to\nthe ``__new__()`` method, it generates a list of the superclasses in\nproper Python Method Resolution Order. This can be used with the\n``inherit_dict()`` and ``inherit_set()`` static methods.\n\nBoth ``inherit_dict()`` and ``inherit_set()`` have similar interfaces.\nWhen passed a base class, the dictionary for the class being\nconstructed, and the name of an attribute containing the dictionary or\nset which should have inheritance rules applied, they look up the\nattribute in both the base class and in the namespace dictionary, then\nwalk through all entries in the base class's version; if the entry\ndoes not currently exist in the namespace's version of that dictionary\nor set, then it is automatically added. Both routines return a list\nof items added, if the metaclass needs to perform any additional\npost-processing on the entries. The items may also be filtered by\npassing a callable returning ``True`` or ``False`` as the ``inherit``\nparameter to the routines. Additionally, if ``inherit`` is ``False``\nor ``None`` (or any other value that tests as ``False``), then the\nitems are not automatically added to the dictionary or set, but are\nstill provided in the list of returned items.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/klmitch/metatools/", "keywords": null, "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "Metatools", "package_url": "https://pypi.org/project/Metatools/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/Metatools/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://github.com/klmitch/metatools/" }, "release_url": "https://pypi.org/project/Metatools/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Python Metaclass Construction Tools", "version": "0.1.1" }, "last_serial": 784702, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "ed2a1fef8964136d80aba48a2c40910c", "sha256": "4f73482d744e74aa98eb4a7b3649bc557c360ed7cd4b5f46d5ecf13cf2f4a909" }, "downloads": -1, "filename": "Metatools-0.1.tar.gz", "has_sig": false, "md5_digest": "ed2a1fef8964136d80aba48a2c40910c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16664, "upload_time": "2012-02-12T17:55:15", "url": "https://files.pythonhosted.org/packages/fb/5c/41aa56ea03a25cbb359c6dcd199e10743d45247f094d406224cb0067b4e0/Metatools-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "14fda5da15c20aa4ed5672f563fc0552", "sha256": "745dce026c83555eef7cc49ddf3553c21a0a4c9207a1550cd28d51069bad3a4b" }, "downloads": -1, "filename": "Metatools-0.1.1.tar.gz", "has_sig": false, "md5_digest": "14fda5da15c20aa4ed5672f563fc0552", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18169, "upload_time": "2012-10-20T17:34:17", "url": "https://files.pythonhosted.org/packages/dc/d6/2f2317b0381b2b22dd923c8cfd0dbaaf38460406cf4a07a012ba5c7315c7/Metatools-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "14fda5da15c20aa4ed5672f563fc0552", "sha256": "745dce026c83555eef7cc49ddf3553c21a0a4c9207a1550cd28d51069bad3a4b" }, "downloads": -1, "filename": "Metatools-0.1.1.tar.gz", "has_sig": false, "md5_digest": "14fda5da15c20aa4ed5672f563fc0552", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18169, "upload_time": "2012-10-20T17:34:17", "url": "https://files.pythonhosted.org/packages/dc/d6/2f2317b0381b2b22dd923c8cfd0dbaaf38460406cf4a07a012ba5c7315c7/Metatools-0.1.1.tar.gz" } ] }