{ "info": { "author": "laberin", "author_email": "eseom@msn.com", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Programming Language :: Python :: 2", "Programming Language :: Python :: 3" ], "description": "# flask-api-spec\n\n[![PyPI version](https://badge.fury.io/py/flask-api-spec.svg)](https://badge.fury.io/py/flask-api-spec)\n\nflask API toolset\n\n```\npip install flask-api-spec\n```\n\n## started with a simple idea\n\nLet's\n\n- write validation codes for **requests**\n- write validation and serialization codes for **responses**\n- write API body\n- integrate **authorizations** then protect the APIs\n- **swaggerize** all of them automatically\n- _with Flask_\n\n## usage\n\n### installation\n\n```python\nimport flask_api_spec\n\napp = Flask(__name__)\nflask_api_spec.init_app(app)\n```\n\n### examples\n\n```python\nfrom flask_api_spec import Value\n\n\n@app.route('/hello', apispec=dict(\n query=dict( # constraints for request.args\n id=Value(int, error='There is not id or id is not int.')\n )\n))\ndef hello_id():\n return dict(result='The id is %s' % request.args['id'])\n```\n\nFocus on what begins with `apispec=`. We've got a robust feature for the API using the extended app.route with the apispec keyword argument.\n\n```python\nfrom flask_api_spec import Value\n\n\n@app.route('/hello/', apispec=dict(\n param=dict( # constraints for parameters\n name=Value(str, lambda x: len(x) > 3, error='name is no string or the length is not greater than 3')\n )\n))\ndef hello_name(name):\n return dict(result='Hello %s!' % name)\n```\n\nA param keyword in `apispec=` indicates in-path parameters. We can state some more detailed rules about them explicitly. In the case above, size of `` should exceed 3.\n\n## todo\n\n- [ ] support more mashmallow functionalities\n- [ ] support more schema functionalities\n- [ ] integrate authorization\n- [ ] generate full swagger yaml\n- [ ] support flask class view", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/laberin/flask-api-spec/", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "flask-api-spec", "package_url": "https://pypi.org/project/flask-api-spec/", "platform": "any", "project_url": "https://pypi.org/project/flask-api-spec/", "project_urls": { "Homepage": "http://github.com/laberin/flask-api-spec/" }, "release_url": "https://pypi.org/project/flask-api-spec/0.1.10/", "requires_dist": null, "requires_python": "", "summary": "flask api toolset", "version": "0.1.10" }, "last_serial": 5480636, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "94d8967696df7b3fcb0081272769e64e", "sha256": "a0814faa5893425281dd9dd9d44109a53b80091a80eccff63b1900af5395ae1d" }, "downloads": -1, "filename": "flask-api-spec-0.1.1.tar.gz", "has_sig": false, "md5_digest": "94d8967696df7b3fcb0081272769e64e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5015, "upload_time": "2019-06-26T16:21:20", "url": "https://files.pythonhosted.org/packages/0a/9e/bba6eda2ae5e2d2b69c549dde62ef663a824bb26cb5987539836ab796373/flask-api-spec-0.1.1.tar.gz" } ], "0.1.10": [ { "comment_text": "", "digests": { "md5": "dc8d960ef4d22bd2641c8f813e76252b", "sha256": "e77ae18e0a4f441968cb83e80678b66b56fd1595b954141c9dd447eb0f74b5c2" }, "downloads": -1, "filename": "flask-api-spec-0.1.10.tar.gz", "has_sig": false, "md5_digest": "dc8d960ef4d22bd2641c8f813e76252b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 410596, "upload_time": "2019-07-03T10:31:13", "url": "https://files.pythonhosted.org/packages/3e/0b/de07812575aef978d9029feae62b5db4b182554481787cfcef1f3f762082/flask-api-spec-0.1.10.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "8050ba743e25bc351be4694674df746b", "sha256": "72fb648e867377c4ffb738a83dd78df149ff1c46c0d1fa8fc06bc4339188eeea" }, "downloads": -1, "filename": "flask-api-spec-0.1.2.tar.gz", "has_sig": false, "md5_digest": "8050ba743e25bc351be4694674df746b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5168, "upload_time": "2019-06-26T16:34:20", "url": "https://files.pythonhosted.org/packages/d8/e6/a9d59bca3629e6726a535ca4a107c2de8a0e91973208ece3d41493d519ff/flask-api-spec-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d3116e64cb5ac5d4e42d1e717bd0ff02", "sha256": "fbda2a5b365613c6af1f7408f34dd7a13c8ba4206d7a333d621f1e1115007129" }, "downloads": -1, "filename": "flask-api-spec-0.1.3.tar.gz", "has_sig": false, "md5_digest": "d3116e64cb5ac5d4e42d1e717bd0ff02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5808, "upload_time": "2019-06-27T07:33:38", "url": "https://files.pythonhosted.org/packages/d2/9c/37c04a2d9bf2f8dfc041fb75ccf74ac060b94cb80d2932d607fdfdcc6a08/flask-api-spec-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "f4f36d1742eaf54bd63369956658e3bb", "sha256": "cead2a35e10b8628f8f7f3d410fda85b1e1dd679a026106ab9ca641840b5960b" }, "downloads": -1, "filename": "flask-api-spec-0.1.4.tar.gz", "has_sig": false, "md5_digest": "f4f36d1742eaf54bd63369956658e3bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6983, "upload_time": "2019-06-27T12:49:27", "url": "https://files.pythonhosted.org/packages/39/e7/0c494996c68c2b691a3da76a1bbc745962a64e76a9005869274b398679d6/flask-api-spec-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "5bbfac228f3ff346233873085c8f4531", "sha256": "893a38784e9345b77ca4d18546e536a607b2cf90e743e1715152fc9ab8426c5b" }, "downloads": -1, "filename": "flask-api-spec-0.1.5.tar.gz", "has_sig": false, "md5_digest": "5bbfac228f3ff346233873085c8f4531", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7523, "upload_time": "2019-06-30T12:58:05", "url": "https://files.pythonhosted.org/packages/89/5e/f64ed07d68e67a6cff0908e14d7fc5a7bc39908706415e359983b156a8fe/flask-api-spec-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "83a0234b88ae6e1665e2ed115917249b", "sha256": "419fb58f4da525b7597622b23fdc6a9d2bae512eebd49477d5f06b9efc210efc" }, "downloads": -1, "filename": "flask-api-spec-0.1.6.tar.gz", "has_sig": false, "md5_digest": "83a0234b88ae6e1665e2ed115917249b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7069, "upload_time": "2019-07-01T09:09:17", "url": "https://files.pythonhosted.org/packages/63/71/13a8a985ed3dd01a80e2d611cea25cf5d88d78e18c23ecbb92c64ccd812e/flask-api-spec-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "d84a4bfbdf83de65a22d04c54051c5fc", "sha256": "a0ddb2ce8f0cb80116a0a3829c9445ec27e799ca507f6417dd01e35b5b12fbe6" }, "downloads": -1, "filename": "flask-api-spec-0.1.7.tar.gz", "has_sig": false, "md5_digest": "d84a4bfbdf83de65a22d04c54051c5fc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7898, "upload_time": "2019-07-01T09:26:19", "url": "https://files.pythonhosted.org/packages/45/20/3e7e4f44e675657765765ee961210d354b6bc8870ee979192b2138e76469/flask-api-spec-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "926d0d43fc1cb6ce2196a31a4d052352", "sha256": "324805a404258e713d82717d9376dac473c09982b5559a0c327994dc5a4e0e06" }, "downloads": -1, "filename": "flask-api-spec-0.1.8.tar.gz", "has_sig": false, "md5_digest": "926d0d43fc1cb6ce2196a31a4d052352", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 409926, "upload_time": "2019-07-01T09:29:31", "url": "https://files.pythonhosted.org/packages/1b/b5/a1aa20156dc8c6d2c6393510fda8ec1606b9ac1e4dac04e652b97f9a8763/flask-api-spec-0.1.8.tar.gz" } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "ea706e6ab10727b3dec77fceca4b6a75", "sha256": "c84ed5aaf9a24335210e5590e8cd551b8392b69747f0c0ea4fa0001dc0b5048b" }, "downloads": -1, "filename": "flask-api-spec-0.1.9.tar.gz", "has_sig": false, "md5_digest": "ea706e6ab10727b3dec77fceca4b6a75", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 410920, "upload_time": "2019-07-03T09:54:02", "url": "https://files.pythonhosted.org/packages/93/50/25f5368e1f19451cff35112ff0f3a27f20636db8445d5d815abed350d4ed/flask-api-spec-0.1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "dc8d960ef4d22bd2641c8f813e76252b", "sha256": "e77ae18e0a4f441968cb83e80678b66b56fd1595b954141c9dd447eb0f74b5c2" }, "downloads": -1, "filename": "flask-api-spec-0.1.10.tar.gz", "has_sig": false, "md5_digest": "dc8d960ef4d22bd2641c8f813e76252b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 410596, "upload_time": "2019-07-03T10:31:13", "url": "https://files.pythonhosted.org/packages/3e/0b/de07812575aef978d9029feae62b5db4b182554481787cfcef1f3f762082/flask-api-spec-0.1.10.tar.gz" } ] }