{ "info": { "author": "Leo Noordergraaf", "author_email": "leo@noordergraaf.net", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Plugins", "Framework :: Sphinx :: Extension", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Topic :: Documentation :: Sphinx", "Topic :: Software Development :: Documentation" ], "description": ".. sphinx-jsonschema README\n Copyright: (C) 2017, Leo Noordergraaf\n\n=================\nsphinx-jsonschema\n=================\n\nThis package contains sphinx-jsonschema, an extension to Sphinx to allow\nauthors to display a `JSON Schema `_ in their\ndocumentation.\n\nIt arose out of a personal itch and implements what I needed.\nSome features of JSON Schema are (not yet) implemented.\nAlso I can imagine that other display layouts are desired.\n\nLet me know in comments and perhaps pull requests.\n\n\nFeatures\n========\n\n* Near complete support for all features of JSON Schema Draft 4.\n* Supports inline schemas as well as external schemas loaded from a file or URL.\n* Supports JSON Pointer notation on external resources to select a subschema.\n* Supports cross references between schemas.\n* Allows reStructuredText markup in ``title`` and ``description`` fields.\n* Allows JSON Schema definitions in both JSON and YAML format.\n* Supports the ``example`` keyword from Draft 7.\n\nInstallation\n============\nInstall the package using pip::\n\n pip install sphinx-jsonschema\n\nand add it to the extensions list in your conf.py::\n\n extensions = [\n 'sphinx-jsonschema'\n ]\n\nUsage\n=====\n\nThe extension adds a single directive to Sphinx: **jsonschema**.\nYou provide it with either an http URL to a schema or you may\nembed the schema inline.\n\nExample\n=======\n\nDisplay a schema fetched from a website::\n\n .. jsonschema:: http://some.domain/with/a/path/spec.json\n\n\nDisplay a schema located in a file with an absolute path::\n\n .. jsonschema:: /home/leo/src/jsonschema/sample.json\n\nOr a path relative to the referencing document::\n\n .. jsonschema:: jsonschema/sample.json\n\nWith all three of the above you may add JSON Pointer notation to display a subschema::\n\n .. jsonschema:: http://some.domain/with/a/path/spec.json#/path/to/schema\n .. jsonschema:: /home/leo/src/jsonschema/sample.json#/path/to/schema\n .. jsonschema:: jsonschema/sample.json#/path/to/schema\n\nAlternatively you can embed the schema::\n\n .. jsonschema::\n\n {\n \"$schema\": \"This field is ignored for now. Perhaps use it to indicate schema version in display?\",\n \"title\": \"Test data set 1: **Simple type**\",\n \"id\": \"http://this.better.be.a.regular.domain\",\n \"description\": \"These data sets exercise `JSON Schema `_ constructions and show how they are rendered.\\n\\nNote that it is possible to embed reStructuredText elements in strings.\",\n \"type\": \"string\",\n \"minLength\": 10,\n \"maxLength\": 100,\n \"pattern\": \"^[A-Z]+$\"\n }\n\nThis notation does not support JSON Pointer.\n\nJSON Schema extension\n=====================\n\n$$target\n sphinx-jsonschema extends JSON Schema with the ``$$target`` key.\n\n This key is only recognized at the outermost object of the schema.\n\nJSON Schema uses the ``$ref`` key in combination with the ``$id`` key to cross-reference between schemas.\n\nSphinx-jsonschema ignores ``$id`` but uses the value of ``$ref`` to create a reStructuredText ``:ref:`` role.\n\nFor this to work you need to mark the target schema with the ``$$target`` key, the value of which must be\nidentical to the value of the corresponding ``$ref`` key.\n\nSo a schema::\n\n {\n \"title\": \"Schema 1\",\n \"$ref\": \"#/definitions/schema2\"\n }\n\nwill have its ``$ref`` replaced by a link pointing to::\n\n {\n \"title\": \"Schema 2\",\n \"$$target\": \"#/definitions/schema2\"\n ...\n }\n\nOccasionally a schema will be addressed from several other schemas using different ``$ref`` values.\nIn that case the value of ``$$target`` should be a list enumerating all different references to the\nschema.\n\n$$description\n sphinx-jsonschema extends JSON Schema with the ``$$description`` key.\n\nThis key serves the same purpose as the ``description`` key and can be used in the same way.\nIt differs from ``description`` in that it allows an array of strings as value instead of a\nsingle string.\n\nThis allows you to write::\n\n {\n ...\n \"description\": \"+------------+------------+-----------+ \\n| Header 1 | Header 2 | Header 3 | \\n+============+============+===========+ \\n| body row 1 | column 2 | column 3 | \\n+------------+------------+-----------+ \\n| body row 2 | Cells may span columns.| \\n+------------+------------+-----------+ \\n| body row 3 | Cells may | - Cells | \\n+------------+ span rows. | - contain | \\n| body row 4 | | - blocks. | \\n+------------+------------+-----------+\",\n ...\n }\n\nas::\n\n {\n ...\n \"$$description\": [\n \"+------------+------------+-----------+\",\n \"| Header 1 | Header 2 | Header 3 |\",\n \"+============+============+===========+\",\n \"| body row 1 | column 2 | column 3 |\",\n \"+------------+------------+-----------+\",\n \"| body row 2 | Cells may span columns.|\",\n \"+------------+------------+-----------+\",\n \"| body row 3 | Cells may | - Cells |\",\n \"+------------+ span rows. | - contain |\",\n \"| body row 4 | | - blocks. |\",\n \"+------------+------------+-----------+\"\n ],\n ...\n }\n\nWhich clearly is much more readable and maintainable.\n\nLicence\n=======\n\nCopyright Leo Noordergraaf, All rights reserved.\n\nThis software is made available under the GPL v3.\n\n\nChangelog\n=========\n\nVersion 1.11\n------------\n\nSolved a divergence of the standard reported by bbasic (https://github.com/bbasics).\n\nVersion 1.10\n------------\n\nIvan Vysotskyy (https://github.com/ivysotskyi) contributed the idea to use an array with\nthe ``description`` key resulting in the new ``$$description`` key.\n\n\nVersion 1.9\n-----------\n\nTom Walter (https://github.com/EvilPuppetMaster) contributed the ``example`` support.\n\nVersion 1.4\n-----------\n\nChris Holdgraf (https://github.com/choldgraf) contributed Python3 and yaml support.\n\nVersion 1.3\n-----------\n\nAdd unicode support.\n\nVersion 1.2\n-----------\n\nImproved formatting.\n\nVersion 1.1\n-----------\n\nImplemented schema cross referencing.\n\nVersion 1.0\n-----------\n\nInitial release of a functioning plugin.", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/lnoor/sphinx-jsonschema", "keywords": "sphinx json schema", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "sphinx-jsonschema", "package_url": "https://pypi.org/project/sphinx-jsonschema/", "platform": "any", "project_url": "https://pypi.org/project/sphinx-jsonschema/", "project_urls": { "Homepage": "https://github.com/lnoor/sphinx-jsonschema" }, "release_url": "https://pypi.org/project/sphinx-jsonschema/1.11/", "requires_dist": null, "requires_python": "", "summary": "Sphinx extension to display JSON Schema", "version": "1.11" }, "last_serial": 5964037, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "fc8bf51574c10f16e05619bcde1b8932", "sha256": "5dc87a8ed555bddfadf664e14f2287aa19dbfe908d3b227d291b180d8a7016d4" }, "downloads": -1, "filename": "sphinx-jsonschema-1.0.tar.gz", "has_sig": false, "md5_digest": "fc8bf51574c10f16e05619bcde1b8932", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5712, "upload_time": "2017-01-29T16:03:34", "url": "https://files.pythonhosted.org/packages/70/52/f3287ed6bc170d4672781ff81c3aff5afa4b9e92e9e2d78216511b669f83/sphinx-jsonschema-1.0.tar.gz" } ], "1.1": [ { "comment_text": "", "digests": { "md5": "0d0d17855984c32a5548456cf6769418", "sha256": "453a52e000214467219635cd3f0e8454b1d0e77223942334d1f840dc818dbf81" }, "downloads": -1, "filename": "sphinx-jsonschema-1.1.tar.gz", "has_sig": false, "md5_digest": "0d0d17855984c32a5548456cf6769418", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7015, "upload_time": "2017-06-07T20:50:24", "url": "https://files.pythonhosted.org/packages/3e/7b/953324325110e9334786e8316f8216e65a1abf8d46e1273678c0441dfca2/sphinx-jsonschema-1.1.tar.gz" } ], "1.10": [ { "comment_text": "", "digests": { "md5": "f5b5c5589c86c16898368dbe9b259603", "sha256": "b3f51a2c45c739b06f9f16ebaaf17bd9f2011a1202bc28f19f894c2f49ea5343" }, "downloads": -1, "filename": "sphinx-jsonschema-1.10.tar.gz", "has_sig": false, "md5_digest": "f5b5c5589c86c16898368dbe9b259603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9181, "upload_time": "2019-09-14T09:12:48", "url": "https://files.pythonhosted.org/packages/c5/27/8929f3dde095e8654f0b05e74ed3a4e44b6d6cfe112e8cbe5baf86235492/sphinx-jsonschema-1.10.tar.gz" } ], "1.11": [ { "comment_text": "", "digests": { "md5": "4a65faca66f1b2114d038ef26ffabf2a", "sha256": "42046c2254cd931b418cba3c7589b588f196c034b041812fd676a5ea9b0428cd" }, "downloads": -1, "filename": "sphinx-jsonschema-1.11.tar.gz", "has_sig": false, "md5_digest": "4a65faca66f1b2114d038ef26ffabf2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9270, "upload_time": "2019-10-12T11:59:35", "url": "https://files.pythonhosted.org/packages/75/66/1246a19963d2961576ac0dd0d717b51193ca27e6a3505d145b6b062b2ca3/sphinx-jsonschema-1.11.tar.gz" } ], "1.2": [ { "comment_text": "", "digests": { "md5": "3bfb1dcab98a61187d1eb403a5e011dd", "sha256": "56513007a8eead452269c85852bf556ecbbab0f3bcbcc2d91b1d57e73ceb8f16" }, "downloads": -1, "filename": "sphinx-jsonschema-1.2.tar.gz", "has_sig": false, "md5_digest": "3bfb1dcab98a61187d1eb403a5e011dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7272, "upload_time": "2017-06-10T15:34:43", "url": "https://files.pythonhosted.org/packages/e0/d2/8a1bf46f518444bbc990aff3b070e0bb2f013df49e1f70c65baf8460a1ac/sphinx-jsonschema-1.2.tar.gz" } ], "1.3": [ { "comment_text": "", "digests": { "md5": "ea4dec3a31c2d80f44d254a5249c9213", "sha256": "ccd3fdee1c90b927b7548f36580f24a8ec95439304a0e4e37888a5e78eca62fa" }, "downloads": -1, "filename": "sphinx-jsonschema-1.3.tar.gz", "has_sig": false, "md5_digest": "ea4dec3a31c2d80f44d254a5249c9213", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7330, "upload_time": "2017-06-19T18:35:07", "url": "https://files.pythonhosted.org/packages/7e/b3/b8ca2b483ee2089671db852666b5d46448e7e6abd0a51da1268178cc5acb/sphinx-jsonschema-1.3.tar.gz" } ], "1.4": [ { "comment_text": "", "digests": { "md5": "1999be0d8edfac1e635accf80d746859", "sha256": "219f48f7adb58e7567dc00f6536c31ee72b5aad6b4dbd6d9c2afbcda69f9cd8c" }, "downloads": -1, "filename": "sphinx-jsonschema-1.4.tar.gz", "has_sig": true, "md5_digest": "1999be0d8edfac1e635accf80d746859", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7661, "upload_time": "2017-09-23T13:50:41", "url": "https://files.pythonhosted.org/packages/38/ac/afe5a0f9fa8703e3a98d66179ef2800c79ccd603420fa4e455fd4e16a431/sphinx-jsonschema-1.4.tar.gz" } ], "1.5": [ { "comment_text": "", "digests": { "md5": "b979697184b26872f5cd73b1a686c6d0", "sha256": "79ee47729b1e4641b6e33629c79c84c94a936205d254fbe10da1a6c6348b6c99" }, "downloads": -1, "filename": "sphinx-jsonschema-1.5.tar.gz", "has_sig": false, "md5_digest": "b979697184b26872f5cd73b1a686c6d0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7685, "upload_time": "2018-01-29T11:17:28", "url": "https://files.pythonhosted.org/packages/99/cb/707670adbaebd110fe4594012ddc8a977db366c40de911cd735544082fd5/sphinx-jsonschema-1.5.tar.gz" } ], "1.6": [ { "comment_text": "", "digests": { "md5": "39eadb1d6e27e43206b9fe0bd791e50f", "sha256": "b56ac845a8540a6a3a106f4fe9c75ce20c8e0cb8a74801f21f91926829dfec5c" }, "downloads": -1, "filename": "sphinx-jsonschema-1.6.tar.gz", "has_sig": false, "md5_digest": "39eadb1d6e27e43206b9fe0bd791e50f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7706, "upload_time": "2018-02-07T20:58:36", "url": "https://files.pythonhosted.org/packages/27/71/9379064dec3398bcaf410628509e802b0cc5a4f73c2ec054a47b48f4c72a/sphinx-jsonschema-1.6.tar.gz" } ], "1.7": [ { "comment_text": "", "digests": { "md5": "44307f9c6b58512adf87e3be7b088726", "sha256": "07365c952099311ae05b6f950c947feede11444448b4daae6f3ce4589eb7c29e" }, "downloads": -1, "filename": "sphinx-jsonschema-1.7.tar.gz", "has_sig": false, "md5_digest": "44307f9c6b58512adf87e3be7b088726", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7717, "upload_time": "2018-02-08T20:31:59", "url": "https://files.pythonhosted.org/packages/a8/e7/5d2e46f3ce500e957794f6291be8485672d57702c19349f164c1453ba089/sphinx-jsonschema-1.7.tar.gz" } ], "1.8": [ { "comment_text": "", "digests": { "md5": "a0f96b3ab8543b1d0cad2771efcc255f", "sha256": "9e300ddc1ef92577c73b69670b3d2b713c57666285160e8204df300c5870add3" }, "downloads": -1, "filename": "sphinx-jsonschema-1.8.tar.gz", "has_sig": false, "md5_digest": "a0f96b3ab8543b1d0cad2771efcc255f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7805, "upload_time": "2018-06-17T21:08:23", "url": "https://files.pythonhosted.org/packages/a0/68/723aca30ab86752aacf87882e80ac361cdefd8766dbed03b284c014d9794/sphinx-jsonschema-1.8.tar.gz" } ], "1.9": [ { "comment_text": "", "digests": { "md5": "5a868044326b7fcf5a246a475a737d60", "sha256": "a6aa9b7312786d3cbdafb485d1410a7e670f827a2d2999539987a9e45e9562cf" }, "downloads": -1, "filename": "sphinx-jsonschema-1.9.tar.gz", "has_sig": false, "md5_digest": "5a868044326b7fcf5a246a475a737d60", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7949, "upload_time": "2019-06-14T21:05:59", "url": "https://files.pythonhosted.org/packages/12/45/a9d7c810ca7deef027b60704f84f588fe01c8a8d873d9beed4fb263f6595/sphinx-jsonschema-1.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4a65faca66f1b2114d038ef26ffabf2a", "sha256": "42046c2254cd931b418cba3c7589b588f196c034b041812fd676a5ea9b0428cd" }, "downloads": -1, "filename": "sphinx-jsonschema-1.11.tar.gz", "has_sig": false, "md5_digest": "4a65faca66f1b2114d038ef26ffabf2a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9270, "upload_time": "2019-10-12T11:59:35", "url": "https://files.pythonhosted.org/packages/75/66/1246a19963d2961576ac0dd0d717b51193ca27e6a3505d145b6b062b2ca3/sphinx-jsonschema-1.11.tar.gz" } ] }