{ "info": { "author": "UNKNOWN", "author_email": "UNKNOWN", "bugtrack_url": null, "classifiers": [], "description": "pyrx\n====\n\n[![Build Status](https://travis-ci.org/uniphil/pyrx.png)](https://travis-ci.org/uniphil/pyrx)\n\nPython implementation of the [Rx schema and validation system](http://rx.codesimply.com/)\n\n\nForked\n------\n\nForked from the main [rx github repo](https://github.com/rjbs/rx) Nov 25 '13\nbecause the python implementation deserves its own place and testing and stuff.\n\nThe copyright line of the license for the rx repository reads:\n\n The contents of the Rx repository are copyright (C) 2008, Ricardo SIGNES.\n\nThe license itself is GPL2: https://github.com/rjbs/rx/blob/master/LICENSE\n\n\nRequirements\n------------\n\n* No external dependencies\n* Python2.7 (python3 support coming soon)\n\n\nInstallation\n------------\n\n```bash\n$ pip install pyrx\n```\n\n\nUsage\n-----\n\n```python\nimport pyrx\n\nrx = pyrx.Factory({\"register_core_types\": True})\n\nschema_src = {\n \"type\": \"//rec\",\n \"required\": {\n \"a\": \"//str\",\n \"b\": \"//int\",\n },\n \"optional\": {\n \"c\": \"//bool\",\n },\n}\n\nschema = rx.make_schema(schema_src)\n\nschema.check({\"a\": \"a string\", \"b\": 2}) # returns True\nschema.check({\"a\": \"a string\", \"b\": \"another string\"}) # returns False\n\n```\n\n\nTesting\n-------\n\nI didn't bring the tests over from the rx repo. They used `TAP` or something\nI'm not familiar with. The tests included here just run through a couple\ntrivial cases to make sure it doesn't straight-up crash.\n\n\nRoad Map\n--------\n\n* [x] Porting tests from the original RX repo (but using unittest)\n* [x] Port to python3\n* [x] Improve error messages on invalid schema tests\n* [ ] Improve documentation", "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/uniphil/pyrx", "keywords": null, "license": "GPLv2", "maintainer": null, "maintainer_email": null, "name": "PyRx", "package_url": "https://pypi.org/project/PyRx/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/PyRx/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/uniphil/pyrx" }, "release_url": "https://pypi.org/project/PyRx/0.3.0/", "requires_dist": null, "requires_python": null, "summary": "Rx schema and validation system", "version": "0.3.0" }, "last_serial": 947045, "releases": { "0.01": [ { "comment_text": "", "digests": { "md5": "0da528697e59e93c67d3d4637bcd0815", "sha256": "badbd73aceff92d224794552edc2eccbf7422c4e9f2062e57179ac4fa59aa875" }, "downloads": -1, "filename": "PyRx-0.01.tar.gz", "has_sig": false, "md5_digest": "0da528697e59e93c67d3d4637bcd0815", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3917, "upload_time": "2013-11-25T18:23:56", "url": "https://files.pythonhosted.org/packages/e4/2d/4add11839a10317db4d1b153b12f3b5ccbde81c062d9b700c84fd50aa9e0/PyRx-0.01.tar.gz" } ], "0.02": [ { "comment_text": "", "digests": { "md5": "2b5f7792382508dccba33283cb98841b", "sha256": "63b36bf4511690468d7be9fa0e0695e959182f782dc0498f0cc2264711a7148e" }, "downloads": -1, "filename": "PyRx-0.02.tar.gz", "has_sig": false, "md5_digest": "2b5f7792382508dccba33283cb98841b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4201, "upload_time": "2013-11-25T19:14:40", "url": "https://files.pythonhosted.org/packages/5a/2a/7e73c92c1d9e321d61adb03fa134111ae1c4546e137a254b1c160d5d6f51/PyRx-0.02.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "8af4f997934a7548d74a28fb5dbe691f", "sha256": "c0f31afedb3aa865ec7beac85bddd2d80466155ec218ccf68aab0a713679cfcc" }, "downloads": -1, "filename": "PyRx-0.1.0.tar.gz", "has_sig": false, "md5_digest": "8af4f997934a7548d74a28fb5dbe691f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5538, "upload_time": "2013-12-16T01:56:30", "url": "https://files.pythonhosted.org/packages/9b/5d/1646db8a9e9854d432aa9c664a0831b2cd291f179b62cc7126196766035b/PyRx-0.1.0.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "4df4f563236ee2357e4f329fcca3e132", "sha256": "0bf00196faab21c4fbc3218e9ec8511064b9e32e5aac8eab75e2235cdad20514" }, "downloads": -1, "filename": "PyRx-0.2.0.tar.gz", "has_sig": false, "md5_digest": "4df4f563236ee2357e4f329fcca3e132", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5653, "upload_time": "2013-12-16T03:28:13", "url": "https://files.pythonhosted.org/packages/a7/0f/99c8ff6546c1e7fc598a87ecb00ce3a85dc7a7c95ec3a3fc2810b4fced2e/PyRx-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "af4446ab29c47286b7839bfd5dc492a9", "sha256": "d69f0d1e43dc4b68effd751dfa333ceae202291479e4c276354280dbf508887b" }, "downloads": -1, "filename": "PyRx-0.3.0.tar.gz", "has_sig": false, "md5_digest": "af4446ab29c47286b7839bfd5dc492a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6016, "upload_time": "2013-12-17T18:36:49", "url": "https://files.pythonhosted.org/packages/36/92/eb6a52b80b230d8ce2965e50e9cc67086a728ac5ab3f83d4d6de64e6f63c/PyRx-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "af4446ab29c47286b7839bfd5dc492a9", "sha256": "d69f0d1e43dc4b68effd751dfa333ceae202291479e4c276354280dbf508887b" }, "downloads": -1, "filename": "PyRx-0.3.0.tar.gz", "has_sig": false, "md5_digest": "af4446ab29c47286b7839bfd5dc492a9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6016, "upload_time": "2013-12-17T18:36:49", "url": "https://files.pythonhosted.org/packages/36/92/eb6a52b80b230d8ce2965e50e9cc67086a728ac5ab3f83d4d6de64e6f63c/PyRx-0.3.0.tar.gz" } ] }