{ "info": { "author": "Andrey Gubarev", "author_email": "mylokin@me.com", "bugtrack_url": null, "classifiers": [], "description": "Schematec\n=========\n\n.. image:: https://travis-ci.org/mylokin/redisext.svg?branch=master\n :target: https://travis-ci.org/mylokin/redisext\n\nSchematec is a set of tools that makes input data validation easier.\nThe purpose of this code is attempt to bring simplicity to applications\nlogics using separation of data validation and actual data processing.\n\nQuickstart\n----------\n\n.. code:: python\n\n import schematec as s\n\n schema = s.dictionary(\n id=s.integer & s.required,\n name=s.string,\n tags=s.array(s.string),\n )\n\n.. code:: python\n\n >>> data = {\n ... 'id': '1',\n ... 'name': 'Red Hot Chili Peppers',\n ... 'tags': ['funk', 'rock'],\n ... 'rank': '1',\n ... }\n >>> schema(data)\n {'id': 1, 'name': u'Red Hot Chili Peppers', 'tags': [u'funk', u'rock']}\n\n\nConcepts\n--------\n\nSchematec module is based on three basic concepts:\n\n* Schema\n* Validator\n* Converter\n\nSchema\n^^^^^^\n\nTerm \"schema\" is used to describe complex data struct such as dictionary(hashmap)\nor array(list). Schemas has two different types of validation (it is not related to\narray schemas):\n\n* Default - Only values with required validator are required, other values are optional\n* Weak - All values are optional\n\n`schematec.exc.SchemaError` is raised in case provided data is incorrect.\n\nOrder of schema validations:\n\n#. Unbound Validators\n#. Schemas(inner)\n#. Converters\n#. Bound Validators\n\nValidator\n^^^^^^^^^\n\nTerm \"validator\" describes callable objects that perform different types of checks.\nThere are two types of validators in schematec:\n\n* Bound - type related, for example \"max length\" validator is bound to sized type.\n* Unbound - universal, for example \"required\" validator.\n\nRaises `schematec.exc.ValidationError`.\n\nSchematec provides following validators:\n\nrequired\n check if value is provided\n\nlength\n check iterable for max length\n\nregex\n check if given value is valid\n\nConverter\n^^^^^^^^^\n\nTerm \"converter\" is used to describe cast functions. Schematec supports subset of JSON\ndata types.\n\nBasic types:\n\n- integer(int)\n- string(str)\n- boolean(bool)\n\nContainers:\n\n- array(list)\n- dictionary(dict)\n\nRaises `schematec.exc.ConvertationError`.\n\nConvertation rules\n=================\n\ninteger\n-------\n\n#. Any int or long value\n#. Any suitable string/unicode\n#. Boolean value\n\nnumber\n-------\n\n#. Any float or int or long value\n#. Any suitable string/unicode\n#. Boolean value\n\nstring\n------\n\n#. Any suitable string/unicode\n#. Any int or long value\n\nboolean\n-------\n\n#. Boolean value\n#. 0 or 1\n#. '0' or '1'\n#. u'0' or u'1'\n\ndictionary\n----------\n\n#. Any mapping value(collections.Mapping)\n\narray\n-----\n\n#. Any iterable value(collections.Iterable), but not a mapping\n\nComplex Descriptors\n===================\n\n\"Schema\", \"validator\" and \"converter\" are internally referenced as \"descriptors\". Common task is\ncreation of complex validation rules for a field(or \"complex descriptors\"). To do this use bitwise\n\"and\" operator on descriptors:\n\n.. code:: python\n\n >>> import schematec\n >>> schematec.integer & schematec.required\n \n\nSugar Schema\n============\n\nSchematec supports additional \"magic\" way to define your schemas. You can use simple dicts and lists\nto describe your data. For example:\n\n.. code:: python\n\n >>> import schematec as s\n >>> schema = {\n ... 'a': [{\n ... 'b': s.integer,\n ... }]\n ... }\n >>> data = {\n ... 'a': [{'b': 1}, {'b': '1'}, {}]\n ... }\n >>> s.process(schema, data)\n {'a': [{'b': 1}, {'b': 1}, {}]}\n\nExamples\n========\n\nRecursive schema\n----------------\n\n.. code:: python\n\n import schematec as s\n\n schema = s.dictionary(\n id=s.integer & s.required,\n entity=s.dictionary(\n name=s.string & s.required,\n value=s.string,\n )\n )\n\n.. code:: python\n\n >>> data = {\n ... 'id': 1,\n ... 'entity': {\n ... 'name': 'song',\n ... 'value': 'californication',\n ... }\n ... }\n >>> schema(data)\n {'id': 1, 'entity': {'name': u'song', 'value': u'californication'}}\n\n\nErrors handling\n---------------\n\n.. code:: python\n\n import schematec as s\n\n schema = s.dictionary(\n id=s.integer & s.required,\n entity=s.dictionary(\n name=s.string & s.required,\n value=s.string,\n )\n )\n\n.. code:: python\n\n >>> data = {\n ... 'id': 1,\n ... 'entity': {\n ... 'value': 'californication',\n ... }\n ... }\n >>> schema(data)\n Traceback (most recent call last):\n File \"\", line 1, in \n File \"schematec/schema.py\", line 44, in __call__\n value = schema(value, weak=weak)\n File \"schematec/schema.py\", line 32, in __call__\n validator(name, data)\n File \"schematec/validators.py\", line 12, in __call__\n raise exc.ValidationError(name)\n schematec.exc.ValidationError: name\n", "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/mylokin/schematec", "keywords": "schema", "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "schematec", "package_url": "https://pypi.org/project/schematec/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/schematec/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/mylokin/schematec" }, "release_url": "https://pypi.org/project/schematec/0.5.2/", "requires_dist": null, "requires_python": null, "summary": "Set of tools that makes input data validation easier", "version": "0.5.2" }, "last_serial": 1589887, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "24e6bb2cc7fe8c684724700d176e04a0", "sha256": "96d0444075759087f83267eac71f7156175b1c416371e17d0d2d26ecca2f0458" }, "downloads": -1, "filename": "schematec-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "24e6bb2cc7fe8c684724700d176e04a0", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 2295, "upload_time": "2015-04-28T16:57:16", "url": "https://files.pythonhosted.org/packages/66/ea/51de497eaf56e47fb48f6bc9659ac4b44e885ef33cd07b45b38e80c5d4e6/schematec-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aca7e265cbd5b4ab70c8d578602c2fe6", "sha256": "10665b7079fadc3644b91796f433049792703c71f062b1abbdc2e0513ba3aad3" }, "downloads": -1, "filename": "schematec-0.1.0.tar.gz", "has_sig": false, "md5_digest": "aca7e265cbd5b4ab70c8d578602c2fe6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1211, "upload_time": "2015-04-28T16:57:14", "url": "https://files.pythonhosted.org/packages/d0/3b/1e3f1d29ee17d51c68a25757f22269aaa661bf8f450f0f43fbdfa3cbbb30/schematec-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f3bcb6a22ee52681be8f31d4ac75f3f6", "sha256": "f76449d73b000199c2b2661b93a7e488771f5793a8170e07eb5b389a4cbf46e0" }, "downloads": -1, "filename": "schematec-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "f3bcb6a22ee52681be8f31d4ac75f3f6", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5058, "upload_time": "2015-05-11T22:13:03", "url": "https://files.pythonhosted.org/packages/87/26/ec3c0d13bc2e1ef05f92fec31688fdfbe95d46e733becd569130dbcd2e00/schematec-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e2472d3550f0c8b8de2c60150ff30f40", "sha256": "f5bac739714701a42675028362e15b6ca8bc6859623b7cf5d98ef62932cf3e20" }, "downloads": -1, "filename": "schematec-0.2.0.tar.gz", "has_sig": false, "md5_digest": "e2472d3550f0c8b8de2c60150ff30f40", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3876, "upload_time": "2015-05-11T22:13:00", "url": "https://files.pythonhosted.org/packages/3d/5d/12b940d46ae49f419d3c2d795a875d60c41e5fbd38547f80377374abad86/schematec-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "02077c69da39b66e6bd5594e5ca6c6d7", "sha256": "c8dd6d635cb77f1204a63521ad569fe72cb782fd19804936abe7d55358c0593c" }, "downloads": -1, "filename": "schematec-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "02077c69da39b66e6bd5594e5ca6c6d7", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5660, "upload_time": "2015-05-13T19:40:58", "url": "https://files.pythonhosted.org/packages/83/ab/9122ed9a3db1f35c54d147ac24d010230da5727ff9ae7ea6319211fd53e0/schematec-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a1fadba1b40c30b1e3562162646fdf1f", "sha256": "ebcc3366a6bffefcff56d7e240b4fa5b05e105dab182f10a1160a6fb2020dbfb" }, "downloads": -1, "filename": "schematec-0.3.0.tar.gz", "has_sig": false, "md5_digest": "a1fadba1b40c30b1e3562162646fdf1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4236, "upload_time": "2015-05-13T19:40:53", "url": "https://files.pythonhosted.org/packages/c2/a3/a17414a6f1d2110f9359737137de7b287cff5a3135f9798fd928451e3243/schematec-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "df326808c16966f497192a395e9abbd3", "sha256": "aa46310a07c1800fcc69b0cb8dacbc366a8196b81c6b8adfb987b139ca308343" }, "downloads": -1, "filename": "schematec-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "df326808c16966f497192a395e9abbd3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5083, "upload_time": "2015-05-25T14:33:18", "url": "https://files.pythonhosted.org/packages/e4/ff/dd63a4b8e201c877953f2a90c5ea13c1c1fdd7991fcb7c92b1442c3a44e1/schematec-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "c4341d043196c3ca1c0a4822767fea57", "sha256": "1cf5edd9a3c20b73afb1c2b861c088554f69c0e0d6a3089ce0e0ca96c3a6271d" }, "downloads": -1, "filename": "schematec-0.3.1.tar.gz", "has_sig": false, "md5_digest": "c4341d043196c3ca1c0a4822767fea57", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3778, "upload_time": "2015-05-25T14:33:15", "url": "https://files.pythonhosted.org/packages/83/d9/e0acc30b0d1025189a1dbc0837d321f42b056ab6d093aff4a7207f022d58/schematec-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "660bde2ab64d9728ad285c65c39c79dc", "sha256": "5fcd200dcd35a970d41e25eceb4b575ca7a346da5a8fbbc0f0da5e0fb2067737" }, "downloads": -1, "filename": "schematec-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "660bde2ab64d9728ad285c65c39c79dc", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5081, "upload_time": "2015-05-25T15:25:16", "url": "https://files.pythonhosted.org/packages/00/87/59e2106e13d36e949ddf5f9f0c47c48710714cdf355324b6b4caf734b39a/schematec-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "564966cf3eb06b170a785373f3fa4de9", "sha256": "b807d7ebaa90f64649eb11eb80aeb2cab9297a708e3fa3ba84603836f764e6e3" }, "downloads": -1, "filename": "schematec-0.3.2.tar.gz", "has_sig": false, "md5_digest": "564966cf3eb06b170a785373f3fa4de9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3948, "upload_time": "2015-05-25T15:25:12", "url": "https://files.pythonhosted.org/packages/be/8b/eda9211e000df1ac438a597103c634e4bfd0d5e171d98dcf29ba5f4a06fa/schematec-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "6f3f9180858dc65d7f808abc0d14aa61", "sha256": "34b3ec2dff0dd1fd99a9724bf7203d4f47236f1ad8e42a73003cc3de805e2f21" }, "downloads": -1, "filename": "schematec-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "6f3f9180858dc65d7f808abc0d14aa61", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5064, "upload_time": "2015-05-25T15:26:52", "url": "https://files.pythonhosted.org/packages/29/f9/8c165e4c1c0af9b1ae62ae22f82caa3289ec6b0912f449b0e7edd90c1a8e/schematec-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eef879290daeae9cc87950bfbf01fa36", "sha256": "38d6c4d67178a9c1579bbb97a91b57e0f0e53560163904d193d30d7378f4c6af" }, "downloads": -1, "filename": "schematec-0.3.3.tar.gz", "has_sig": false, "md5_digest": "eef879290daeae9cc87950bfbf01fa36", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3931, "upload_time": "2015-05-25T15:26:48", "url": "https://files.pythonhosted.org/packages/ac/84/c1ecd5280ec1b19e91901723966676357b8004092624467b504fa4d9bfc8/schematec-0.3.3.tar.gz" } ], "0.3.4": [ { "comment_text": "", "digests": { "md5": "d42cabbaa8156c8ef9e9fdf6caae7749", "sha256": "02a2336bb7d0937705a95f7145bbc47f4d231e194b7aa27974b1ea9aba39e6a2" }, "downloads": -1, "filename": "schematec-0.3.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d42cabbaa8156c8ef9e9fdf6caae7749", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5279, "upload_time": "2015-05-26T00:17:53", "url": "https://files.pythonhosted.org/packages/c2/26/a1027fd5b51e0a1e0828c430aba784471fc0a88813fda5a4adc5cb3ff9bf/schematec-0.3.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "874a9f58bd1a93f554c22d11069577c4", "sha256": "931591eb0af17ae6fe52067d93a7f56ac4fabe92c647ba3821f33307f3274d2a" }, "downloads": -1, "filename": "schematec-0.3.4.tar.gz", "has_sig": false, "md5_digest": "874a9f58bd1a93f554c22d11069577c4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4128, "upload_time": "2015-05-26T00:17:49", "url": "https://files.pythonhosted.org/packages/26/b7/c3a3fa43bbadf12fe39edc0543ccbb3bacb28a6ee5bc4b49cd8ee9d51b95/schematec-0.3.4.tar.gz" } ], "0.3.5": [ { "comment_text": "", "digests": { "md5": "62d8f233b05a79261de0d1a1b5e9b346", "sha256": "a4a8231e28506ad4aa7e7d1ff0ada6ce870a5f4e4559cca1f5d3e57f323d4609" }, "downloads": -1, "filename": "schematec-0.3.5-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "62d8f233b05a79261de0d1a1b5e9b346", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5079, "upload_time": "2015-05-26T17:38:41", "url": "https://files.pythonhosted.org/packages/7e/dd/48a45812de9cacc81562a4804db2b2bab09779fdbeb3c68a5ae49c551449/schematec-0.3.5-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1966dc7bc81fe963c0ebebb2da34fd52", "sha256": "2e8c5ee68a2aad659c05364702e833e66a44381e7810fee96cc54923901c229d" }, "downloads": -1, "filename": "schematec-0.3.5.tar.gz", "has_sig": false, "md5_digest": "1966dc7bc81fe963c0ebebb2da34fd52", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4183, "upload_time": "2015-05-26T17:38:37", "url": "https://files.pythonhosted.org/packages/92/8a/51a770f9b0c683f413d5ea39e17046d0c341849991aa819cad7f2589d5a1/schematec-0.3.5.tar.gz" } ], "0.3.6": [ { "comment_text": "", "digests": { "md5": "3f5a0328805842ea6107750d7abe1f88", "sha256": "f2ced55c748ba0f7c4ad67c26e1c24b4fb0e3b2d2516e2d7026379f59986c76b" }, "downloads": -1, "filename": "schematec-0.3.6-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3f5a0328805842ea6107750d7abe1f88", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5126, "upload_time": "2015-06-08T19:36:01", "url": "https://files.pythonhosted.org/packages/02/90/f4df4cb8a3efc8593a34c5a383ef29e5b2141e233195b6f93be162d9b49e/schematec-0.3.6-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f18fe76f1cd4ef2b6a49e828db775ef6", "sha256": "721cd687457146a272bdc4ded4037b5323d7db928b0076340e5e5a73f06703df" }, "downloads": -1, "filename": "schematec-0.3.6.tar.gz", "has_sig": false, "md5_digest": "f18fe76f1cd4ef2b6a49e828db775ef6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4279, "upload_time": "2015-06-08T19:35:58", "url": "https://files.pythonhosted.org/packages/c6/8b/3f975c91f1f13dff28e04e847e24edcb4a149d54c72c1c6c625a337ff497/schematec-0.3.6.tar.gz" } ], "0.4.0": [ { "comment_text": "", "digests": { "md5": "2cf498b4377ff126c49ab1866ea6513a", "sha256": "516016e4c9a3c90d39894ed8858ee450e80b01a414ad3d7f1516e0254e9b1998" }, "downloads": -1, "filename": "schematec-0.4.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "2cf498b4377ff126c49ab1866ea6513a", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5244, "upload_time": "2015-06-08T20:31:07", "url": "https://files.pythonhosted.org/packages/31/1d/73d5abf5fd95d2b5fa6b5d69da19fe821f0a06b9fccc012f798f9674dff1/schematec-0.4.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "db400be73298018439b085a71a684ef7", "sha256": "d8cd399605175b6d40f4013f25c7ba5cc6e77ce9aa376adf484ce497c3be5c63" }, "downloads": -1, "filename": "schematec-0.4.0.tar.gz", "has_sig": false, "md5_digest": "db400be73298018439b085a71a684ef7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4579, "upload_time": "2015-06-08T20:31:03", "url": "https://files.pythonhosted.org/packages/4a/a5/ddab40798e13cbd522fbdf9808e92ae777fc7bd7dec0bca742a5bcfe20f0/schematec-0.4.0.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "1053894900a91b2d9aa5d736bfc1e4e4", "sha256": "fffb61e4500ad48406f853760f4ab31e3427dec80264c6b624b30687f414428a" }, "downloads": -1, "filename": "schematec-0.4.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1053894900a91b2d9aa5d736bfc1e4e4", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5253, "upload_time": "2015-06-11T23:29:32", "url": "https://files.pythonhosted.org/packages/1c/64/f0c3b7cd1bf19bfce5169c980b73e3e38709f1db75790c3cf066f7d298a9/schematec-0.4.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e966268acbc29cdd2ce2873baae821dd", "sha256": "c7d1aad52e8b9516542920282ea2c94ac7e99d66fea94541d1b8a94efcb2af84" }, "downloads": -1, "filename": "schematec-0.4.1.tar.gz", "has_sig": false, "md5_digest": "e966268acbc29cdd2ce2873baae821dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4595, "upload_time": "2015-06-11T23:29:28", "url": "https://files.pythonhosted.org/packages/86/2b/3ea40a3011923e1922ef3af34505584253d89d4c0df49031fa347f255ac4/schematec-0.4.1.tar.gz" } ], "0.5.0": [ { "comment_text": "", "digests": { "md5": "0522d888652c8821f1a6c17974c346d6", "sha256": "e6b0a784e7a0ef4101f5a5ebc15993c33afaa868b088d5acc65d42f0327128e7" }, "downloads": -1, "filename": "schematec-0.5.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0522d888652c8821f1a6c17974c346d6", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5260, "upload_time": "2015-06-12T12:36:07", "url": "https://files.pythonhosted.org/packages/5d/bd/1bc1fe54e77fdc4d5790ababeb97ad8430ea30dfe7f909c24451df6efb6f/schematec-0.5.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "662873553061aba26d93fe5625723752", "sha256": "4639afeb83ead39863c76d2932991b4d4a82680ab743257d4e53fcc45b99a1a1" }, "downloads": -1, "filename": "schematec-0.5.0.tar.gz", "has_sig": false, "md5_digest": "662873553061aba26d93fe5625723752", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4614, "upload_time": "2015-06-12T12:36:04", "url": "https://files.pythonhosted.org/packages/02/ec/bc01655d03d1423393c547b5eb90de372648d7c32dc22295d9a26cb99b67/schematec-0.5.0.tar.gz" } ], "0.5.1": [ { "comment_text": "", "digests": { "md5": "1c6aa1cec7b75cee7f2212a0fdb1db46", "sha256": "636ddfbb92adc6f2aafdec759cc67ad3991c4bd89be4ccc0239f0519657ad054" }, "downloads": -1, "filename": "schematec-0.5.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1c6aa1cec7b75cee7f2212a0fdb1db46", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5298, "upload_time": "2015-06-12T15:15:10", "url": "https://files.pythonhosted.org/packages/d3/68/5b258a31099ab3acf47a4490535e67fd491b9b15772e6228226219eca284/schematec-0.5.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "43b04c1066cacafde7afe841cd4c4d42", "sha256": "744bdc309ea59d4a961d670941c35a18a9af233a646b9d147feb5f84b7de275d" }, "downloads": -1, "filename": "schematec-0.5.1.tar.gz", "has_sig": false, "md5_digest": "43b04c1066cacafde7afe841cd4c4d42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4559, "upload_time": "2015-06-12T15:15:06", "url": "https://files.pythonhosted.org/packages/ce/92/f871d9e89884bd2286ee3569210e4481af3bed47c41d0ce15f89928552b5/schematec-0.5.1.tar.gz" } ], "0.5.2": [ { "comment_text": "", "digests": { "md5": "325721be402a0932122f484de3ff64b3", "sha256": "d4ac929be19da00dbdbc0feed3a79cfe3a3a417ff29b6ec11b8ce480416e7642" }, "downloads": -1, "filename": "schematec-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "325721be402a0932122f484de3ff64b3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5303, "upload_time": "2015-06-12T16:20:56", "url": "https://files.pythonhosted.org/packages/09/ff/d6c73ee2523dd864846291f277a5684b343faf3f410649df95409b67ecce/schematec-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef54bf5c29f2d5601f19e048d3f16f0d", "sha256": "0fffa6796755492cd7010ba2a53a40daeb7e01590eb7cc4f6e886cb7af8f212f" }, "downloads": -1, "filename": "schematec-0.5.2.tar.gz", "has_sig": false, "md5_digest": "ef54bf5c29f2d5601f19e048d3f16f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4548, "upload_time": "2015-06-12T16:20:52", "url": "https://files.pythonhosted.org/packages/99/9c/64dade4c0724378c7aa018efa1003bc99c165c32980a470384e190b17117/schematec-0.5.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "325721be402a0932122f484de3ff64b3", "sha256": "d4ac929be19da00dbdbc0feed3a79cfe3a3a417ff29b6ec11b8ce480416e7642" }, "downloads": -1, "filename": "schematec-0.5.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "325721be402a0932122f484de3ff64b3", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 5303, "upload_time": "2015-06-12T16:20:56", "url": "https://files.pythonhosted.org/packages/09/ff/d6c73ee2523dd864846291f277a5684b343faf3f410649df95409b67ecce/schematec-0.5.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ef54bf5c29f2d5601f19e048d3f16f0d", "sha256": "0fffa6796755492cd7010ba2a53a40daeb7e01590eb7cc4f6e886cb7af8f212f" }, "downloads": -1, "filename": "schematec-0.5.2.tar.gz", "has_sig": false, "md5_digest": "ef54bf5c29f2d5601f19e048d3f16f0d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4548, "upload_time": "2015-06-12T16:20:52", "url": "https://files.pythonhosted.org/packages/99/9c/64dade4c0724378c7aa018efa1003bc99c165c32980a470384e190b17117/schematec-0.5.2.tar.gz" } ] }