{ "info": { "author": "Jun Namikawa", "author_email": "jnamika@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: ISC License (ISCL)", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "attrcheck: attribution checker\n\n This module provides a simple attribution checker implemented as a decorator.\n All functionality are provided as keyword arguments of the decorator.\n\n Sample example of usage is following:\n\n >>> from attrcheck import attrcheck\n >>> @attrcheck(x=['real'], y=['index', 'strip'], z=dir(list))\n ... def foo(x, y, z=[]): pass\n\n The code above means the following:\n\n >>> def foo(x, y, z=[]):\n ... if not hasattr(x, 'real'):\n ... raise AttributeError\n ... if not hasattr(y, 'index'):\n ... raise AttributeError\n ... if not hasattr(y, 'strip'):\n ... raise AttributeError\n ... for name in dir(list):\n ... if not hasattr(z, name):\n ... raise AttributeError\n\n In addition, attrcheck can check default argument values.\n Thus, the following code throws AttributeError.\n\n >>> @attrcheck(y=dir(str))\n ... def bar(x, y=[]): pass", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jnamika/attrcheck", "keywords": "argument check hasattr decorator", "license": "ISC License (ISCL)", "maintainer": null, "maintainer_email": null, "name": "attrcheck", "package_url": "https://pypi.org/project/attrcheck/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/attrcheck/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/jnamika/attrcheck" }, "release_url": "https://pypi.org/project/attrcheck/0.1.2/", "requires_dist": null, "requires_python": null, "summary": "A simple attribution checker implemented as a decorator", "version": "0.1.2" }, "last_serial": 786585, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "d9b25f081f5e321f0114a750dcf01d63", "sha256": "91e6c283a64ad59523ee268153a728d4337e8b46e35d065184040ba9f9e6e3bc" }, "downloads": -1, "filename": "attrcheck-0.1-py2.7.egg", "has_sig": false, "md5_digest": "d9b25f081f5e321f0114a750dcf01d63", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5344, "upload_time": "2011-06-24T03:09:25", "url": "https://files.pythonhosted.org/packages/e2/6e/5c7cb8a2b973072d40e7f404d6617291f9d3309ac08e689818768acb85d9/attrcheck-0.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "057070a15d0b4f0e26709bb7bbbf832f", "sha256": "d9efcf627f5401d7e513d27fc79f38c5b702f44b898328c9203b05cfd20cb47d" }, "downloads": -1, "filename": "attrcheck-0.1.tar.gz", "has_sig": false, "md5_digest": "057070a15d0b4f0e26709bb7bbbf832f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2269, "upload_time": "2011-06-24T03:09:27", "url": "https://files.pythonhosted.org/packages/7c/5a/6b17ca66762a758c9da29001ff805ce31fd3fdb470416d868a20bb9e28d3/attrcheck-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "377e36c24e1abede48a22b34fe4bb70d", "sha256": "79eaf6f8cf6717c86493485efdb657c23322b94f3c0a2e721b458e97204adf70" }, "downloads": -1, "filename": "attrcheck-0.1.1-py2.7.egg", "has_sig": false, "md5_digest": "377e36c24e1abede48a22b34fe4bb70d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5580, "upload_time": "2011-06-24T05:09:43", "url": "https://files.pythonhosted.org/packages/0a/5a/33793f78cb21659683ddac2ee38896d754c1ebf474bd3f9bf1a4d698bfe5/attrcheck-0.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f840b7304aea94f255f2834d2e3acbe9", "sha256": "4cb3cc387691af09d44c23ece110a07b3c4a1948a149b95a1afe9c1d20567790" }, "downloads": -1, "filename": "attrcheck-0.1.1.tar.gz", "has_sig": false, "md5_digest": "f840b7304aea94f255f2834d2e3acbe9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2339, "upload_time": "2011-06-24T05:09:44", "url": "https://files.pythonhosted.org/packages/9d/d1/f8375c7f656c0bebde0920ec2d399d53c02f22d51108602a90d3eb22cddf/attrcheck-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "148d4c006e54d1ad6cf8ec43dd853ace", "sha256": "0031c61b6d3996ebcb0d5a000641156508efbf51e6c65da79aeaca4adacf09a9" }, "downloads": -1, "filename": "attrcheck-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "148d4c006e54d1ad6cf8ec43dd853ace", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5805, "upload_time": "2011-10-10T08:40:01", "url": "https://files.pythonhosted.org/packages/ff/18/ab0e75ff85b0cae037ecfb8f82b60a306d5205b6205d3507227f1b2954c1/attrcheck-0.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "5b93a559d2a58839b2c7787d80032056", "sha256": "c9a63ed68b24324973909aaa209e35ffa452c6547d5a036b761fb1960ac31be6" }, "downloads": -1, "filename": "attrcheck-0.1.2-py3.2.egg", "has_sig": false, "md5_digest": "5b93a559d2a58839b2c7787d80032056", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 5797, "upload_time": "2011-10-10T09:09:35", "url": "https://files.pythonhosted.org/packages/f4/53/3cc21083cc56575b37ed050f5a9644a42829391801eac2c81d998958d82c/attrcheck-0.1.2-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "26b660ce2971ea1f3aee8a438e02e2a9", "sha256": "2a18d733ecf7def34fbc3e0066ccdf7b996ed54c5213e19788c73ac0075e72ab" }, "downloads": -1, "filename": "attrcheck-0.1.2.tar.gz", "has_sig": false, "md5_digest": "26b660ce2971ea1f3aee8a438e02e2a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2445, "upload_time": "2011-10-10T08:39:58", "url": "https://files.pythonhosted.org/packages/1b/ef/5a2aecc3573a6029ee6437e0506ac73ba7b94a8dc986b2f15b62977138c7/attrcheck-0.1.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "148d4c006e54d1ad6cf8ec43dd853ace", "sha256": "0031c61b6d3996ebcb0d5a000641156508efbf51e6c65da79aeaca4adacf09a9" }, "downloads": -1, "filename": "attrcheck-0.1.2-py2.7.egg", "has_sig": false, "md5_digest": "148d4c006e54d1ad6cf8ec43dd853ace", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 5805, "upload_time": "2011-10-10T08:40:01", "url": "https://files.pythonhosted.org/packages/ff/18/ab0e75ff85b0cae037ecfb8f82b60a306d5205b6205d3507227f1b2954c1/attrcheck-0.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "5b93a559d2a58839b2c7787d80032056", "sha256": "c9a63ed68b24324973909aaa209e35ffa452c6547d5a036b761fb1960ac31be6" }, "downloads": -1, "filename": "attrcheck-0.1.2-py3.2.egg", "has_sig": false, "md5_digest": "5b93a559d2a58839b2c7787d80032056", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 5797, "upload_time": "2011-10-10T09:09:35", "url": "https://files.pythonhosted.org/packages/f4/53/3cc21083cc56575b37ed050f5a9644a42829391801eac2c81d998958d82c/attrcheck-0.1.2-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "26b660ce2971ea1f3aee8a438e02e2a9", "sha256": "2a18d733ecf7def34fbc3e0066ccdf7b996ed54c5213e19788c73ac0075e72ab" }, "downloads": -1, "filename": "attrcheck-0.1.2.tar.gz", "has_sig": false, "md5_digest": "26b660ce2971ea1f3aee8a438e02e2a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2445, "upload_time": "2011-10-10T08:39:58", "url": "https://files.pythonhosted.org/packages/1b/ef/5a2aecc3573a6029ee6437e0506ac73ba7b94a8dc986b2f15b62977138c7/attrcheck-0.1.2.tar.gz" } ] }