{ "info": { "author": "Micha\u0142 \u0141ab\u0119dzki", "author_email": "michal.tomasz.labedzki@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Customer Service", "Intended Audience :: Developers", "License :: Freely Distributable", "License :: OSI Approved", "License :: Public Domain", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: Jython", "Programming Language :: Python :: Implementation :: PyPy" ], "description": "==============\njsonfromschema\n==============\n\nIN SHORT\n--------\n\n``jsonfromschema`` is used to generate JSON data (file *.json) from JSON Schema (*.json, see https://json-schema.org)\nProject is written in Python for Python purposes, but it is also stand-alone tool.\n\nSPDX-License-Identifier: 0BSD\n\nProject name: jsonfromschema\nLicense: 0BSD / Free Public License 1.0.0\nMore information about license: https://opensource.org/licenses/0BSD\n\n\n\nNON-INSTALL\n-----------\n\n.. code-block:: bash\n\n git clone git@github.com:NIC-MichalLabedzki/jsonfromschema.git\n\nYou can run it from sources without any dependancies* (python and some modules delivered with it)\n\n.. code-block:: bash\n\n python ./jsonfromschema\n\nSee:\n\n.. code-block:: bash\n\n python ./jsonfromschema --help\n\nSee CLI section for more details.\n\n\nINSTALLATION\n------------\n\n.. code-block:: bash\n\n pip install jsonfromschema\n\nor\n\n.. code-block:: bash\n\n pip install -e git@github.com:NIC-MichalLabedzki/jsonfromschema.git\n\nor\n\n.. code-block:: bash\n\n pip install -e https://github.com/NIC-MichalLabedzki/jsonfromschema.git\n\nor\n\n.. code-block:: bash\n\n git clone git@github.com:NIC-MichalLabedzki/jsonfromschema.git\n cd jsonfromschema\n python setup.py # or pip install -e .\n\n\nINTERFACE\n---------\n\nThere are two kind of interfaces: ``CLI`` and ``Python module``.\n\nCLI\n~~~\n\nCLI is Command Line Interface. So you have tool called: jsonfromschema\n\n.. code-block:: bash\n\n $ jsonfromschema --help\n usage: jsonfromschema [-h] [-v] [-w [VALIDATE]] [--no-default] [--no-examples] [--maximum]\n [--subschema SUBSCHEMA] [--from-python-package FROM_PYTHON_PACKAGE]\n schema output\n\n Generate JSON data file (*.json) from JSON Schema\n\n positional arguments:\n schema path to JSON Schema file or python packages resource\n [--from-python-package]\n output path to JSON data output file\n\n optional arguments:\n -h, --help show this help message and exit\n -v, --verbose verbose mode\n -w [VALIDATE], --validate [VALIDATE]\n use jsonschema to validate output and check if schema\n is valid [3,4,6,7 (default)]\n --no-default do not use 'default' fields in jsonschema\n --no-examples do not use 'default' fields in jsonschema\n --maximum generate as complex json as possible (by\n implementation); for example ignore \"required\" and\n favor \"object\" over less complicated fields\n --subschema SUBSCHEMA\n extract subschema only by this json fragment pointer\n --from-python-package FROM_PYTHON_PACKAGE\n 'schema' is path to python package resource, this\n option needs package name as argument\n\n\nSome examples:\n\n.. code-block:: bash\n\n $ jsonfromschema input_schema.json output_json_data.json\n\nVerbose:\n\n.. code-block:: bash\n\n $ jsonfromschema input_schema.json output_json_data.json -v\n\nValidate output:\nIt use \"jsonschema\" module (pip install jsonschema) to validate output json to be valid with given schema.\n\n.. code-block:: bash\n\n $ jsonfromschema input_schema.json output_json_data.json -w\n\nGenerate subschema:\nUse JSON pointer (schema side) to generate only part of schema:\n\n.. code-block:: bash\n\n $ jsonfromschema tests/test_schema_main.json.json output.json -w --subschema=/properties/string_default\n $ cat output.json\n \"foo\"\n\nUse JSON Schema resources from some python packages:\n\n.. code-block:: bash\n\n $ jsonfromschema ../tests/test_schema_main.json output.json -vw --subschema=/properties/string_default --from-python-package jsonfromschema\n $ cat output.json\n \"foo\"\n\nPython Module\n~~~~~~~~~~~~~\n\n``API is not stable right now.``\n\n.. code-block:: python\n\n import jsonfromschema.lib\n\n.. code-block:: python\n\n generate_dict_from_text(root_name, schema_text, optional_args=None)\n generate_dict_from_file(schema_file, optional_args=None)\n generate_dict_from_package(package, path, optional_args=None)\n\n\noptional_args:\n Default values are:\n\n.. code-block:: python\n\n {\n 'verbose': False,\n 'no-default': False,\n 'no-examples': False,\n 'maximum': False,\n 'pkg_resource_root': None,\n 'subschema': None,\n }\n\nWhere:\n ``pkg_resource_root`` is package name, for example \"jsonschema\"\n\n\nTODO\n----\n\n1. JsonSchema Draft-7 support (in progress)\n2. Check Draft-4 support\n3. Section about Contributions\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/NIC-MichalLabedzki/jsonfromschema", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "jsonfromschema", "package_url": "https://pypi.org/project/jsonfromschema/", "platform": "", "project_url": "https://pypi.org/project/jsonfromschema/", "project_urls": { "Homepage": "https://github.com/NIC-MichalLabedzki/jsonfromschema" }, "release_url": "https://pypi.org/project/jsonfromschema/0.1.3/", "requires_dist": [ "setuptools" ], "requires_python": "", "summary": "An implementation of JSON data generator from JSON Schema for Python", "version": "0.1.3" }, "last_serial": 5913544, "releases": { "0.1.2": [ { "comment_text": "", "digests": { "md5": "501ccd8223f7ca6352a42647cc458704", "sha256": "66bf89dbf9fd4f13639f5d307e79e17601c54e09ed8a25f9abdacaf6a675c9ce" }, "downloads": -1, "filename": "jsonfromschema-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "501ccd8223f7ca6352a42647cc458704", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 9867, "upload_time": "2019-08-10T12:39:48", "url": "https://files.pythonhosted.org/packages/18/69/d4abc21a0d92928f6c66803a7ff4b9ea767a1868210c99bd31276716f562/jsonfromschema-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "cf58a7fc7c11610382a01417be9ad761", "sha256": "f01074246e601849681f6e2e2680bb1024d811569f3c95df729f1c3847735e13" }, "downloads": -1, "filename": "jsonfromschema-0.1.2.tar.gz", "has_sig": false, "md5_digest": "cf58a7fc7c11610382a01417be9ad761", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11548, "upload_time": "2019-08-10T12:39:51", "url": "https://files.pythonhosted.org/packages/a4/d1/ccaee62bfbced1a14c0e7a3084e332a2a94994959b51eed8a35fcab1fea2/jsonfromschema-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "1d55344f5e8aa92dba162cb508c456a9", "sha256": "6fdce71b9d626187382e077c90985bf7ecaf920d388d54b34f0766b9d1b5b044" }, "downloads": -1, "filename": "jsonfromschema-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1d55344f5e8aa92dba162cb508c456a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10642, "upload_time": "2019-10-01T16:11:22", "url": "https://files.pythonhosted.org/packages/ca/22/02cfec7dc9b192f6a5fa908ea399c1539d73f2e7bea80c14ec35d5b7416d/jsonfromschema-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f79a8d0db46e6b1315bc2f5e511e618", "sha256": "1a3ae51a02317cc5b37d7977f8920eaf8c930e6608416d36ae473eb57b67234a" }, "downloads": -1, "filename": "jsonfromschema-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9f79a8d0db46e6b1315bc2f5e511e618", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12948, "upload_time": "2019-10-01T16:11:24", "url": "https://files.pythonhosted.org/packages/79/2f/d390d5ea347c9774bc030956e13e35f7017576b84f85e87bc7e186b23832/jsonfromschema-0.1.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "1d55344f5e8aa92dba162cb508c456a9", "sha256": "6fdce71b9d626187382e077c90985bf7ecaf920d388d54b34f0766b9d1b5b044" }, "downloads": -1, "filename": "jsonfromschema-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "1d55344f5e8aa92dba162cb508c456a9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 10642, "upload_time": "2019-10-01T16:11:22", "url": "https://files.pythonhosted.org/packages/ca/22/02cfec7dc9b192f6a5fa908ea399c1539d73f2e7bea80c14ec35d5b7416d/jsonfromschema-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "9f79a8d0db46e6b1315bc2f5e511e618", "sha256": "1a3ae51a02317cc5b37d7977f8920eaf8c930e6608416d36ae473eb57b67234a" }, "downloads": -1, "filename": "jsonfromschema-0.1.3.tar.gz", "has_sig": false, "md5_digest": "9f79a8d0db46e6b1315bc2f5e511e618", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12948, "upload_time": "2019-10-01T16:11:24", "url": "https://files.pythonhosted.org/packages/79/2f/d390d5ea347c9774bc030956e13e35f7017576b84f85e87bc7e186b23832/jsonfromschema-0.1.3.tar.gz" } ] }