{ "info": { "author": "Marcin Lulek", "author_email": "marcin@webreactor.eu", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Framework :: Pyramid", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Internet :: WWW/HTTP", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "# pyramid_apispec\n\npyramid_apispec allows you to create an [OpenAPI specification file](https://swagger.io/specification/)\nusing [apispec](http://apispec.readthedocs.io/en/latest/) and an online OpenAPI explorer using the\n[Swagger UI](https://swagger.io/tools/swagger-ui/) project for your [Pyramid](https://trypyramid.com)\napplication and its [marshmallow](https://marshmallow.readthedocs.io/en/latest/) schemas.\n\n# Installation\n\n pip install pyramid_apispec\n\n# Basic usage\n\nCheck out the demo folder and minimal application example by running:\n\n pip install -e '.[demo]'\n python demo/app.py\n\nYou can then visit your API explorer page at http://0.0.0.0:6543/api-explorer.\n\n# Examples\n\nVisit [generated documentation here](https://ergo.github.io/pyramid_apispec/gh-pages)\n(please note that actual REST API is not working in github pages)\n\n## Hinting a route and its view:\n\n @view_config(route_name='foo_route', renderer='json')\n def foo_view():\n \"\"\"A greeting endpoint.\n\n ---\n x-extension: value\n get:\n description: some description\n responses:\n 200:\n description: response for 200 code\n schema:\n $ref: #/definitions/BarBodySchema\n \"\"\"\n return 'hi'\n\n## Rendering the spec as JSON response:\n\n from apispec import APISpec\n from apispec.ext.marshmallow import MarshmallowPlugin\n from pyramid_apispec.helpers import add_pyramid_paths\n\n @view_config(route_name='openapi_spec', renderer='json')\n def api_spec(request):\n spec = APISpec(\n title='Some API',\n version='1.0.0',\n plugins=[MarshmallowPlugin()],\n )\n # using marshmallow plugin here\n spec.definition('SomeFooBody', schema=MarshmallowSomeFooBodySchema)\n\n # inspect the `foo_route` and generate operations from docstring\n add_pyramid_paths(spec, 'foo_route', request=request)\n\n # inspection supports filtering via pyramid add_view predicate arguments\n add_pyramid_paths(\n spec, 'bar_route', request=request, request_method='post')\n return spec.to_dict()\n\n# Adding the API explorer view\n\nTo complement the specification file generation, this package can also provide an API explorer\nfor your application's API via the Swagger UI project:\n\n config.include('pyramid_apispec.views')\n config.add_route(\"openapi_spec\", \"/openapi.json\")\n config.pyramid_apispec_add_explorer(\n spec_route_name='openapi_spec')\n\nBy default you need to pass the route name of the view that serves the OpenAPI\nspecification in your application. If needed you can specify a Pyramid `permission` or\ncustom callable (`script_generator` argument) to override the default JavaScript\nconfiguration of Swagger UI.\n\nThe default URL for the explorer is `/api-explorer`. This setting is controlled\nvia the `explorer_route_path` argument - the route is registerd as `pyramid_apispec.api_explorer_path`.\n\n# Running tests\n\n pip install -e '.[dev]'\n tox\n\n\n", "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/ergo/pyramid_apispec", "keywords": "pyramid apispec marshmallow rest restful", "license": "BSD", "maintainer": "", "maintainer_email": "", "name": "pyramid-apispec", "package_url": "https://pypi.org/project/pyramid-apispec/", "platform": "", "project_url": "https://pypi.org/project/pyramid-apispec/", "project_urls": { "Homepage": "https://github.com/ergo/pyramid_apispec" }, "release_url": "https://pypi.org/project/pyramid-apispec/0.3.3/", "requires_dist": [ "apispec[yaml] (==1.3.3)", "marshmallow (==2.15.3); extra == 'demo'", "pyramid; extra == 'demo'", "apispec; extra == 'demo'", "webtest; extra == 'demo'", "coverage; extra == 'dev'", "pytest; extra == 'dev'", "pyramid; extra == 'dev'", "tox; extra == 'dev'", "webtest; extra == 'dev'", "black; extra == 'lint'" ], "requires_python": "", "summary": "Pyramid plugin for openapi spec generation", "version": "0.3.3" }, "last_serial": 5259222, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "1fb5088724c4451f929d177bb020c3ac", "sha256": "e49dfc74ea245c0db491b98d250e9ab62fb3a317b02da8ceca637e06b739a457" }, "downloads": -1, "filename": "pyramid_apispec-0.1.0.tar.gz", "has_sig": false, "md5_digest": "1fb5088724c4451f929d177bb020c3ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7041, "upload_time": "2018-06-13T00:25:42", "url": "https://files.pythonhosted.org/packages/ac/a2/63b6dd75eca0e0496f660a103b40ed8353fcbf7a49e92686e512cd401add/pyramid_apispec-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c6745a964f3923c6f70a91181298baa2", "sha256": "a8fd00b163e582a814ad5f3a3a1dbe0ad50200ec355f40e3bfde1325e4c0a77c" }, "downloads": -1, "filename": "pyramid_apispec-0.1.1.tar.gz", "has_sig": false, "md5_digest": "c6745a964f3923c6f70a91181298baa2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7853, "upload_time": "2018-06-13T00:55:01", "url": "https://files.pythonhosted.org/packages/d7/38/611fdae6034f342e21e86c243f98c3ff63b7e00e9c47a358b86a79935d99/pyramid_apispec-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ef33b66e2c639d2187d12fb09d27ef01", "sha256": "8209c70a1d78b8a30880ce214c982927343588fdf56b7b14bf55b23157a53dbd" }, "downloads": -1, "filename": "pyramid_apispec-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ef33b66e2c639d2187d12fb09d27ef01", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9628, "upload_time": "2018-06-24T10:14:00", "url": "https://files.pythonhosted.org/packages/11/c5/a88e93b5451508e12472f6b59d6ccd823e5fa2b28b68e4aab9919979e4f9/pyramid_apispec-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "febe66046c49b3cd7f6246b7b4149acb", "sha256": "332e572c98d77c04d715f57acf849cb956930a7df1034470f01d0f2d77438563" }, "downloads": -1, "filename": "pyramid_apispec-0.1.2.tar.gz", "has_sig": false, "md5_digest": "febe66046c49b3cd7f6246b7b4149acb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8212, "upload_time": "2018-06-24T10:14:01", "url": "https://files.pythonhosted.org/packages/97/5a/17fbf7a0d59ac08db8990c04ceabe0230d49339d04384420e7f38e4a1f18/pyramid_apispec-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "14bdecd5b3666cc0868409b053ac6821", "sha256": "77a8de505eadd396d1172f7a9f62fd32737770f8acea884148a0ac79782ed2e7" }, "downloads": -1, "filename": "pyramid_apispec-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "14bdecd5b3666cc0868409b053ac6821", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9757, "upload_time": "2018-07-13T21:14:52", "url": "https://files.pythonhosted.org/packages/55/e5/eb5fa3646bf441d210bf26aeb92de183d054156e959164ec48f57f36bdf9/pyramid_apispec-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "121bb1d389cc43e546556cf518dd90d6", "sha256": "6ef4a22126e661ea46952de9e6357807265e3f20d1cc4c9760129747d1a3317c" }, "downloads": -1, "filename": "pyramid_apispec-0.1.3.tar.gz", "has_sig": false, "md5_digest": "121bb1d389cc43e546556cf518dd90d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8332, "upload_time": "2018-07-13T21:14:53", "url": "https://files.pythonhosted.org/packages/bb/e6/b1f92842b8114fd60baa5030368a9595ae1cca2dc3361bfaa7b390cac0cc/pyramid_apispec-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "8e30882b225b3076596652731f7e4f15", "sha256": "aa96b7799671453060d7d0bafb21105bd7849c4f8c3e2fe8fe46b0d465fdd75c" }, "downloads": -1, "filename": "pyramid_apispec-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8e30882b225b3076596652731f7e4f15", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9802, "upload_time": "2018-07-13T22:40:27", "url": "https://files.pythonhosted.org/packages/03/07/acab350df2abccda3e471e3065b124d320b0b17652387b19866532a4888f/pyramid_apispec-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "6efb37915787d353814bc926e547316d", "sha256": "e47048e383f2f5ce5c3c60ef2d2ba20b6cf795adc06377a584af190c5d6099e5" }, "downloads": -1, "filename": "pyramid_apispec-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6efb37915787d353814bc926e547316d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8385, "upload_time": "2018-07-13T22:40:29", "url": "https://files.pythonhosted.org/packages/fe/78/535a3061e732ae19266ac4f8c69d282d1002961fb4b65d6ad86371e03a11/pyramid_apispec-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "aef4f0902f126835d130fff24ae97598", "sha256": "54951ed62ac23ee39ec50b40566b2c9fbf92e90312f9c5be0cd1fb545872ce15" }, "downloads": -1, "filename": "pyramid_apispec-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "aef4f0902f126835d130fff24ae97598", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12346, "upload_time": "2018-08-09T19:55:47", "url": "https://files.pythonhosted.org/packages/7d/9f/7e9b46b7a8bd939305cfd775cc8a4ddc6d69294c0a6fbf3e9df3e8feaabc/pyramid_apispec-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "04c03e79afafaba5dfaa05c921efcd16", "sha256": "5c5a5db8ec8c2c27604d39696cef441a58b3f3763a2fea6acbaa64c0f4547706" }, "downloads": -1, "filename": "pyramid_apispec-0.2.0.tar.gz", "has_sig": false, "md5_digest": "04c03e79afafaba5dfaa05c921efcd16", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9981, "upload_time": "2018-08-09T19:55:49", "url": "https://files.pythonhosted.org/packages/50/ad/a71fddf8a5050aac5a1d6548e448fae416a40427d08e7edc3765f6883a89/pyramid_apispec-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "95d13461aec82e7927e0e3eaf6b2e39e", "sha256": "a1cd0cac3df54fb9c0f3818f13d78b435286cf2b3dd063fc2661693a8d4049a9" }, "downloads": -1, "filename": "pyramid_apispec-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "95d13461aec82e7927e0e3eaf6b2e39e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 12480, "upload_time": "2018-08-11T15:10:14", "url": "https://files.pythonhosted.org/packages/d9/9c/6ef5b9eec6c436f306c5121f3e7b5f336c9d2ef8b7f7288155c55fd0f349/pyramid_apispec-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3241a8a5cabd65c8bf401d8489dd21da", "sha256": "492e1fa124bf5d4e335beb33972f33bccca614aac9b15e5aa3e236781f6cda29" }, "downloads": -1, "filename": "pyramid_apispec-0.2.1.tar.gz", "has_sig": false, "md5_digest": "3241a8a5cabd65c8bf401d8489dd21da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10111, "upload_time": "2018-08-11T15:10:15", "url": "https://files.pythonhosted.org/packages/4c/66/5021106efdca717b555fc40edb19cf2e1579bf3fb18146e39db6d885337d/pyramid_apispec-0.2.1.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "3b6b1d9f2cae5e2d7e7f3e78a485e286", "sha256": "1b31db9c5009a42b1471126ec746d48bacd9fa29b296f27e6f118021bd676a3b" }, "downloads": -1, "filename": "pyramid_apispec-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3b6b1d9f2cae5e2d7e7f3e78a485e286", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10129, "upload_time": "2018-11-07T23:44:26", "url": "https://files.pythonhosted.org/packages/29/8c/9f1fc36a595b6b7b87dc20c5b33fa0b19f17798bc9f97246e2f38d4fc77f/pyramid_apispec-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38d4bfc2f59dca5789b115a4209e3444", "sha256": "aed4f8ac030edd4e4e59470be61731b90aef1728eb35545f6c9171f1712f0159" }, "downloads": -1, "filename": "pyramid_apispec-0.3.0.tar.gz", "has_sig": false, "md5_digest": "38d4bfc2f59dca5789b115a4209e3444", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8632, "upload_time": "2018-11-07T23:44:28", "url": "https://files.pythonhosted.org/packages/db/70/5942037cf631eed864b6db14f31a47caee49474c4155d6468fb18c69042f/pyramid_apispec-0.3.0.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "01e2ea68d2bb9ca5401e4d5c26e9f07f", "sha256": "f9a865ba51dddf95173748b30b9ec03abddcd702ab8fcbabedfe9d8e8811b81e" }, "downloads": -1, "filename": "pyramid_apispec-0.3.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "01e2ea68d2bb9ca5401e4d5c26e9f07f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10279, "upload_time": "2019-01-31T13:18:18", "url": "https://files.pythonhosted.org/packages/dd/17/d8ff43b68565eb27baca24ca96483bcc6cf7438cf63ce2e32595db6dfcd0/pyramid_apispec-0.3.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8953766cf484260949d2e98321de19b3", "sha256": "98a1f06e244f6b8522002dedc864685f7f6654fd0d2a2ab365c3edd34f2ed46c" }, "downloads": -1, "filename": "pyramid_apispec-0.3.1.tar.gz", "has_sig": false, "md5_digest": "8953766cf484260949d2e98321de19b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8785, "upload_time": "2019-01-31T13:18:21", "url": "https://files.pythonhosted.org/packages/c2/e0/6bd37cb757837369458614f5bb38a1966d8acdd1a045e102e2ef4c70a0b9/pyramid_apispec-0.3.1.tar.gz" } ], "0.3.2": [ { "comment_text": "", "digests": { "md5": "710ef055568ba1bcc75cc5c743848bdf", "sha256": "ce62e9ee83686fb6a948fd58b4e03db82208ed310b0969c0911891028d3c8d25" }, "downloads": -1, "filename": "pyramid_apispec-0.3.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "710ef055568ba1bcc75cc5c743848bdf", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10279, "upload_time": "2019-02-09T01:26:48", "url": "https://files.pythonhosted.org/packages/07/12/23e6a44b9c77aee64370cbb9afbd6c207f8456d395ed67231310b8232fe6/pyramid_apispec-0.3.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa14e48b97759269b021c0aff7e6af6e", "sha256": "40359493a75e55e97611099d6e28871870e31f4d1b60e6e08ed3cf962e66d939" }, "downloads": -1, "filename": "pyramid_apispec-0.3.2.tar.gz", "has_sig": false, "md5_digest": "aa14e48b97759269b021c0aff7e6af6e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8781, "upload_time": "2019-02-09T01:26:49", "url": "https://files.pythonhosted.org/packages/2a/30/1dea5d81ea635449572ba60ec3148310d75ae4530c3c695f54b0991bb8c7/pyramid_apispec-0.3.2.tar.gz" } ], "0.3.3": [ { "comment_text": "", "digests": { "md5": "3ee73a8c25f92abe184d92b65c1e3e4e", "sha256": "f46e114a6ac8fa336fcf60de2d69fcc44f7fd68535e4bc39df22263cf89f3596" }, "downloads": -1, "filename": "pyramid_apispec-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ee73a8c25f92abe184d92b65c1e3e4e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10328, "upload_time": "2019-05-12T15:53:42", "url": "https://files.pythonhosted.org/packages/7c/d1/fd2dbb93effea537c8788793d1dceb8d49755bb6900262b48a37484c325a/pyramid_apispec-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58442d4d5b33c331018035954a64cd6c", "sha256": "dba524179363ce899976221ceeba84f21b543c20d03b6df2413f5467a44ecc0a" }, "downloads": -1, "filename": "pyramid_apispec-0.3.3.tar.gz", "has_sig": false, "md5_digest": "58442d4d5b33c331018035954a64cd6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8831, "upload_time": "2019-05-12T15:53:44", "url": "https://files.pythonhosted.org/packages/68/b6/78e4f736f2b0c07ff16649ed92be08fe8a30479b904415876a8d023476c1/pyramid_apispec-0.3.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3ee73a8c25f92abe184d92b65c1e3e4e", "sha256": "f46e114a6ac8fa336fcf60de2d69fcc44f7fd68535e4bc39df22263cf89f3596" }, "downloads": -1, "filename": "pyramid_apispec-0.3.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "3ee73a8c25f92abe184d92b65c1e3e4e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10328, "upload_time": "2019-05-12T15:53:42", "url": "https://files.pythonhosted.org/packages/7c/d1/fd2dbb93effea537c8788793d1dceb8d49755bb6900262b48a37484c325a/pyramid_apispec-0.3.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58442d4d5b33c331018035954a64cd6c", "sha256": "dba524179363ce899976221ceeba84f21b543c20d03b6df2413f5467a44ecc0a" }, "downloads": -1, "filename": "pyramid_apispec-0.3.3.tar.gz", "has_sig": false, "md5_digest": "58442d4d5b33c331018035954a64cd6c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8831, "upload_time": "2019-05-12T15:53:44", "url": "https://files.pythonhosted.org/packages/68/b6/78e4f736f2b0c07ff16649ed92be08fe8a30479b904415876a8d023476c1/pyramid_apispec-0.3.3.tar.gz" } ] }