{ "info": { "author": "Cristian Heredia", "author_email": "cheredia@kountable.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.7" ], "description": "\"Code\n\n[![Build Status](https://travis-ci.org/kountable/sanic-to-json.svg?branch=master)](https://travis-ci.org/kountable/sanic-to-json)\n\n# sanic-to-json\nGenerate a Postman [JSON](http://json.org) file from a [Sanic app](https://sanic.readthedocs.io/en/latest/index.html#). The JSON file can directly uploaded into the [Postman client](https://www.getpostman.com) or through their [API](https://docs.api.getpostman.com/?version=latest#3190c896-4216-a0a3-aa38-a041d0c2eb72). \n\nUsing the postman [schema](https://schema.getpostman.com/json/collection/v2.1.0/collection.json) we can build Postman Collections using python endpoints from Sanic (Flask apps need testing). The script parses the Sanic app. It searches for blueprints. The blueprints, through routes, provide docs strings data. The doc string data is used to populate a Postman formatted JSON file. The JSON file can then be uploaded to Postman as a collection. \n\nOnce we have Postman formatted JSON we can create API documentation through the Postman [API](https://docs.api.getpostman.com/?version=latest#3190c896-4216-a0a3-aa38-a041d0c2eb72)\n\n## How to use\n\n- to execute an example run `python -m examples.example_script`\nwhich executes\n```python\nfrom sanic_to_json import generate_sanic_json\nfrom examples.app import app\n\ngenerate_sanic_json(\"Test API\", app, filename=\"postman_collection.json\")\n```\nThe above code formats the Postman collection with 'Test API' and doc strings from Sanic app, `app`, and yields [postman_collection.json](https://github.com/kountable/sanic-to-json/blob/master/postman_collection.json)\n\n### To add `body` and `header` elements to Postman JSON \nPlacing `INI` in doc string will cause the text below to be loaded into a python config object, which then get converted to the appropiate headers and JSON body in Posttman. \n\nFor example, as found in [endpoint-three](https://github.com/kountable/sanic-to-json/blob/master/examples/blueprint_1.py)\n```\n INI\n [request]\n headers = {\"Content-Type\": \"application/json\"}\n body = {\"username\": \"{{username}}\", \"password\": \"{{password}}\"}\n```\n\n### To add query parameters\nSimilar to above placing sections under INI that are prefixed will start a example request. \nFor example, as found in [endpoint-one](https://github.com/kountable/sanic-to-json/blob/master/examples/blueprint_1.py)\n```\n \"\"\"Return text from request.\n \n INI\n [request]\n headers = {\"Content-Type\": \"application/json\",\"x-amz-sns-message-type\": \"Notification\"}\n query = ?day=1&temp=F\n \"\"\"\n```\n\n## How to document Sanic app and Blueprints\n- As the example shows, the Sanic app should have a `.doc` attribute. This doc string will serve as the introduction to the API in Postman docs, e.g., `app.__doc__ = \"This API does stuff.\"`\n\n- Blueprints should also include a doc string, this will serve as the description to each collection folder in Postman. Again see `examples` folder\n`bp1.__doc__ = \"This is the doc string for blueprint1.\"`\n\n- Note: You can't send a JSON body with GET method. \n\n## How to install \n`pip install sanic-to-json`\n\n\n## Contributors\nSee the [GitHub contributor page](https://github.com/kountable/sanic-to-json/graphs/contributors)\n\n\n## License\nsanic-to-json is open source software [licensed as MIT](https://github.com/kountable/sanic-to-json/blob/master/LICENSE).\n\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/caheredia/sanic-to-json", "keywords": "", "license": "MIT", "maintainer": "Cristian Heredia", "maintainer_email": "cheredia@kountable.com", "name": "sanic-to-json", "package_url": "https://pypi.org/project/sanic-to-json/", "platform": "", "project_url": "https://pypi.org/project/sanic-to-json/", "project_urls": { "Homepage": "https://github.com/caheredia/sanic-to-json", "Repository": "https://github.com/caheredia/sanic-to-json" }, "release_url": "https://pypi.org/project/sanic-to-json/0.1.9/", "requires_dist": null, "requires_python": ">=3.7,<4.0", "summary": "Create Postman JSON API documentation files from Sanic.", "version": "0.1.9", "yanked": false, "yanked_reason": null }, "last_serial": 6055088, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "1d4ee04aee5815fa5bee28d9a7c404fe", "sha256": "d92eee16d87e41a589089ed181e229b63f5757090c328219d96a8034943c67cf" }, "downloads": -1, "filename": "sanic_to_json-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "1d4ee04aee5815fa5bee28d9a7c404fe", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 4877, "upload_time": "2019-08-09T23:03:15", "upload_time_iso_8601": "2019-08-09T23:03:15.397368Z", "url": "https://files.pythonhosted.org/packages/5b/bc/87fa75977364775832b600bdceff6e7397f768d813b1127e08e4c2f42236/sanic_to_json-0.1.2-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "78f194df9bf4137459b2e92ed1240bb5", "sha256": "9a893a8ec19742f44e4d86945b8539741c8b8e0ae3f51bacc296663ec5c8d18c" }, "downloads": -1, "filename": "sanic-to-json-0.1.2.tar.gz", "has_sig": false, "md5_digest": "78f194df9bf4137459b2e92ed1240bb5", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 4721, "upload_time": "2019-08-09T23:03:12", "upload_time_iso_8601": "2019-08-09T23:03:12.950462Z", "url": "https://files.pythonhosted.org/packages/94/aa/9eee0a29384594d8e91521498fafc4cad0749563601562f3d12bb5b04b92/sanic-to-json-0.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "283d1faab7926c18a40c79735a5b3a11", "sha256": "3084103b0a3d0eb65fe84cb256322d2d923d5b8ed8b9ae6f1756a6d862ac410a" }, "downloads": -1, "filename": "sanic_to_json-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "283d1faab7926c18a40c79735a5b3a11", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 4879, "upload_time": "2019-08-09T23:06:56", "upload_time_iso_8601": "2019-08-09T23:06:56.673773Z", "url": "https://files.pythonhosted.org/packages/de/1e/e6b7d2f24ca50d82ed77283ef57b7a43c6d7423c4472228dba48483c97a3/sanic_to_json-0.1.3-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "4f2cfc3603ab6d335e9ff94fc4765069", "sha256": "e76210d59308c6f90a1252973e05860a6c496778397ac93c5e0754507b4ed75b" }, "downloads": -1, "filename": "sanic-to-json-0.1.3.tar.gz", "has_sig": false, "md5_digest": "4f2cfc3603ab6d335e9ff94fc4765069", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 4686, "upload_time": "2019-08-09T23:06:55", "upload_time_iso_8601": "2019-08-09T23:06:55.339360Z", "url": "https://files.pythonhosted.org/packages/d8/eb/e345ebcfacfbe2bc9422908fec0706ae2fb91e6e935b80562aac04ab3c2f/sanic-to-json-0.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "166ec634390c732229d91e3291b998ec", "sha256": "7763b7e9607384ed889e603f5bc0329f617c6c3296a6745f5e0f210af6647f87" }, "downloads": -1, "filename": "sanic_to_json-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "166ec634390c732229d91e3291b998ec", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 4881, "upload_time": "2019-08-09T23:31:15", "upload_time_iso_8601": "2019-08-09T23:31:15.190172Z", "url": "https://files.pythonhosted.org/packages/fb/55/2733f2a72b695b86476778bbb082342bd5c542f4c6220c689496b54e204d/sanic_to_json-0.1.4-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6632f0b3a45d90391feacae3c2f15af1", "sha256": "a7fb59ed27e0b56b2bbec45717ab7f320e953d8bd7a409d2df90172e9b0df392" }, "downloads": -1, "filename": "sanic-to-json-0.1.4.tar.gz", "has_sig": false, "md5_digest": "6632f0b3a45d90391feacae3c2f15af1", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 4685, "upload_time": "2019-08-09T23:31:13", "upload_time_iso_8601": "2019-08-09T23:31:13.939164Z", "url": "https://files.pythonhosted.org/packages/a1/20/5108b38a2d91e41c7844e2a7c7fdb07f7982dfc1f87d1f43ffbfcef0de5d/sanic-to-json-0.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "b04517ec937466fd94d301ca2d38d0d8", "sha256": "403dc089906bea973b7629511bc69cd15c9bef883454d09d92f0529285a4d99e" }, "downloads": -1, "filename": "sanic_to_json-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "b04517ec937466fd94d301ca2d38d0d8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 4704, "upload_time": "2019-08-09T23:54:53", "upload_time_iso_8601": "2019-08-09T23:54:53.898099Z", "url": "https://files.pythonhosted.org/packages/c8/6e/fec7c09317892470e022ee1b3284575af1d89f7d3426a55b2737949639f5/sanic_to_json-0.1.5-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9e5e890a2021ccc4151ea234b33eeb41", "sha256": "b909a8c4e4f12186ff75fabcf8331339ef5f2ad756c98c1bb192082b17b35373" }, "downloads": -1, "filename": "sanic-to-json-0.1.5.tar.gz", "has_sig": false, "md5_digest": "9e5e890a2021ccc4151ea234b33eeb41", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 4499, "upload_time": "2019-08-09T23:54:52", "upload_time_iso_8601": "2019-08-09T23:54:52.040216Z", "url": "https://files.pythonhosted.org/packages/e0/75/91e37c05526b9eee6ee84054b9e390db25b5f4191c0fedc2a7d00488004c/sanic-to-json-0.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "1aaa54a7fce566c49c19a7ce94fea926", "sha256": "15dc27a427c83befaaebea828f1019a7050b4f6a597fb7e803a370db7a2dc44a" }, "downloads": -1, "filename": "sanic_to_json-0.1.6-py3-none-any.whl", "has_sig": false, "md5_digest": "1aaa54a7fce566c49c19a7ce94fea926", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 5003, "upload_time": "2019-08-14T22:56:41", "upload_time_iso_8601": "2019-08-14T22:56:41.185910Z", "url": "https://files.pythonhosted.org/packages/75/9d/323fc969d0fbf2c21444dff378c3f6171e0de5a45eabcfa55462988f7499/sanic_to_json-0.1.6-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "70ec8b9f387f77923c3992b97f2f273f", "sha256": "4b4449caf93c6603526fa4b95e5e6d692c33c41134e778d0600aa8271571600e" }, "downloads": -1, "filename": "sanic-to-json-0.1.6.tar.gz", "has_sig": false, "md5_digest": "70ec8b9f387f77923c3992b97f2f273f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 4823, "upload_time": "2019-08-14T22:56:39", "upload_time_iso_8601": "2019-08-14T22:56:39.707143Z", "url": "https://files.pythonhosted.org/packages/1d/9d/d3005d716f9230b0769e55c4ff7a4c7881ad6e50b4966abb16cb3b9e1912/sanic-to-json-0.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "e70a9a6b8ef6738c92a65a47ab4fd452", "sha256": "65f6c438f3e945929dcfc6d4bb83b0c50651bcd66beea9f5ca61501b328afc46" }, "downloads": -1, "filename": "sanic_to_json-0.1.7-py3-none-any.whl", "has_sig": false, "md5_digest": "e70a9a6b8ef6738c92a65a47ab4fd452", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 5660, "upload_time": "2019-08-28T23:12:39", "upload_time_iso_8601": "2019-08-28T23:12:39.170321Z", "url": "https://files.pythonhosted.org/packages/3e/3a/87f79f87d0e22f652202b416923fb7a26b66fe167413983a8e359e0e1193/sanic_to_json-0.1.7-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0d9c9ffa50e8226579095c01c126451d", "sha256": "5b5c87aa845a64edaeb252ca3e1ae37ad835a0ea59b85fd66c5719a2a2283c3f" }, "downloads": -1, "filename": "sanic-to-json-0.1.7.tar.gz", "has_sig": false, "md5_digest": "0d9c9ffa50e8226579095c01c126451d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5623, "upload_time": "2019-08-28T23:12:37", "upload_time_iso_8601": "2019-08-28T23:12:37.763262Z", "url": "https://files.pythonhosted.org/packages/a3/da/4f04e1d8ddd3107fa0b8ad2a0e86e5c673fc3c31774ac6c5de2a83d6f32a/sanic-to-json-0.1.7.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "edad20f407110274794323aa1f2a2b68", "sha256": "93712b2a0f2df78dca12b7feb68e2461e5883529cb4ba05c4d601c524feb7bf4" }, "downloads": -1, "filename": "sanic_to_json-0.1.8-py3-none-any.whl", "has_sig": false, "md5_digest": "edad20f407110274794323aa1f2a2b68", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 7237, "upload_time": "2019-09-09T18:17:11", "upload_time_iso_8601": "2019-09-09T18:17:11.026789Z", "url": "https://files.pythonhosted.org/packages/19/e9/cd41db621948a91a624669af6da10496a853d92a6b1a163ea62da476d9d5/sanic_to_json-0.1.8-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9970de66bd2b7d56bb789d1b7ef43869", "sha256": "f33a77091a59b9b7934c79a42342c2d365a96afe2f048afa72f26474a99c90db" }, "downloads": -1, "filename": "sanic-to-json-0.1.8.tar.gz", "has_sig": false, "md5_digest": "9970de66bd2b7d56bb789d1b7ef43869", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5787, "upload_time": "2019-09-09T18:17:09", "upload_time_iso_8601": "2019-09-09T18:17:09.559203Z", "url": "https://files.pythonhosted.org/packages/32/08/3a4f9ce91601c6805d80d22b583ca555cb60786bf750d1d9e2177fea1a7c/sanic-to-json-0.1.8.tar.gz", "yanked": false, "yanked_reason": null } ], "0.1.9": [ { "comment_text": "", "digests": { "md5": "a3722d8a973778ad3e463ca7b3276431", "sha256": "c4059b867e24d4a5a0a69ddc9b892bd6e182061771475afaa1b434f46dd29db2" }, "downloads": -1, "filename": "sanic_to_json-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "a3722d8a973778ad3e463ca7b3276431", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 7230, "upload_time": "2019-10-30T22:10:36", "upload_time_iso_8601": "2019-10-30T22:10:36.163019Z", "url": "https://files.pythonhosted.org/packages/1e/32/948ac09561dfbba7cbd974981ed3955d96164c30bb60d2d980cd2f67fd2c/sanic_to_json-0.1.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "452bc238b3744549c57d93eb45969f3f", "sha256": "0d0f5c350b33e08519dd1e5195b938fe87bcb92f0b74ab738713c023e9bcbd0d" }, "downloads": -1, "filename": "sanic-to-json-0.1.9.tar.gz", "has_sig": false, "md5_digest": "452bc238b3744549c57d93eb45969f3f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5782, "upload_time": "2019-10-30T22:10:35", "upload_time_iso_8601": "2019-10-30T22:10:35.009694Z", "url": "https://files.pythonhosted.org/packages/ae/81/5d850c19ce2a82945a3ffcfa5d8a1c4e472389957cd569c642acb86a629a/sanic-to-json-0.1.9.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a3722d8a973778ad3e463ca7b3276431", "sha256": "c4059b867e24d4a5a0a69ddc9b892bd6e182061771475afaa1b434f46dd29db2" }, "downloads": -1, "filename": "sanic_to_json-0.1.9-py3-none-any.whl", "has_sig": false, "md5_digest": "a3722d8a973778ad3e463ca7b3276431", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7,<4.0", "size": 7230, "upload_time": "2019-10-30T22:10:36", "upload_time_iso_8601": "2019-10-30T22:10:36.163019Z", "url": "https://files.pythonhosted.org/packages/1e/32/948ac09561dfbba7cbd974981ed3955d96164c30bb60d2d980cd2f67fd2c/sanic_to_json-0.1.9-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "452bc238b3744549c57d93eb45969f3f", "sha256": "0d0f5c350b33e08519dd1e5195b938fe87bcb92f0b74ab738713c023e9bcbd0d" }, "downloads": -1, "filename": "sanic-to-json-0.1.9.tar.gz", "has_sig": false, "md5_digest": "452bc238b3744549c57d93eb45969f3f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7,<4.0", "size": 5782, "upload_time": "2019-10-30T22:10:35", "upload_time_iso_8601": "2019-10-30T22:10:35.009694Z", "url": "https://files.pythonhosted.org/packages/ae/81/5d850c19ce2a82945a3ffcfa5d8a1c4e472389957cd569c642acb86a629a/sanic-to-json-0.1.9.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }