{ "info": { "author": "Hu Bo", "author_email": "hubo1016@126.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "Programming Language :: Python", "Topic :: Software Development" ], "description": "pychecktype\n===========\n\n.. image:: https://readthedocs.org/projects/pychecktype/badge/?version=latest\n :target: http://pychecktype.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n.. image:: https://img.shields.io/pypi/v/pychecktype.svg\n :target: https://pypi.python.org/pypi/pychecktype\n :alt: PyPI\n\nA type-checker which can process recursive types and data\n\nDocuments: http://pychecktype.readthedocs.io/en/latest/\n\nInstall\n-------\n\n::\n\n pip install pychecktype\n\nBasic Usage\n-----------\n\n.. code:: python\n\n from pychecktype import check_type\n\n check_type({\"abc\": [1,2,3], \"def\": {\"test\": \"abc\"}}, {\"abc\": [int], \"def\": {\"test\": [str]}})\n\n # Returns: {\"abc\": [1,2,3], \"def\": {\"test\": [\"abc\"]}}\n\nHighlight\n---------\n\nThe most intersting thing of this implementation is that it fully\nsupport recursive types and data, for example:\n\n.. code:: python\n\n from pychecktype import check_type\n\n\n my_type = []\n my_type.append((int, my_type))\n\n # my_type accepts: recursive lists with only sub-list and integers with any depth - even infinite\n\n check_type([], my_type) # []\n\n check_type([1,2,3,[1,2],[1,2,[3,4]]], my_type) # [1,2,3,[1,2],[1,2,[3,4]]]\n\n check_type([1,2,3,[1,2],[1,2,[\"3\",4]]], my_type) # failed\n\n my_obj = []\n my_obj.append(my_obj)\n my_obj.append(2)\n check_type(my_obj, my_type) # [[...], 2]\n\nRules\n-----\n\nThis type-checker has some specialized rules suitable for YAML. For\nexample, this type-checker accepts a single value against a list type,\nand convert the value to ``[value]``.\n\nThis type-checker uses a slightly simpler and more readable DSL rules\nthan other libraries like ``typing`` and ``trafaret``, most of them are\nPython builtin objects.\n\nThe ``check_type`` method not only checks that the value is matched with\nthe given type; it returns a *corrected* version of that object.\n\nGenerally:\n\n1. A Python type matches any object in that type (e.g str, int) except:\n\na. ``str`` and ``unicode`` always match both str and unicode objects\n both in Python 2 and Python 3\n\nb. ``int`` and ``long`` always match both int and long objects both in\n Python 2 and Python 3\n\nc. bool objects are never matched with ``int`` or ``long``, they are\n only matched with ``bool`` (though ``bool`` is a subclass of ``int``)\n\nSpecially, ``object`` matches any value including ``None``. A helper\nclass ``NoMatch`` is provided to do not match any instances, it can be\nembedded in other types to create assertions.\n\n2. ``None`` matches ``None`` only (equivalent to ``NoneType``)\n\n3. Tuple as a type:\n\na. ``()`` matches any object *EXCEPT* ``None``\n\nb. A tuple of multiple valid types ``(type1, type2, ...)`` tries to\n match the object with each sub-type from left to right. For example,\n ``(str, int)`` matches a str object or an int object; ``(str, None)``\n matches a str object or None\n\n4. List as a type:\n\na. ``[]`` matches any list, or convert the object to a list contains the\n object\n\nb. ``[type]`` matches a list of items which all match the inner type, or\n convert an object which matches with the inner type to a list\n contains it\n\nc. By default, list types matches both *list* objects and *tuple*\n objects, and convert them to lists. For example, ``[int]`` matches\n ``(1,2,3)`` and returns ``[1,2,3]``. Use ``list_`` factory method to\n create a customized list type which accepts only types that are\n specified. You may also use it to accept more iterable types e.g.\n ``set``\n\nd. By default, list types can convert non-list objects to a list\n contains only that object, e.g. ``1`` to ``[1]``, ``{\"a\":1}`` to\n ``[{\"a\":1}]``. This conversion cannot happen when the object itself\n is a list/tuple, e.g. ``[list]`` cannot match ``[1]``, because it is\n not allowed to be converted to ``[[1]]``.\n\n You may disable the conversion by creating a customized list type\n with ``list_`` factory method with ``strict=True``\n\ne. List types return a shallow copy of the input list.\n\n5. Dist as a type:\n\na. ``{}`` matches any dict\n\nb. When dict contains key-value pairs, they become restricts to the\n input dict:\n\n 1). Keys start with '!' are required keys, and the corresponding\n value is a type. The value of the specified key in the input dict\n must match the specified type in the type dict.\n\n 2). Keys start with '?' are optional keys, they are not needed to\n appear in the input dict, but if they appear they must be matched\n with the value in the type dict.\n\n 3). Keys start with '~' are regular expressions. For all keys in the\n input dict that are matched by the regular expression followed by the\n '~', the corresponding value must match with the specified type.\n Regular expressions only match the keys that are not required or\n optional keys.\n\n 4). Other keys are regarded as required keys (as if they are\n prepended by '!')\n\n 5). Extra keys in the input dict do not affect the match. You may use\n ``'~': NoMatch`` to disable extra keys.\n\n Examples:\n\n ::\n\n `{\"abc\": int}` matches `{\"abc\": 1}` and `{\"abc\": 1, \"d\": 2}` but not `{\"d\": 2}`\n\n `{\"!abc\": int}` matches `{\"abc\": 1}` and `{\"abc\": 1, \"d\": 2}` but not `{\"d\": 2}`\n\n `{\"?abc\": int}` matches `{\"abc\": 1}`, `{\"abc\": 1, \"d\": 2}` and `{\"d\": 1}`, but not `{\"abc\": \"a\"}`\n\n `{\"~a.b\": int}` matches `{\"acb\": 1}` but not `{\"facbg\": \"a\"}` because \"facbg\" is matched by 'a.b'\n\n `{\"~a.b\": int, \"adb\": str}` matches `{\"adb\": \"abc\"}` but not `{\"adb\": 1}`\n\n6. ``tuple_((type1, type2, type3, ...))`` creates a customized type\n (tuple type) which matches any tuple/list that contains exactly the\n same number of items, each matches the corresponding sub type.\n\n7. ``map_(key_type, value_type)`` creates a customized type (map type)\n which matches any dict, in which each key matches the *key\\_type*,\n and each value matches the *value\\_type*\n\n8. ``extra_`` and ``class_`` are advanced customized types, they do\n customized additional checks for the input object e.g. check against\n a regular expression etc.\n\nSee docstring in pychecktype.py for details.\n\nPython 3 Annotation Checks\n--------------------------\n\nYou may use `pychecktype.checked.checked` decorator to check input parameters and return values of a function\n\n.. code:: python\n\n from pychecktype.checked import checked\n @checked\n def f(a: str, b: int)->str:\n \"\"\"\n check `a` is str, `b` is int, and returns str\n \"\"\"\n return a + str(b)\n\n @checked\n def f2(a, b: int):\n \"\"\"\n You may check only part of the parameters.\n \"\"\"\n return str(a) + str(b)\n\n @checked\n async def f3(a: str, *args: [int], **kwargs: {'?join': bool})->str:\n \"\"\"\n Async functions are decorated to async functions\n\n *args , keyword-only arguments and **kwargs can also be checked\n \"\"\"\n if kwargs.get('join'):\n return a.join(str(v) for v in args)\n else:\n return a + str(sum(args))\n\n from functools import wraps\n def testdecorator(f):\n @wraps\n def _f(*args, **kwargs):\n print(\"Wrapped\")\n return f(*args, **kwargs)\n\n @checked\n @testdecorator\n def f4(a: int):\n \"\"\"\n Works well with decorators that are correctly using `functools.wraps`\n and not modifying the argument list\n \"\"\"\n return a + 1\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/hubo1016/pychecktype", "keywords": "", "license": "Apache", "maintainer": "", "maintainer_email": "", "name": "pychecktype", "package_url": "https://pypi.org/project/pychecktype/", "platform": "any", "project_url": "https://pypi.org/project/pychecktype/", "project_urls": { "Homepage": "https://github.com/hubo1016/pychecktype" }, "release_url": "https://pypi.org/project/pychecktype/1.4.1/", "requires_dist": null, "requires_python": "", "summary": "asyncio wrapper for grpc.io", "version": "1.4.1" }, "last_serial": 4711037, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "5fe8f20c6066671b610451991a08ef27", "sha256": "478f091724b129aa434839a32516bb4aae8a0628a5eb8c0299c4fe744552c8b0" }, "downloads": -1, "filename": "pychecktype-1.0-py2.7.egg", "has_sig": false, "md5_digest": "5fe8f20c6066671b610451991a08ef27", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22416, "upload_time": "2017-08-21T10:55:24", "url": "https://files.pythonhosted.org/packages/05/a4/e4e72b1b8ae13b51b6d5babcb864014dfc80086bac681fa868e185042242/pychecktype-1.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "37888e09d1a8af2d8944e9203beed50c", "sha256": "e110c70c6cf9a7a8d3cc6151482353cfdb39974bb01b57d1398eeabde8f34982" }, "downloads": -1, "filename": "pychecktype-1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "37888e09d1a8af2d8944e9203beed50c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14930, "upload_time": "2017-08-21T10:55:21", "url": "https://files.pythonhosted.org/packages/d0/e6/08089112179ae35b94d6d41398d8a8843a0eeec223fded172bb6e9ba5ed6/pychecktype-1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a4a004fc9ccb03142869277cc6d25832", "sha256": "7ecb30dc87e7ac1cc2a8f1262c358da20edf8123951b8e1fcad7baee6f241703" }, "downloads": -1, "filename": "pychecktype-1.0-py3.3.egg", "has_sig": false, "md5_digest": "a4a004fc9ccb03142869277cc6d25832", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 22883, "upload_time": "2017-08-21T10:55:25", "url": "https://files.pythonhosted.org/packages/c9/b6/8837e60abeef1e87c6fcec324b694458695fb156962fa008b4fda4c5cbc1/pychecktype-1.0-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "46d10f997ce41a0e39df4a4a4165dd8a", "sha256": "68f2603ce6721eb7e5d26ce858cebcdd05f1c2243f3aa80051b295d4b16a407d" }, "downloads": -1, "filename": "pychecktype-1.0-py3.4.egg", "has_sig": false, "md5_digest": "46d10f997ce41a0e39df4a4a4165dd8a", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 22652, "upload_time": "2017-08-21T10:55:27", "url": "https://files.pythonhosted.org/packages/ec/c1/2bfff7b389e407993ef7cf80b9ab812728e6aba8e8820fb980e8c1ab979d/pychecktype-1.0-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "35a9dcb71a6db4c4d699ad83e13b4f38", "sha256": "7369ca7f5a0357e34340f94a44ed71d9db1c5a1cfa1e32ca34c2e5e4d20674b1" }, "downloads": -1, "filename": "pychecktype-1.0-py3.5.egg", "has_sig": false, "md5_digest": "35a9dcb71a6db4c4d699ad83e13b4f38", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 22607, "upload_time": "2017-08-21T10:55:28", "url": "https://files.pythonhosted.org/packages/2b/d2/629e3960bc167dec823df93a68d11ced18921454c0c6b62c02ea2c20700d/pychecktype-1.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "acd985c2a098e9523fdc9dc0d6603d9a", "sha256": "b8a902574877df3d03fdcbe77bd456880cec9c671ecc64cce41af10f8d1d95ec" }, "downloads": -1, "filename": "pychecktype-1.0-py3.6.egg", "has_sig": false, "md5_digest": "acd985c2a098e9523fdc9dc0d6603d9a", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 22457, "upload_time": "2017-08-21T10:55:30", "url": "https://files.pythonhosted.org/packages/ea/1c/386588bfeb123e8e1221a19469e83d84fd310d27b9408def843a888572f7/pychecktype-1.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "0294c38b47723e07f19981e68ed1ab49", "sha256": "abe98765d61e220c890a47b048aad492f0538e7f2f6e24cb14d83aa33f6316e6" }, "downloads": -1, "filename": "pychecktype-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "0294c38b47723e07f19981e68ed1ab49", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14929, "upload_time": "2017-08-21T10:55:23", "url": "https://files.pythonhosted.org/packages/0c/89/fc2d9eda2f8ad5b120a2d95578d7c8940c9af62744e5070544e5180c6e0c/pychecktype-1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "00867c31e7165240f0a40ffa133ac64d", "sha256": "de622b2e87e25220aa541eb3273285d92df3f29bbfdd64b568648a3b825de01b" }, "downloads": -1, "filename": "pychecktype-1.0.tar.gz", "has_sig": false, "md5_digest": "00867c31e7165240f0a40ffa133ac64d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11977, "upload_time": "2017-08-21T10:55:32", "url": "https://files.pythonhosted.org/packages/c5/36/3f8ba0addc4fff2aae2caa7c407279e8168e7bca7ea1a8429911eb32faa7/pychecktype-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "60ede9aa6c1fb134a4234f5155171b89", "sha256": "ab4d19979b7cdf91f303b1be67662081bbd30cb432168b9ee2f546eedc4da437" }, "downloads": -1, "filename": "pychecktype-1.1-py2.7.egg", "has_sig": false, "md5_digest": "60ede9aa6c1fb134a4234f5155171b89", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 26522, "upload_time": "2017-08-25T08:00:53", "url": "https://files.pythonhosted.org/packages/74/cd/8268484df516b58442fb4044a6f12be56285a0ce326755f398f44de9add8/pychecktype-1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "57a5243b809126f5e6b7b21850f45463", "sha256": "f8d6e39562b376ccd5fd2c69d386e7eb36086ba5cb302fae00d15cc89d33b971" }, "downloads": -1, "filename": "pychecktype-1.1-py2-none-any.whl", "has_sig": false, "md5_digest": "57a5243b809126f5e6b7b21850f45463", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 17666, "upload_time": "2017-08-25T08:00:49", "url": "https://files.pythonhosted.org/packages/e5/c0/81e89db7ebfa5e61e8d4dbac3ec3f6c13c4a7ca92b70b5578e25b51dda83/pychecktype-1.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c9908647c9f94d8e932551b1ec4f6ac1", "sha256": "06333a2491dc2068ff67ce2e3f0821adde0301b02afba817f11df80b7dace0c9" }, "downloads": -1, "filename": "pychecktype-1.1-py3.3.egg", "has_sig": false, "md5_digest": "c9908647c9f94d8e932551b1ec4f6ac1", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 27115, "upload_time": "2017-08-25T08:00:55", "url": "https://files.pythonhosted.org/packages/93/5a/ba48a94d4882eff2a369f4830d087d64f18de403c8d86cd003955e33ec7f/pychecktype-1.1-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "beb0cd2b94b55eb59c55c380432258c5", "sha256": "013c304302707d8b0bbecf632a3c315bf0a5ae025e53e210afcfa5fb5f78bc10" }, "downloads": -1, "filename": "pychecktype-1.1-py3.4.egg", "has_sig": false, "md5_digest": "beb0cd2b94b55eb59c55c380432258c5", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 26859, "upload_time": "2017-08-25T08:00:57", "url": "https://files.pythonhosted.org/packages/dc/08/bac137abfeb0d7ffbe26a7cc2144a233376a96a5c8ccb3b9e97fbc95a46e/pychecktype-1.1-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "c22cc6af9148a6fdc4d3028f8f21e599", "sha256": "9570ee08fcda98f649cc0e9636b2c3cf1af18cfcc24ae36e15d343a3bc3f9c27" }, "downloads": -1, "filename": "pychecktype-1.1-py3.5.egg", "has_sig": false, "md5_digest": "c22cc6af9148a6fdc4d3028f8f21e599", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 27711, "upload_time": "2017-08-25T08:00:59", "url": "https://files.pythonhosted.org/packages/b0/7a/fc91390c797a3df56b7340bc3e43bb53655b84da2908901d3f2eb268a4b2/pychecktype-1.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "c52f6921b94d96261dc589f84846bcb9", "sha256": "e25f2949f9bb87559f853a541de3f8e281daab28ef92fbb2c7a1675356127464" }, "downloads": -1, "filename": "pychecktype-1.1-py3.6.egg", "has_sig": false, "md5_digest": "c52f6921b94d96261dc589f84846bcb9", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 27485, "upload_time": "2017-08-25T08:01:01", "url": "https://files.pythonhosted.org/packages/c9/59/0b44fb86788a1294f33a8090832a5c6badb83d704e72cda8627f7ead388d/pychecktype-1.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "6369dd1f7b9b0ca9757679e1321074f1", "sha256": "f534c48b817ed8a49e2cd5d3fda0b88ceb7e519a4e6410c41e30a5e6c97b5fe0" }, "downloads": -1, "filename": "pychecktype-1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "6369dd1f7b9b0ca9757679e1321074f1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17666, "upload_time": "2017-08-25T08:00:51", "url": "https://files.pythonhosted.org/packages/78/c7/bdf57345ca1bc22108e6609955f5682d681527d74ed920118984202d8b7a/pychecktype-1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4bd50bfe619d761edfb3049a5a72fefc", "sha256": "cc3c8275219c15b9b7efa84bcf9596a4ef5e2b95edede0a1488362c0f96ed818" }, "downloads": -1, "filename": "pychecktype-1.1.tar.gz", "has_sig": false, "md5_digest": "4bd50bfe619d761edfb3049a5a72fefc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13598, "upload_time": "2017-08-25T08:01:02", "url": "https://files.pythonhosted.org/packages/0f/9f/5ae91fd1006a442487e21e317ffc23c5b09da08eef7611a489c879d32f5c/pychecktype-1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "fd3838b49a83cc39df806d52ac1f0bed", "sha256": "6d709d407f90da2e52f4a4f4e53c76080241a51ca54863d3fe4dd16b974617d7" }, "downloads": -1, "filename": "pychecktype-1.2.0-py2.7.egg", "has_sig": false, "md5_digest": "fd3838b49a83cc39df806d52ac1f0bed", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 27683, "upload_time": "2017-12-01T03:41:07", "url": "https://files.pythonhosted.org/packages/66/e8/add41913708bcfd3e118fd5d7da007c7dd49e1cdad0f1747025250e97e60/pychecktype-1.2.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "3dbb3b474c4442b8f51f02ffc0d0d565", "sha256": "f817a37c548bc0a8d6bb53de60fa463440a52b1cbc6cc0190dc96b8e47986e66" }, "downloads": -1, "filename": "pychecktype-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "3dbb3b474c4442b8f51f02ffc0d0d565", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 18197, "upload_time": "2017-12-01T03:41:02", "url": "https://files.pythonhosted.org/packages/79/81/95ee84810ee7798e04c868b3e271ced1de37c52bd6dd3a5e43410c90584e/pychecktype-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b907fd4d3645a6d677f76ee30fc6930", "sha256": "3989026296514582553b08babad88dad2ef8744eb8f256e195485faba0ac3626" }, "downloads": -1, "filename": "pychecktype-1.2.0-py3.3.egg", "has_sig": false, "md5_digest": "5b907fd4d3645a6d677f76ee30fc6930", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 28367, "upload_time": "2017-12-01T03:41:09", "url": "https://files.pythonhosted.org/packages/94/0f/9ff6166035d4d81893fa24909156e558653a0c17f08dbdaf97b5ce0e189d/pychecktype-1.2.0-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "21bcbe4e52f84c931b3926042e20bc0b", "sha256": "366235cbfd870518f8c1c037e4900f385b77eff5c174b4afe61dde373c2f205e" }, "downloads": -1, "filename": "pychecktype-1.2.0-py3.4.egg", "has_sig": false, "md5_digest": "21bcbe4e52f84c931b3926042e20bc0b", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 28076, "upload_time": "2017-12-01T03:41:11", "url": "https://files.pythonhosted.org/packages/0c/05/2528077f94ce4450b02336b27c4a3e1bd55705fc307e7b52d6a7101ae692/pychecktype-1.2.0-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "eb440f8984e8fb61d0d09ebd69c39168", "sha256": "50047539c7fc1bd4f8bb482601062ad15abdbe46c7a574fce421f4465ad5f4a0" }, "downloads": -1, "filename": "pychecktype-1.2.0-py3.5.egg", "has_sig": false, "md5_digest": "eb440f8984e8fb61d0d09ebd69c39168", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 28931, "upload_time": "2017-12-01T03:41:13", "url": "https://files.pythonhosted.org/packages/6c/57/5361c71a3b94fa5621be18795b883107770b38a49c7c798162a3eec1b171/pychecktype-1.2.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "84018b20b056a38db95ed782f998715d", "sha256": "32c0ae87392361a840e2ae5f217af5415c66334eb4f2a11b7f36c391c3b9a7e4" }, "downloads": -1, "filename": "pychecktype-1.2.0-py3.6.egg", "has_sig": false, "md5_digest": "84018b20b056a38db95ed782f998715d", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 28697, "upload_time": "2017-12-01T03:41:15", "url": "https://files.pythonhosted.org/packages/10/de/2074a0e796c2209f5f6a7bae9b34f37e7270634e9619b11e8686801882dc/pychecktype-1.2.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "9fe7c22d9f4c71cc25464c1879766ad1", "sha256": "f5487b4b36bf32ac8861dfe286c048edcb654e1bcae44721d766717f2b9692d8" }, "downloads": -1, "filename": "pychecktype-1.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "9fe7c22d9f4c71cc25464c1879766ad1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18198, "upload_time": "2017-12-01T03:41:05", "url": "https://files.pythonhosted.org/packages/97/86/9561963093dc45e9aad1f5fbf5c0f7083cb860c01849e5f62a4c0b6cb393/pychecktype-1.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3577d407de30c7db81c92bdff7d6981b", "sha256": "4601584aef479fff5541e2b120aae9b40a53b14857269eaf1a4bee0e1b3e6175" }, "downloads": -1, "filename": "pychecktype-1.2.0.tar.gz", "has_sig": false, "md5_digest": "3577d407de30c7db81c92bdff7d6981b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14052, "upload_time": "2017-12-01T03:41:18", "url": "https://files.pythonhosted.org/packages/c0/84/c74ba3d5683e2ba6d5f2d888c27aa6cfd2cb7924f848120b0d41ebc549ed/pychecktype-1.2.0.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "b28e6a276afa40dc21040144339d92c3", "sha256": "2458c08be06a5fdcc3c6dd1e898c6c2b13d607e78d93b6810ac035fcce81fbea" }, "downloads": -1, "filename": "pychecktype-1.3.0-py2.7.egg", "has_sig": false, "md5_digest": "b28e6a276afa40dc21040144339d92c3", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 29234, "upload_time": "2018-04-02T15:29:41", "url": "https://files.pythonhosted.org/packages/cd/b6/193a8fb5de970ba7086b9f5eb9342a544ad330ad97458b3e24c54cab2a34/pychecktype-1.3.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "c2563d1f2ac4de1713ad2247020930e6", "sha256": "3ab5773c82ebe33f850dfaa21915cd0b5b339c3482361f906f8f6dd1e7384730" }, "downloads": -1, "filename": "pychecktype-1.3.0-py2-none-any.whl", "has_sig": false, "md5_digest": "c2563d1f2ac4de1713ad2247020930e6", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 18666, "upload_time": "2018-04-02T15:29:38", "url": "https://files.pythonhosted.org/packages/24/35/f7ec1b7b7e9c3f2f5804ee9672be59bbedf9f3395e57875bb2f4fb4ae967/pychecktype-1.3.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "010d9128061dc7b728d4aa004bf63715", "sha256": "4ee19fb49d258e55c5495d198bb4c72bd83689bf130bec446ffd99f4d925951d" }, "downloads": -1, "filename": "pychecktype-1.3.0-py3.3.egg", "has_sig": false, "md5_digest": "010d9128061dc7b728d4aa004bf63715", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 30026, "upload_time": "2018-04-02T15:29:42", "url": "https://files.pythonhosted.org/packages/65/c3/6d28fe2cb0b750a442752f96e377ef965ba1bccfda57abe738164d29a4cd/pychecktype-1.3.0-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "b339e4bd8b71a8b3a7847550f7a2ae4d", "sha256": "b8a7758cd64128e8962eee64d17edc93b225b1ae27bcf9d632c721848ce53a3e" }, "downloads": -1, "filename": "pychecktype-1.3.0-py3.4.egg", "has_sig": false, "md5_digest": "b339e4bd8b71a8b3a7847550f7a2ae4d", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 29693, "upload_time": "2018-04-02T15:29:43", "url": "https://files.pythonhosted.org/packages/b1/23/8aaa885867c86eaff07f59d154f88b49ac4d9b958436ed852ebbc7e9f106/pychecktype-1.3.0-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "5123a6239a091a286259e421df5510e1", "sha256": "3f0b4523c3b58b83a6ed85bdd086d094e5c8adc7f36e4dcc0ed759e7269b2c94" }, "downloads": -1, "filename": "pychecktype-1.3.0-py3.5.egg", "has_sig": false, "md5_digest": "5123a6239a091a286259e421df5510e1", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 30548, "upload_time": "2018-04-02T15:29:44", "url": "https://files.pythonhosted.org/packages/5e/75/4cca6fed916c5845f9391c5ef4cb51561cb0c6e705a5ac5d38be6759953a/pychecktype-1.3.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "f6d5fc298529396aed544cc99a5dccee", "sha256": "a504ddaaa47415e0bb44b737805ca014727476bdc6d61cd144535e6a7f21cbbf" }, "downloads": -1, "filename": "pychecktype-1.3.0-py3.6.egg", "has_sig": false, "md5_digest": "f6d5fc298529396aed544cc99a5dccee", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 30247, "upload_time": "2018-04-02T15:29:47", "url": "https://files.pythonhosted.org/packages/32/42/a480418e27cf196141f184ac4c7b93429bb3288ea9f58296737915b02bca/pychecktype-1.3.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "a30039bb09bed95c8e74d06bfb35ea2e", "sha256": "88d9e0918f330b8db5e6bc27a855cd45806b00aadbdb15eec3600fa17d629c7d" }, "downloads": -1, "filename": "pychecktype-1.3.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a30039bb09bed95c8e74d06bfb35ea2e", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18667, "upload_time": "2018-04-02T15:29:40", "url": "https://files.pythonhosted.org/packages/d3/fc/f002a2f9f2f01540f0263523aed67b05e17500a1297772e37fafc04dc81c/pychecktype-1.3.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "47c0d251ee74aae27106e929f52b6246", "sha256": "1bc264f60e1c238862d34eab9ec883b5d58d882fb688c031bf14f0cedd743794" }, "downloads": -1, "filename": "pychecktype-1.3.0.tar.gz", "has_sig": false, "md5_digest": "47c0d251ee74aae27106e929f52b6246", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14578, "upload_time": "2018-04-02T15:29:48", "url": "https://files.pythonhosted.org/packages/a3/c7/e236029fc1b30ee0fc2a8383adc0b3def52f4f1b78c12bb28d78d2f308b7/pychecktype-1.3.0.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "e016ee9f5ad2d885f881babec68cfad9", "sha256": "7b7493b82f2a8a49dfe85d33d2723477f664cc11fcf404681d3aba95c66accff" }, "downloads": -1, "filename": "pychecktype-1.4.0-py2.7.egg", "has_sig": false, "md5_digest": "e016ee9f5ad2d885f881babec68cfad9", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 31166, "upload_time": "2018-06-22T09:26:44", "url": "https://files.pythonhosted.org/packages/01/51/bd19013c35843ecd479664f07f8cfdf65538d6d60d3ef344f0aa67b3592a/pychecktype-1.4.0-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "a8c8baba183c515c567784d553a4f0ce", "sha256": "fa4f80c86af87ba696a7d1388308f4533c02b3436eb31b7afcd325a52c0a163c" }, "downloads": -1, "filename": "pychecktype-1.4.0-py2-none-any.whl", "has_sig": false, "md5_digest": "a8c8baba183c515c567784d553a4f0ce", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 15947, "upload_time": "2018-06-22T09:26:41", "url": "https://files.pythonhosted.org/packages/30/fd/85fe7c9517a14eb0354a1700894fa84bb11e73ddbab64863d944aec4b228/pychecktype-1.4.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "dde87fd8c0b58a4061d01296c92c9f66", "sha256": "8fdaa9d85c4ac05510424b142b97b432e70da648b86f3a16f3d97a85e6464996" }, "downloads": -1, "filename": "pychecktype-1.4.0-py3.3.egg", "has_sig": false, "md5_digest": "dde87fd8c0b58a4061d01296c92c9f66", "packagetype": "bdist_egg", "python_version": "3.3", "requires_python": null, "size": 32111, "upload_time": "2018-06-22T09:26:46", "url": "https://files.pythonhosted.org/packages/ee/c4/334ad5606ea2f0bc0076241a7d650bf0b4fdeee390e14caa8d80cb0e05ce/pychecktype-1.4.0-py3.3.egg" }, { "comment_text": "", "digests": { "md5": "e5aa24dd3c9ddcdfee3346695b5bda11", "sha256": "b6e6af967f4332ae9b89c93090a52b592c0f5d6f214b60e2c864a2959fb7899f" }, "downloads": -1, "filename": "pychecktype-1.4.0-py3.4.egg", "has_sig": false, "md5_digest": "e5aa24dd3c9ddcdfee3346695b5bda11", "packagetype": "bdist_egg", "python_version": "3.4", "requires_python": null, "size": 31682, "upload_time": "2018-06-22T09:26:47", "url": "https://files.pythonhosted.org/packages/8a/06/c3754a958fdc105dd1099a0bd7105bf15d726c1c38b6945d44d56e2a5122/pychecktype-1.4.0-py3.4.egg" }, { "comment_text": "", "digests": { "md5": "9464f319d888b81479a7c5afc2550c6e", "sha256": "6d94fa596229f0feee85dbd59ae590bb678461a6849395d69259ed5e47bf5cea" }, "downloads": -1, "filename": "pychecktype-1.4.0-py3.5.egg", "has_sig": false, "md5_digest": "9464f319d888b81479a7c5afc2550c6e", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 32569, "upload_time": "2018-06-22T09:26:49", "url": "https://files.pythonhosted.org/packages/d8/70/97387294168baaa7de903f058305ae459a55d5ef4a6035728840c41b22e2/pychecktype-1.4.0-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "858e2ae4fb47635f11e5eb53a7708f10", "sha256": "57383fd491e0556f68ebf01c4f19c8ee96a86fa1ffbce02cc844a3dd9f3a394f" }, "downloads": -1, "filename": "pychecktype-1.4.0-py3.6.egg", "has_sig": false, "md5_digest": "858e2ae4fb47635f11e5eb53a7708f10", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": null, "size": 32182, "upload_time": "2018-06-22T09:26:50", "url": "https://files.pythonhosted.org/packages/f2/fe/d3d71e474591bc181eb481325ee0e25a2553d5c57077d25602d031016687/pychecktype-1.4.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "240ad25c5b891f9cb9d4e2afa4ed4afc", "sha256": "fe56bd81a9b866a42d63b7b01a0f3df56bb5319783322c8fe559587d970f6106" }, "downloads": -1, "filename": "pychecktype-1.4.0-py3-none-any.whl", "has_sig": false, "md5_digest": "240ad25c5b891f9cb9d4e2afa4ed4afc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15946, "upload_time": "2018-06-22T09:26:42", "url": "https://files.pythonhosted.org/packages/7f/84/b9366c0bf7dd415e2ee34be5c364b316616b32ed930b3ac5b1790ed3e762/pychecktype-1.4.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "30e986c49e0fccd6e0f27d08098af6c2", "sha256": "921c5c135ac927f165a639114c8e22f97be237841ae2bc88c180ad7d54c5a84e" }, "downloads": -1, "filename": "pychecktype-1.4.0.tar.gz", "has_sig": false, "md5_digest": "30e986c49e0fccd6e0f27d08098af6c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 15286, "upload_time": "2018-06-22T09:26:52", "url": "https://files.pythonhosted.org/packages/25/38/b52d7f8e454c65b3bb12edfefdd1c360579144469c7882bd3649ff617ce8/pychecktype-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "0d4fab1c3c6c84b29c639247498eb437", "sha256": "088a9fe69ce45978d5c6426372439e2b4ac9bd3e03efab93ba368682102e1639" }, "downloads": -1, "filename": "pychecktype-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0d4fab1c3c6c84b29c639247498eb437", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20477, "upload_time": "2019-01-18T06:45:34", "url": "https://files.pythonhosted.org/packages/68/5c/add6471f7a079d8ed3fb9531e32b2365a34b42f00f0e01e7903bf7ac1140/pychecktype-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9326bc95c43ffc42d74757da0450efd2", "sha256": "3010d1f9951db1f8d6c39ac5907d7b6142174af3f467d659715252aa703157e4" }, "downloads": -1, "filename": "pychecktype-1.4.1.tar.gz", "has_sig": false, "md5_digest": "9326bc95c43ffc42d74757da0450efd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18382, "upload_time": "2019-01-18T06:45:36", "url": "https://files.pythonhosted.org/packages/b1/b4/b280d07a67a79ce9636c032b1d9aee1701139b0b8e77cf1b4fc3148c8f48/pychecktype-1.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "0d4fab1c3c6c84b29c639247498eb437", "sha256": "088a9fe69ce45978d5c6426372439e2b4ac9bd3e03efab93ba368682102e1639" }, "downloads": -1, "filename": "pychecktype-1.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "0d4fab1c3c6c84b29c639247498eb437", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 20477, "upload_time": "2019-01-18T06:45:34", "url": "https://files.pythonhosted.org/packages/68/5c/add6471f7a079d8ed3fb9531e32b2365a34b42f00f0e01e7903bf7ac1140/pychecktype-1.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9326bc95c43ffc42d74757da0450efd2", "sha256": "3010d1f9951db1f8d6c39ac5907d7b6142174af3f467d659715252aa703157e4" }, "downloads": -1, "filename": "pychecktype-1.4.1.tar.gz", "has_sig": false, "md5_digest": "9326bc95c43ffc42d74757da0450efd2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18382, "upload_time": "2019-01-18T06:45:36", "url": "https://files.pythonhosted.org/packages/b1/b4/b280d07a67a79ce9636c032b1d9aee1701139b0b8e77cf1b4fc3148c8f48/pychecktype-1.4.1.tar.gz" } ] }