{ "info": { "author": "Deepwalker", "author_email": "krivushinme@gmail.com", "bugtrack_url": null, "classifiers": [ "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3" ], "description": "Trafaret Schema\n===============\n\n[![Build status](https://circleci.com/gh/Deepwalker/trafaret_schema.svg?style=shield)](https://circleci.com/gh/Deepwalker/trafaret_schema)\n[![Gitter](https://badges.gitter.im/Deepwalker/trafaret.png)](https://gitter.im/Deepwalker/trafaret)\n[![Downloads](https://img.shields.io/pypi/v/trafaret_schema.svg?style=flat-square)](https://pypi.python.org/pypi/trafaret_schema)\n[![Downloads](https://img.shields.io/pypi/l/trafaret_schema.svg?style=flat-square)](https://pypi.python.org/pypi/trafaret_schema)\n\n\nLibrary takes JSON Schema and converts it to a Trafaret instance:\n\n from trafaret_schema import json_schema\n check_string = json_schema({'type': 'string', 'minLength': 6, 'maxLength': 10, 'pattern': '(bla)+'})\n check_string('blablabla')\n\nWhat is important to note, that this library is a big trafaret that produces other trafarets. So on parsing\nJSON Schema you can get a DataError, and you will get DataError in usage of parsed schema.\nAnd you can use schema parser or parsed schema as trafaret in any circumstances where you can use trafarets.\n\nYou can use `Register` object to provide custom `format` implementation and to support cross schemas `$ref`\nobjects:\n\n import trafaret as t\n from trafaret_schema import json_schema, Register\n\n my_reg = Register()\n\n my_reg.reg_format('any_ip', t.IPv4 | t.IPv6)\n\n check_address = json_schema(open('address.json').read(), context=register)\n check_person = json_schema(open('person.json').read(), context=register)\n\n\nLibrary is a bit of fun, because it is implemented in a `trafaret` and produces `trafaret` instances. Also its like\na pro level of `trafaret` usage (I hope so).\n\nFeatures:\n\n [*] basic\n [*] type\n [*] enum\n [*] const\n [*] number\n [*] string\n [*] array\n [*] minProperties\n [*] maxProperties\n [*] uniqueItems\n [*] items\n [*] additionalItems\n [*] contains\n [*] objects\n [*] maxProperties\n [*] minProperties\n [*] required\n [*] properties\n [*] patternProperties\n [*] additionalProperties\n [*] dependencies\n [*] propertyNames\n [*] combinators\n [*] anyOf\n [*] allOf\n [*] oneOf\n [*] not\n [*] format\n [*] references\n [*] definitions\n [*] $ref\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Deepwalker/trafaret_schema/", "keywords": "validation form forms data schema", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "trafaret_schema", "package_url": "https://pypi.org/project/trafaret_schema/", "platform": "", "project_url": "https://pypi.org/project/trafaret_schema/", "project_urls": { "Homepage": "https://github.com/Deepwalker/trafaret_schema/" }, "release_url": "https://pypi.org/project/trafaret_schema/0.2.1/", "requires_dist": null, "requires_python": "", "summary": "Validation and parsing library", "version": "0.2.1" }, "last_serial": 4032776, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "5470e9386c57691bf1db7f47341e2de6", "sha256": "fe3a092a00b6b7e3ed15dbb8f2933733da3590a45108f5e0226d42880794bd6d" }, "downloads": -1, "filename": "trafaret_schema-0.1.0.tar.gz", "has_sig": false, "md5_digest": "5470e9386c57691bf1db7f47341e2de6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6285, "upload_time": "2017-08-08T21:59:34", "url": "https://files.pythonhosted.org/packages/3e/f1/18f3824b0d790a6bac559ef64366ff2a0db983c754ad5b816f724847ec79/trafaret_schema-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "46ef035fa18690c3796fa7fe0aae7821", "sha256": "e16a1e30e5454f5b922d2c7942fff2ecfac259085623c94e3b7edc0e4b039f3c" }, "downloads": -1, "filename": "trafaret_schema-0.1.1.tar.gz", "has_sig": false, "md5_digest": "46ef035fa18690c3796fa7fe0aae7821", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6985, "upload_time": "2017-08-09T09:02:18", "url": "https://files.pythonhosted.org/packages/34/64/76f1d2bd5340a089dc36851c7b10e2383c44240d1a56664d9e0492c6afb9/trafaret_schema-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "bb21ef81778b973fbb00207cb76c5f6b", "sha256": "825cc3953c38d8378ee9dc0b52f6fd0dfba9fe8206124a0d9454161d052801f9" }, "downloads": -1, "filename": "trafaret_schema-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "bb21ef81778b973fbb00207cb76c5f6b", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 8807, "upload_time": "2018-07-04T16:54:42", "url": "https://files.pythonhosted.org/packages/50/00/f40eda965dc0394fb5bd60de38c72d6132541d5c3a6d18776e1b59c51000/trafaret_schema-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "199727b4b8a1c01cfb5e26a2e07053af", "sha256": "aaf547a917bb7a93dbfe7120f223db4ef41b66200389687465c5eecf6c846adb" }, "downloads": -1, "filename": "trafaret_schema-0.2.0.tar.gz", "has_sig": false, "md5_digest": "199727b4b8a1c01cfb5e26a2e07053af", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7240, "upload_time": "2018-07-04T16:41:11", "url": "https://files.pythonhosted.org/packages/ca/d3/0a902fd8b1d659d9860159dd9ba483779a09cfcf38d65fa867a2703edc96/trafaret_schema-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "32bd241f2eebd27181997b945954998d", "sha256": "47a6dc28dcb68ae1191495eec8fd52acebb7c15eb7ec7fd8da092f55a111bfdf" }, "downloads": -1, "filename": "trafaret_schema-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "32bd241f2eebd27181997b945954998d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9310, "upload_time": "2018-07-05T10:42:49", "url": "https://files.pythonhosted.org/packages/2b/fa/3bdfc83894236dc56d548144f3a8fb0c8527224d00a56a5d3f50501ed08c/trafaret_schema-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f53739b1394a779ba9b772f591c4760", "sha256": "24deed069b7a7065a112f8ed9aa55e227cd892578c9547de5356f2661d4f727d" }, "downloads": -1, "filename": "trafaret_schema-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2f53739b1394a779ba9b772f591c4760", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7470, "upload_time": "2018-07-05T10:41:31", "url": "https://files.pythonhosted.org/packages/28/e2/eab9650c6e04a00ff57fc38306e2e66a2762c65c98fe683058af48367644/trafaret_schema-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "32bd241f2eebd27181997b945954998d", "sha256": "47a6dc28dcb68ae1191495eec8fd52acebb7c15eb7ec7fd8da092f55a111bfdf" }, "downloads": -1, "filename": "trafaret_schema-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "32bd241f2eebd27181997b945954998d", "packagetype": "bdist_wheel", "python_version": "3.6", "requires_python": null, "size": 9310, "upload_time": "2018-07-05T10:42:49", "url": "https://files.pythonhosted.org/packages/2b/fa/3bdfc83894236dc56d548144f3a8fb0c8527224d00a56a5d3f50501ed08c/trafaret_schema-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2f53739b1394a779ba9b772f591c4760", "sha256": "24deed069b7a7065a112f8ed9aa55e227cd892578c9547de5356f2661d4f727d" }, "downloads": -1, "filename": "trafaret_schema-0.2.1.tar.gz", "has_sig": false, "md5_digest": "2f53739b1394a779ba9b772f591c4760", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7470, "upload_time": "2018-07-05T10:41:31", "url": "https://files.pythonhosted.org/packages/28/e2/eab9650c6e04a00ff57fc38306e2e66a2762c65c98fe683058af48367644/trafaret_schema-0.2.1.tar.gz" } ] }