{ "info": { "author": "William Woodruff", "author_email": "william@yossarian.net", "bugtrack_url": null, "classifiers": [], "description": "cazart\n======\n\n[![Build Status](https://travis-ci.com/woodruffw/cazart.svg?branch=master)](https://travis-ci.com/woodruffw/cazart)\n\n*Flask + schema = cazart!*\n\n**cazart** is a small helper for writing schematized JSON endpoints with Flask. It rolls\n[schema](https://github.com/keleshev/schema) into Flask's `route` decorator, allowing\nfor one-shot route and schema specification.\n\n## Installation\n\n**cazart** requires Python 3.6 or newer.\n\n```bash\npip3 install cazart\n```\n\n## Usage\n\nTo use **cazart**, just swap your `Flask` instance out for a `Cazart` one:\n\n```python\nfrom cazart import Cazart\n\napp = Cazart(__name__)\n```\n\nYou can access all of Flask's baseline functionality (including non-validated routes)\nvia `app.flask`.\n\nThen, use `app.route` to specify a combination route and schema:\n\n```python\nfrom cazart import Cazart\nfrom schema import Schema, Or\n\napp = Cazart(__name__)\n\n\n@app.route(\"/cazart\", schema=Schema({\"name\": Or(\"alice\", \"bob\", \"mary\")}))\ndef cazart(res):\n print(f\"my verified payload is {res}!\")\n return (\"ok\", 200)\n```\n\nSee the [examples](./example) for full usage examples, including custom error handling\nand dispatching to different schemas on a route based on HTTP method.", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/woodruffw/cazart", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "cazart", "package_url": "https://pypi.org/project/cazart/", "platform": "any", "project_url": "https://pypi.org/project/cazart/", "project_urls": { "Homepage": "https://github.com/woodruffw/cazart" }, "release_url": "https://pypi.org/project/cazart/0.0.2/", "requires_dist": null, "requires_python": ">=3.6", "summary": "Flask + Schema = Cazart!", "version": "0.0.2" }, "last_serial": 5694486, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "fa3d1bc4544edfa05de6ad8a53218dab", "sha256": "668144fda08b82f8978361c3c92e74af820f5ab25e719ecca7346105bc0173d4" }, "downloads": -1, "filename": "cazart-0.0.1.tar.gz", "has_sig": false, "md5_digest": "fa3d1bc4544edfa05de6ad8a53218dab", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3258, "upload_time": "2019-08-18T12:43:53", "url": "https://files.pythonhosted.org/packages/67/a7/8630593541c548a1ba26cc07e377f160b6b7b7679142feae313e3ea8f787/cazart-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "2ab24cce0eb70a5e19fec13ec1d1ddbf", "sha256": "c69ca931f101e68fc35379717289d24a166b57acfbbc421f5c73d476c5062633" }, "downloads": -1, "filename": "cazart-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2ab24cce0eb70a5e19fec13ec1d1ddbf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3263, "upload_time": "2019-08-18T12:47:59", "url": "https://files.pythonhosted.org/packages/95/a0/c03baf86b959de6f278fe584870b7fa74330b9da88b1b88f49b538856bd5/cazart-0.0.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2ab24cce0eb70a5e19fec13ec1d1ddbf", "sha256": "c69ca931f101e68fc35379717289d24a166b57acfbbc421f5c73d476c5062633" }, "downloads": -1, "filename": "cazart-0.0.2.tar.gz", "has_sig": false, "md5_digest": "2ab24cce0eb70a5e19fec13ec1d1ddbf", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 3263, "upload_time": "2019-08-18T12:47:59", "url": "https://files.pythonhosted.org/packages/95/a0/c03baf86b959de6f278fe584870b7fa74330b9da88b1b88f49b538856bd5/cazart-0.0.2.tar.gz" } ] }