{ "info": { "author": "Mathew Marcus", "author_email": "mathewmarcus456@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "====================\napispec-chalice\n====================\n.. image:: https://badge.fury.io/py/apispec-chalice.svg\n :target: http://badge.fury.io/py/apispec-chalice\n :alt: Latest version\n.. image:: https://travis-ci.org/mathewmarcus/apispec-chalice.svg?branch=master\n :target: https://travis-ci.org/mathewmarcus/apispec-chalice\n :alt: Travis-CI\n\n`Chalice `_ plugin for the `apispec `_ (fka Swagger) generation library.\n\nInstallation\n============\nFrom PyPi::\n\n $ pip install apispec-chalice\n\nExample RESTful Application\n===========================\n\n.. code-block:: python\n\n from apispec import APISpec\n from chalice import Chalice\n from marshmallow import Schema, fields\n import apispec_chalice\n\n # Create an APISpec\n spec = APISpec(\n title='Swagger Petstore',\n version='1.0.0',\n plugins=[\n 'apispec_chalice',\n 'apispec.ext.marshmallow',\n ],\n )\n\n # Optional marshmallow support\n class CategorySchema(Schema):\n id = fields.Int()\n name = fields.Str(required=True)\n\n class PetSchema(Schema):\n category = fields.Nested(CategorySchema, many=True)\n name = fields.Str()\n\n class ErrorSchema(Schema):\n status_code = fields.Int(required=True)\n message = fields.Str()\n\n app = Chalice(__name__)\n\n @app.route('/pets', methods=['GET', 'POST'])\n def pets(gist_id):\n '''\n ---\n get:\n responses:\n 200:\n schema:\n\t\t type: array\n\t\t\titems: PetSchema\n\t\t404:\n\t\t schema: ErrorSchema\n post:\n responses:\n 201:\n headers:\n Location:\n description: 'URI of new pet'\n type: string\n\t\t400:\n\t\t schema: ErrorSchema\n '''\n pass\n\n @app.route('/pets/{pet_name}', methods=['GET', 'PUT', 'DELETE'])\n def pet(gist_id):\n '''\n ---\n get:\n responses:\n 200:\n schema: PetSchema\n\t\t404:\n\t\t schema: ErrorSchema\n delete:\n responses:\n 204:\n description: 'deleted pet'\n\t\t404:\n\t\t schema: ErrorSchema\n put:\n responses:\n 204:\n description: 'deleted pet'\n\t\t400:\n\t\t schema: ErrorSchema\n '''\n pass\n\n # Register entities and paths\n spec.definition('Category', schema=CategorySchema)\n spec.definition('Pet', schema=PetSchema)\n spec.definition('Error', schema=ErrorSchema)\n spec.add_path(app=app, view=pets)\n spec.add_path(app=app, view=pet)\n\nGenerated OpenAPI Spec\n----------------------\n\n.. code-block:: python\n\n spec.to_dict()\n #{ \n # 'info':{ \n # 'title':'Swagger Petstore',\n # 'version':'1.0.0'\n # },\n # 'paths':{ \n # '/pets':{ \n # 'get':{ \n # 'responses':{ \n # '200':{ \n # 'schema':{ \n # 'type':'array',\n # 'items':{ \n # '$ref':'#/definitions/Pet'\n # }\n # }\n # },\n # '404':{ \n # 'schema':{ \n # '$ref':'#/definitions/Error'\n # }\n # }\n # }\n # },\n # 'post':{ \n # 'responses':{ \n # '201':{ \n # 'headers':{ \n # 'Location':{ \n # 'description':'URI of new pet',\n # 'type':'string'\n # }\n # }\n # },\n # '400':{ \n # 'schema':{ \n # '$ref':'#/definitions/Error'\n # }\n # }\n # }\n # }\n # },\n # '/pets/{pet_name}':{ \n # 'get':{ \n # 'responses':{ \n # '200':{ \n # 'schema':{ \n # '$ref':'#/definitions/Pet'\n # }\n # },\n # '404':{ \n # 'schema':{ \n # '$ref':'#/definitions/Error'\n # }\n # }\n # }\n # },\n # 'delete':{ \n # 'responses':{ \n # '204':{ \n # 'description':'deleted pet'\n # },\n # '404':{ \n # 'schema':{ \n # '$ref':'#/definitions/Error'\n # }\n # }\n # }\n # },\n # 'put':{ \n # 'responses':{ \n # '204':{ \n # 'description':'deleted pet'\n # },\n # '400':{ \n # 'schema':{ \n # '$ref':'#/definitions/Error'\n # }\n # }\n # }\n # }\n # }\n # },\n # 'tags':[ \n #\n # ],\n # 'swagger':'2.0',\n # 'definitions':{ \n # 'Category':{ \n # 'type':'object',\n # 'properties':{ \n # 'name':{ \n # 'type':'string'\n # },\n # 'id':{ \n # 'type':'integer',\n # 'format':'int32'\n # }\n # },\n # 'required':[ \n # 'name'\n # ]\n # },\n # 'Pet':{ \n # 'type':'object',\n # 'properties':{ \n # 'name':{ \n # 'type':'string'\n # },\n # 'category':{ \n # 'type':'array',\n # 'items':{ \n # '$ref':'#/definitions/Category'\n # }\n # }\n # }\n # },\n # 'Error':{ \n # 'type':'object',\n # 'properties':{ \n # 'message':{ \n # 'type':'string'\n # },\n # 'status_code':{ \n # 'type':'integer',\n # 'format':'int32'\n # }\n # },\n # 'required':[ \n # 'status_code'\n # ]\n # }\n # },\n # 'parameters':{ \n #\n # }\n #}\n \n \nLicense\n=======\n\nMIT licensed. See the bundled `LICENSE `_ file for more details.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "apispec-chalice", "package_url": "https://pypi.org/project/apispec-chalice/", "platform": "", "project_url": "https://pypi.org/project/apispec-chalice/", "project_urls": null, "release_url": "https://pypi.org/project/apispec-chalice/0.2.2/", "requires_dist": null, "requires_python": "", "summary": "Chalice plugin for the apispec library", "version": "0.2.2" }, "last_serial": 3547416, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "20177d6c0e4e8953151bcb1de30c447a", "sha256": "9704110ac8849378a15c3e78eec6f7d4c6a36fdca5c7ff2d059f55f6f094a383" }, "downloads": -1, "filename": "apispec-chalice-0.1.0.tar.gz", "has_sig": false, "md5_digest": "20177d6c0e4e8953151bcb1de30c447a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1929, "upload_time": "2018-02-02T04:53:43", "url": "https://files.pythonhosted.org/packages/6d/cb/f03fe7ed8953e3bc62bf11e372e543b121f12e5d29d7592218d2bd2e6dc2/apispec-chalice-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "9b97c6dba39bfaffa010f58eed2c7a11", "sha256": "775c32d7e4ce7630070b1af9bdd06999aeee3a182f400281197bf1d8d9831874" }, "downloads": -1, "filename": "apispec-chalice-0.1.1.tar.gz", "has_sig": false, "md5_digest": "9b97c6dba39bfaffa010f58eed2c7a11", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1929, "upload_time": "2018-02-02T04:56:36", "url": "https://files.pythonhosted.org/packages/4a/e1/0ab3de0a36dc8a9d536aa5a44c5c73d2cab0ff112bf827d3990009a6b5ae/apispec-chalice-0.1.1.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "cdab8c5f86bf7477a6f73e678cf598ae", "sha256": "111c804e7790ab9de776b500ccb8aa7d684a21b5dc6c69e7596526e6907f772f" }, "downloads": -1, "filename": "apispec-chalice-0.2.0.tar.gz", "has_sig": false, "md5_digest": "cdab8c5f86bf7477a6f73e678cf598ae", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1863, "upload_time": "2018-02-02T05:32:28", "url": "https://files.pythonhosted.org/packages/e2/c0/901a96f6538f119d7c4d0c701cbc49f26dd51447b5e867f47a02481b9324/apispec-chalice-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "f82e87fba6cba06e77ea5de06f698985", "sha256": "ac9f1e2cbbcd2b736f7ba4bd6750deb75828921967eeab98c03338154e8f4c15" }, "downloads": -1, "filename": "apispec-chalice-0.2.1.tar.gz", "has_sig": false, "md5_digest": "f82e87fba6cba06e77ea5de06f698985", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3112, "upload_time": "2018-02-03T02:58:27", "url": "https://files.pythonhosted.org/packages/79/7f/d710713ceda022b6d65210906a92ba5adc0ebeea5372c76fc37bceacfb43/apispec-chalice-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "4f8916b19c5377bb996995dad68a8738", "sha256": "68984d90cfeacec85cb64c1beae6a48175c67603d9b4ffae148013f1bba802cb" }, "downloads": -1, "filename": "apispec-chalice-0.2.2.tar.gz", "has_sig": false, "md5_digest": "4f8916b19c5377bb996995dad68a8738", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3839, "upload_time": "2018-02-03T03:04:42", "url": "https://files.pythonhosted.org/packages/b8/3a/02950de570c74145e824aa574944350a0b8eb277d46f43d2d4511094943b/apispec-chalice-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4f8916b19c5377bb996995dad68a8738", "sha256": "68984d90cfeacec85cb64c1beae6a48175c67603d9b4ffae148013f1bba802cb" }, "downloads": -1, "filename": "apispec-chalice-0.2.2.tar.gz", "has_sig": false, "md5_digest": "4f8916b19c5377bb996995dad68a8738", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3839, "upload_time": "2018-02-03T03:04:42", "url": "https://files.pythonhosted.org/packages/b8/3a/02950de570c74145e824aa574944350a0b8eb277d46f43d2d4511094943b/apispec-chalice-0.2.2.tar.gz" } ] }