{ "info": { "author": "Jonathan Patrick Giddy", "author_email": "jongiddy@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "Jute is an interface module for Python 3 that verifies both providers and\nreceivers of the interface.\n\nAlthough duck typing is generally considered the Pythonic way of dealing with\nobject compatibility, it assumes that syntactic compatibility implies semantic\ncompatibility. Interfaces provide an explicit way to express semantic\ncompatibility.\n\nMost existing interface modules for Python (e.g. ``abc`` and ``zope.interface``)\ncheck that implementing classes provide all the attributes specified in the\ninterface. But they ignore the other side of the contract, failing to ensure\nthat the receiver of the interface only calls operations specified by the\ninterface.\n\nThe ``jute`` module allows verification of both providers of the interface and\nreceivers of the interface, to ensure that code works with any provider of the\ninterface, not just the provider with which it was tested.\n\nDocumentation is available at http://jute.readthedocs.org/", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/jongiddy/jute/tarball/v0.2.1", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/jongiddy/jute", "keywords": "interface,polymorphism", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "jute", "package_url": "https://pypi.org/project/jute/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/jute/", "project_urls": { "Download": "https://github.com/jongiddy/jute/tarball/v0.2.1", "Homepage": "https://github.com/jongiddy/jute" }, "release_url": "https://pypi.org/project/jute/0.2.1/", "requires_dist": null, "requires_python": null, "summary": "Interface module that verifies both providers and callers", "version": "0.2.1" }, "last_serial": 2207342, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "86e1785277de2096f29f5a6ce1c3467d", "sha256": "719f50ed25829c0c50f360e94128a9b8bc5d5ba73a4c314db7763a27cef2bb26" }, "downloads": -1, "filename": "jute-0.1.1.tar.gz", "has_sig": false, "md5_digest": "86e1785277de2096f29f5a6ce1c3467d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5814, "upload_time": "2015-11-12T08:35:06", "url": "https://files.pythonhosted.org/packages/5b/8e/2e65841189510612c86fa6035793ad9e82035a73d97b4081d5282e3d4ce3/jute-0.1.1.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "20c788a8b01726d095c8d0621a0c002f", "sha256": "0b1e76fe59bea098fb90c9adc046036e107a5746553215fcf1d8d68c3ba1a44a" }, "downloads": -1, "filename": "jute-0.1.4.tar.gz", "has_sig": false, "md5_digest": "20c788a8b01726d095c8d0621a0c002f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5821, "upload_time": "2015-11-20T08:40:57", "url": "https://files.pythonhosted.org/packages/89/d8/7933a5ef0a8f0e7ba613f59cc2f36b681c721542904ebe32f9e3e991715e/jute-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "468176db8c3bc66ca125285ec1911a51", "sha256": "b7426dd9325129ae182aba7ca3985cac69e9db14c9cf78e4d3eb1a1b79eb5b4a" }, "downloads": -1, "filename": "jute-0.1.5.tar.gz", "has_sig": false, "md5_digest": "468176db8c3bc66ca125285ec1911a51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6172, "upload_time": "2015-11-30T17:24:23", "url": "https://files.pythonhosted.org/packages/23/81/10f5b42b8019bf7b7ea784fa10e8e0f02a11727d8210cd1a75be78bb1e68/jute-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "4a7a2273d657fc5af77a3276462fb431", "sha256": "4e39c40e551c899e0cb1a64c3ec736c2439c33365ac64477fae89e9d15a25f89" }, "downloads": -1, "filename": "jute-0.1.6.tar.gz", "has_sig": false, "md5_digest": "4a7a2273d657fc5af77a3276462fb431", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6431, "upload_time": "2015-12-10T18:14:34", "url": "https://files.pythonhosted.org/packages/a2/07/5bf38846158d1861dcd5a417ae11705dff21e6511e854efa60134c9f4f1a/jute-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "57fe8a501d8a3895329c9d83f1ec80ee", "sha256": "cc3d09bfaf924127c6d7050ffa2c374b2c10fe7a3a34525d693af5bbbb6d150d" }, "downloads": -1, "filename": "jute-0.1.7.tar.gz", "has_sig": false, "md5_digest": "57fe8a501d8a3895329c9d83f1ec80ee", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5864, "upload_time": "2015-12-11T08:38:05", "url": "https://files.pythonhosted.org/packages/b6/05/f040d1d67cf4290d520e57d25aa8d6d450fb0a60a7621e3e7df5602814a2/jute-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "ac62a264014e477c8b4a321313e837e4", "sha256": "3599d5f9e80f783d1da733849b4e48ff2f1dbf966a495387a9589c8b8e515019" }, "downloads": -1, "filename": "jute-0.1.8.tar.gz", "has_sig": false, "md5_digest": "ac62a264014e477c8b4a321313e837e4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6614, "upload_time": "2015-12-11T08:48:34", "url": "https://files.pythonhosted.org/packages/86/4c/202d57e13eec9438dd899ed0fbefa931df94abb90f6b0a308c069d3e7f0f/jute-0.1.8.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "aea8d79ae95307ede80e44dc61cace1b", "sha256": "4262c71568dfab7fd827bf123ee65ce94d8f71c0f11c1c2204dd47fc629b4266" }, "downloads": -1, "filename": "jute-0.2.0.tar.gz", "has_sig": false, "md5_digest": "aea8d79ae95307ede80e44dc61cace1b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8509, "upload_time": "2016-07-07T06:17:39", "url": "https://files.pythonhosted.org/packages/be/8f/ccd683e9733d77cfbbced8714010571b63d0b89f96ebd6f2f579dc7cbce7/jute-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "ab732a03109fb2a494980a260812eba4", "sha256": "41fde0c78dd1b018ba92329351ebc9dff0a0145cf501ce4c0b9dd7c39724f9ff" }, "downloads": -1, "filename": "jute-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ab732a03109fb2a494980a260812eba4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8507, "upload_time": "2016-07-07T06:30:34", "url": "https://files.pythonhosted.org/packages/3d/cc/d1a6b1f66b4a544e4b895054b322240a1d5eddba307177b457fb44d38052/jute-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ab732a03109fb2a494980a260812eba4", "sha256": "41fde0c78dd1b018ba92329351ebc9dff0a0145cf501ce4c0b9dd7c39724f9ff" }, "downloads": -1, "filename": "jute-0.2.1.tar.gz", "has_sig": false, "md5_digest": "ab732a03109fb2a494980a260812eba4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8507, "upload_time": "2016-07-07T06:30:34", "url": "https://files.pythonhosted.org/packages/3d/cc/d1a6b1f66b4a544e4b895054b322240a1d5eddba307177b457fb44d38052/jute-0.2.1.tar.gz" } ] }