{ "info": { "author": "Simon Weber", "author_email": "simon@venmo.com", "bugtrack_url": null, "classifiers": [], "description": "swaggergenerator\n=================\n\nCreating swagger/OAS specs for an existing api by hand is tedious and error-prone.\nswaggergenerator fixes this by creating schemas from example interactions:\n\nGeneration is a three step process.\nHere's an example using `httpbin `__:\n\n.. code-block:: python\n\n import requests\n from swaggergenerator import Generator, get_yaml\n\n # 1: Create a Generator.\n generator = Generator()\n\n # 2: Provide one or more examples. They can be for different paths and verbs.\n response = requests.get('https://httpbin.org/get')\n generator.provide_example(response.request, response)\n\n # 3: Generate a schema (specifically, a Swagger Paths Object).\n print get_yaml(generator.generate_paths())\n\n.. code-block:: yaml\n\n /get:\n get:\n description: TODO\n parameters: []\n responses:\n '200':\n description: TODO\n schema:\n additionalProperties: false\n properties:\n args:\n additionalProperties: false\n properties: {}\n type: object\n headers:\n additionalProperties: false\n properties:\n Accept:\n type: string\n Accept-Encoding:\n type: string\n Connection:\n type: string\n Content-Length:\n type: string\n Host:\n type: string\n User-Agent:\n type: string\n type: object\n origin:\n type: string\n url:\n type: string\n type: object\n\nYou can install it with ``$ pip install swaggergenerator``.\n\n\nGeneration details\n---------------------\n\nGenerally, the generated schemas err on the side of being too strict.\nFor example, additionalProperties is always set to False and parameters are always required.\nThe recommended workflow is to generate schemas, validate them against all interactions in your test suite, and iterate until tests pass.\n\nHere are the swagger features you can expect to be generated:\n\n- path objects for arbitrary verb/path combinations\n- all-digit path parameters\n- complex path parameters (when given alongside an all-digit example)\n- request schemas for 2xx responses\n- response schemas for 2xx responses\n- references to existing definitions\n\nHere are some swagger features that won't be generated.\nIf your api uses any of these, you'll need to fix up your output manually:\n\n- nullable/polymorphic types\n- heterogeneous arrays\n- optional properties\n- additionalProperties != False\n\n\nContributing\n------------\n\nInside your vitualenv:\n\n.. code-block:: bash\n\n $ cd swaggergenerator\n $ pip install -e .\n $ pip install -r requirements.txt\n\n\nTo run the tests:\n\n.. code-block:: bash\n\n $ py.test tests/", "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/venmo/swaggergenerator", "keywords": null, "license": "MIT", "maintainer": null, "maintainer_email": null, "name": "swaggergenerator", "package_url": "https://pypi.org/project/swaggergenerator/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/swaggergenerator/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/venmo/swaggergenerator" }, "release_url": "https://pypi.org/project/swaggergenerator/0.0.5/", "requires_dist": null, "requires_python": null, "summary": "Automatically generate swagger/OAS schemas from example api interactions.", "version": "0.0.5" }, "last_serial": 2143167, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "ca367b8db57754f6453df6525ffd529e", "sha256": "c56d9b1a2fd058692abed8979a84ca1002b22e2692b77ce0848f3a36a56c65a7" }, "downloads": -1, "filename": "swaggergenerator-0.0.3.tar.gz", "has_sig": false, "md5_digest": "ca367b8db57754f6453df6525ffd529e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7997, "upload_time": "2016-04-29T16:36:13", "url": "https://files.pythonhosted.org/packages/87/bd/fda211827057efd8c7da689fcd8e3b6553cb793140aa49615bea46086a60/swaggergenerator-0.0.3.tar.gz" } ], "0.0.4": [], "0.0.5": [ { "comment_text": "", "digests": { "md5": "b5afe5f1ec5cef6023bd9e2a7c698a76", "sha256": "96f45c8bbd5d6b57c19e80e313d4ad1b720b6252d434a633e13e95ae316c0681" }, "downloads": -1, "filename": "swaggergenerator-0.0.5.tar.gz", "has_sig": false, "md5_digest": "b5afe5f1ec5cef6023bd9e2a7c698a76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8009, "upload_time": "2016-05-31T18:34:57", "url": "https://files.pythonhosted.org/packages/1e/56/e5a6ca09fccb2345f7672bd900e4db480b7991052dee819f1b3056a8135f/swaggergenerator-0.0.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "b5afe5f1ec5cef6023bd9e2a7c698a76", "sha256": "96f45c8bbd5d6b57c19e80e313d4ad1b720b6252d434a633e13e95ae316c0681" }, "downloads": -1, "filename": "swaggergenerator-0.0.5.tar.gz", "has_sig": false, "md5_digest": "b5afe5f1ec5cef6023bd9e2a7c698a76", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8009, "upload_time": "2016-05-31T18:34:57", "url": "https://files.pythonhosted.org/packages/1e/56/e5a6ca09fccb2345f7672bd900e4db480b7991052dee819f1b3056a8135f/swaggergenerator-0.0.5.tar.gz" } ] }