{ "info": { "author": "Andrew Cooke", "author_email": "andrew@acooke.org", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)", "License :: OSI Approved :: Mozilla Public License 1.1 (MPL 1.1)", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.0", "Programming Language :: Python :: 3.1", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Software Development", "Topic :: Software Development :: Libraries", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: Utilities" ], "description": "Pytyp uses ABCs and function annotations in a consistent, pythonic way that\nsupports declarative APIs - instead of saying how to do something, you have\nthe ability to say what you want.\n\nIt includes:\n\n* A basic set of type specifications for describing collections of data,\n closely integrated into the language::\n\n >>> isinstance([1,2,None,4], Seq(Opt(int)))\n True\n\n* A decorator that type-checks functions::\n\n >>> def str_only(x:str): return 'foo'\n >>> str_only(42)\n Exception raised:\n ...\n TypeError: Type str inconsistent with 42.\n\n* A decorator that allows dynamic dispatch by type. You can combine multiple\n methods under one name, and then select which method is called by the type\n of an argument (normal OO programming uses the type of ``self`` to select\n the method; this is more like Lisp's multimethods).\n\n* Routines for converting between Python classes and JSON or YAML. Instead of\n having to work with ``dict`` and ``list`` you can read JSON directly into\n Python classes. This is included as an example of the declarative API\n possible - you describe the form of the output using type specifications.\n\nThe ideas behind the library are described in more detail in `Algebraic ABCs\n`_.\n\nNote that you must also install `PyYAML\n`_ if you want to encode/decode YAML.\n\nWarning: This package is unused and largely unmaintained. Python went\nin a `different direction`_\nwith types.", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://www.acooke.org/pytyp/", "keywords": "parser", "license": "UNKNOWN", "maintainer": null, "maintainer_email": null, "name": "pytyp", "package_url": "https://pypi.org/project/pytyp/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/pytyp/", "project_urls": { "Download": "UNKNOWN", "Homepage": "http://www.acooke.org/pytyp/" }, "release_url": "https://pypi.org/project/pytyp/2.2.4/", "requires_dist": null, "requires_python": null, "summary": "Pythonic type metadata; declarative JSON and YAML transcoding.", "version": "2.2.4" }, "last_serial": 2091340, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "c75d9b559c307b75a346e78a79cfa8eb", "sha256": "ffc43226261f727b95479501e73f0d1805326ec89131378e3131087275b96691" }, "downloads": -1, "filename": "pytyp-1.0.tar.gz", "has_sig": false, "md5_digest": "c75d9b559c307b75a346e78a79cfa8eb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8496, "upload_time": "2011-04-03T19:35:09", "url": "https://files.pythonhosted.org/packages/b6/93/fe1f54a67447305558a682afec67628112d0530184f58e195b791e4aa712/pytyp-1.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "0c5fb15fac039e5368c0e11915731ca7", "sha256": "4850ecf0b75a39fb8f8851bbdd0f054504a061df7b23f4db63650549e732ef59" }, "downloads": -1, "filename": "pytyp-1.0.zip", "has_sig": false, "md5_digest": "0c5fb15fac039e5368c0e11915731ca7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12602, "upload_time": "2011-04-03T19:35:11", "url": "https://files.pythonhosted.org/packages/e5/5e/e0635259a19f889d87def014691b9d8595a3e8ee93e0502a18945b1483c2/pytyp-1.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "4fc6f183be26e4db00becc53908d7280", "sha256": "7e75fb8ebf358f704b8614d83fcf2d22b0bccc8d6f0ef8ec3ba4bbfd5529680a" }, "downloads": -1, "filename": "pytyp-1.0.1.tar.gz", "has_sig": false, "md5_digest": "4fc6f183be26e4db00becc53908d7280", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8301, "upload_time": "2011-04-03T21:21:11", "url": "https://files.pythonhosted.org/packages/33/bb/8670885d7b7d1bc8e09623ce21fc622dca1275fe846816c90d94b79591d1/pytyp-1.0.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "9db105e28e96b29feaea93ac64bc50dc", "sha256": "2006cf5e935dcd31d8cb64de9ada7070b526c6bae59ac4d504e4d3734b47a3ed" }, "downloads": -1, "filename": "pytyp-1.0.1.zip", "has_sig": false, "md5_digest": "9db105e28e96b29feaea93ac64bc50dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12287, "upload_time": "2011-04-03T21:21:12", "url": "https://files.pythonhosted.org/packages/bb/1b/2b9a631c27a3c184a19a9f7a0595354985435dd23bde8e0c6e963cddc900/pytyp-1.0.1.zip" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "c7dba1f3ac0793b00eff1a3f0e32002f", "sha256": "1e086e8f863fbc11a8d913b74a929524a7cdf614680a32339d0f3a03a03c41df" }, "downloads": -1, "filename": "pytyp-1.0.2.tar.gz", "has_sig": false, "md5_digest": "c7dba1f3ac0793b00eff1a3f0e32002f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8293, "upload_time": "2011-04-03T21:24:01", "url": "https://files.pythonhosted.org/packages/7d/6b/feb38e9c08b2e6b0c3373f2b0c63952cdd3fa2f666b51235ba55fb49d5bb/pytyp-1.0.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "76cb6257d7b45dc0374bc03f96192d88", "sha256": "2a62fcebedf9c01ab3c0575f18ef93dfb73b76e9be891450f885614dc6c0de55" }, "downloads": -1, "filename": "pytyp-1.0.2.zip", "has_sig": false, "md5_digest": "76cb6257d7b45dc0374bc03f96192d88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12276, "upload_time": "2011-04-03T21:24:03", "url": "https://files.pythonhosted.org/packages/49/c7/2f36a0b96606e3512ebaef74284352694f2d7e3e567fedc51b9b93fa1877/pytyp-1.0.2.zip" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "12f2fa498ccf1501fcce783b1226bb1f", "sha256": "1f9e5f0b6e44b6d13ea805e46d62682a02f0cf4590b08775032c6d66a842a00d" }, "downloads": -1, "filename": "pytyp-1.1.tar.gz", "has_sig": false, "md5_digest": "12f2fa498ccf1501fcce783b1226bb1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9104, "upload_time": "2011-04-05T18:36:00", "url": "https://files.pythonhosted.org/packages/fd/07/795027d949a5c4e18857d7b08c220b508f4be3c93dcc83c50ffc0823dade/pytyp-1.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "337b062f09262c99c4c89eef81a2adfa", "sha256": "89e38ec2217021554ee324aff86360107162294683b318e49a83d9f0f7cb34f9" }, "downloads": -1, "filename": "pytyp-1.1.zip", "has_sig": false, "md5_digest": "337b062f09262c99c4c89eef81a2adfa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13618, "upload_time": "2011-04-05T18:36:02", "url": "https://files.pythonhosted.org/packages/e0/7e/d192fe518ffe28e8e3b213d644fe11e0daa365bb69498d677197a2c8416e/pytyp-1.1.zip" } ], "2.0": [ { "comment_text": "", "digests": { "md5": "86c33034a3c11850bacf0ee975a48291", "sha256": "3da72057c7165c1d8c0d3f191783e2bd4be71cf5a61f8a611478ef9230dd8d72" }, "downloads": -1, "filename": "pytyp-2.0.tar.gz", "has_sig": false, "md5_digest": "86c33034a3c11850bacf0ee975a48291", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2863, "upload_time": "2011-05-19T13:50:53", "url": "https://files.pythonhosted.org/packages/0a/13/be64e6287767287860f8c159d3aeb77ed215428173c987e441f24c4c9c5f/pytyp-2.0.tar.gz" }, { "comment_text": "", "digests": { "md5": "65e45948282360028117fedefdf6c294", "sha256": "e099c710a7fef0c6b301f230fa5eb1eed74bfa2746cafd17e01e594d84ffef6c" }, "downloads": -1, "filename": "pytyp-2.0.zip", "has_sig": false, "md5_digest": "65e45948282360028117fedefdf6c294", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5760, "upload_time": "2011-05-19T13:50:54", "url": "https://files.pythonhosted.org/packages/4a/71/4265c6f779b85e4bc3531932c3743ae38c08eafe80cab6581a5b9886a8be/pytyp-2.0.zip" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "313dabf9ea778aaaf68050dfc9aa4a7f", "sha256": "7a4e22691735301ba5f3821dc56b411e90640719d1d84f9aa148832c3a5cadf4" }, "downloads": -1, "filename": "pytyp-2.0.1.tar.gz", "has_sig": false, "md5_digest": "313dabf9ea778aaaf68050dfc9aa4a7f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29287, "upload_time": "2011-06-01T21:44:40", "url": "https://files.pythonhosted.org/packages/5d/0b/7d4774433eb45969079cf57312a5e558cf673719ca3e79b1fc094e3b270c/pytyp-2.0.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "55a0bddeeb41ac56e42f8b6e8ff89244", "sha256": "dde39b5574da3e1472ecb7157c83db734d4bd82d8a88c2902e157eebeb5b74d8" }, "downloads": -1, "filename": "pytyp-2.0.1.zip", "has_sig": false, "md5_digest": "55a0bddeeb41ac56e42f8b6e8ff89244", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53894, "upload_time": "2011-06-01T21:44:42", "url": "https://files.pythonhosted.org/packages/85/ec/dd943e13bbaa165f6a5ca6b313f07a9bf9a929116756af702215fdf53092/pytyp-2.0.1.zip" } ], "2.2": [ { "comment_text": "", "digests": { "md5": "8dab67668e54ff8101dde16c10870784", "sha256": "3b8c23169e2d97e7fb78abde8f64c4b27266c3f10d003da9c9f4abb63cad3931" }, "downloads": -1, "filename": "pytyp-2.2.tar.gz", "has_sig": false, "md5_digest": "8dab67668e54ff8101dde16c10870784", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2920, "upload_time": "2015-05-13T19:10:34", "url": "https://files.pythonhosted.org/packages/b4/8f/7c30ffd5818ab995af09bf75faa2ddb6489cc321a81a865e05301924f211/pytyp-2.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "c7b8e0b08a20f4c29e12d73d2dde3e70", "sha256": "6ecb782146430818291ab4c94e8cf2ca2637a2780af192677530bc259fc4950a" }, "downloads": -1, "filename": "pytyp-2.2.zip", "has_sig": false, "md5_digest": "c7b8e0b08a20f4c29e12d73d2dde3e70", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5774, "upload_time": "2015-05-13T19:10:39", "url": "https://files.pythonhosted.org/packages/f7/06/6941c943782d729f956e2310961a7dffbf9bc780cf02f64c5fd4d19092e7/pytyp-2.2.zip" } ], "2.2.1": [ { "comment_text": "", "digests": { "md5": "f388507ac5199c0ad682bdb5cc5e8402", "sha256": "e4d503d066b5466842f075057c8a60b0c37653a50fc65dfd3fffe9c0765f0504" }, "downloads": -1, "filename": "pytyp-2.2.1.tar.gz", "has_sig": false, "md5_digest": "f388507ac5199c0ad682bdb5cc5e8402", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2988, "upload_time": "2015-05-13T19:14:43", "url": "https://files.pythonhosted.org/packages/f0/35/c4d9db58e2c76546e67c2ab45ed7040d33d2dccf6830115ffa638b00cf45/pytyp-2.2.1.tar.gz" }, { "comment_text": "", "digests": { "md5": "a4931c39852a7abba1efd072825b2c24", "sha256": "6c6d9157ce020d6c62ba4c332429fc2f58b4daad08213ad5e426110e7ccd7dc2" }, "downloads": -1, "filename": "pytyp-2.2.1.zip", "has_sig": false, "md5_digest": "a4931c39852a7abba1efd072825b2c24", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5991, "upload_time": "2015-05-13T19:14:48", "url": "https://files.pythonhosted.org/packages/f9/da/bd0cfed400b74eb8eb2b8b7ac588252098acbabf290c77a3feaae9626d93/pytyp-2.2.1.zip" } ], "2.2.2": [ { "comment_text": "", "digests": { "md5": "a70fd560ae6eac47347fc6fbdfa36dc4", "sha256": "9a7982223aca31abf110a576975160299f99b095aa8af041a3abc2c8a97215fa" }, "downloads": -1, "filename": "pytyp-2.2.2.tar.gz", "has_sig": false, "md5_digest": "a70fd560ae6eac47347fc6fbdfa36dc4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2988, "upload_time": "2015-05-13T19:15:19", "url": "https://files.pythonhosted.org/packages/19/9e/a6f95c5b9d1bdf7e00ec75552d31042eeac300c37e51603c726c8a0a1d9b/pytyp-2.2.2.tar.gz" }, { "comment_text": "", "digests": { "md5": "ad027908b15128ec75c151184d01f599", "sha256": "2ba4e15f0d2c951117e92872019dceb16871b7f1bedc900029b0472799467813" }, "downloads": -1, "filename": "pytyp-2.2.2.zip", "has_sig": false, "md5_digest": "ad027908b15128ec75c151184d01f599", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5985, "upload_time": "2015-05-13T19:15:24", "url": "https://files.pythonhosted.org/packages/94/58/14e8a1faca00945b7537d4de93abac5e70a867838c72b1816c5e0f1c1821/pytyp-2.2.2.zip" } ], "2.2.3": [ { "comment_text": "", "digests": { "md5": "23954cd7e949183f78eb5b2229f935dc", "sha256": "f3fa384cfddeb902be6d9b6d937ee988827b0649acb2c579cf8218114d9acacd" }, "downloads": -1, "filename": "pytyp-2.2.3.tar.gz", "has_sig": false, "md5_digest": "23954cd7e949183f78eb5b2229f935dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3094, "upload_time": "2016-04-29T17:56:42", "url": "https://files.pythonhosted.org/packages/13/9f/466ed61e244f80a028ce5e053bc2535c655f7980450577adbe475c09ad80/pytyp-2.2.3.tar.gz" }, { "comment_text": "", "digests": { "md5": "222e3731fcbc0fc818d3aa7387920563", "sha256": "2dc4af91631c987dcb12076417ff7c22b03280f15fd2979f0f7c4314ab588a3b" }, "downloads": -1, "filename": "pytyp-2.2.3.zip", "has_sig": false, "md5_digest": "222e3731fcbc0fc818d3aa7387920563", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6245, "upload_time": "2016-04-29T17:56:48", "url": "https://files.pythonhosted.org/packages/f7/05/3aac69c43e27e72d84d524977a428af29a5bf9598312caecfa8a2e803e50/pytyp-2.2.3.zip" } ], "2.2.4": [ { "comment_text": "", "digests": { "md5": "b2178ac5b32f8caacef8025d05c07877", "sha256": "a2e26de07b3335bf8d8dfd4ff6e109ce082e3dcdad84910270c3acfcff12f27d" }, "downloads": -1, "filename": "pytyp-2.2.4.tar.gz", "has_sig": false, "md5_digest": "b2178ac5b32f8caacef8025d05c07877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21175, "upload_time": "2016-04-29T17:59:40", "url": "https://files.pythonhosted.org/packages/7b/57/85f74560d5fbe299bbe6cdec40d311c8fd8245a3b9bf1483be6f36a1f478/pytyp-2.2.4.tar.gz" }, { "comment_text": "", "digests": { "md5": "0a18cc7f5bfb591bf92fba028e4358f2", "sha256": "0077c7054f4c7617779fa3cc2e754e10f7156b1f22d4bb55944e069548f83e09" }, "downloads": -1, "filename": "pytyp-2.2.4.zip", "has_sig": false, "md5_digest": "0a18cc7f5bfb591bf92fba028e4358f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32056, "upload_time": "2016-04-29T17:59:49", "url": "https://files.pythonhosted.org/packages/c2/28/81f0833433a2cc4125bf5679daa03b4a0010182109e45c0037429ed6fad6/pytyp-2.2.4.zip" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b2178ac5b32f8caacef8025d05c07877", "sha256": "a2e26de07b3335bf8d8dfd4ff6e109ce082e3dcdad84910270c3acfcff12f27d" }, "downloads": -1, "filename": "pytyp-2.2.4.tar.gz", "has_sig": false, "md5_digest": "b2178ac5b32f8caacef8025d05c07877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21175, "upload_time": "2016-04-29T17:59:40", "url": "https://files.pythonhosted.org/packages/7b/57/85f74560d5fbe299bbe6cdec40d311c8fd8245a3b9bf1483be6f36a1f478/pytyp-2.2.4.tar.gz" }, { "comment_text": "", "digests": { "md5": "0a18cc7f5bfb591bf92fba028e4358f2", "sha256": "0077c7054f4c7617779fa3cc2e754e10f7156b1f22d4bb55944e069548f83e09" }, "downloads": -1, "filename": "pytyp-2.2.4.zip", "has_sig": false, "md5_digest": "0a18cc7f5bfb591bf92fba028e4358f2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 32056, "upload_time": "2016-04-29T17:59:49", "url": "https://files.pythonhosted.org/packages/c2/28/81f0833433a2cc4125bf5679daa03b4a0010182109e45c0037429ed6fad6/pytyp-2.2.4.zip" } ] }