{ "info": { "author": "SF-Zhou", "author_email": "sfzhou.scut@gmail.com", "bugtrack_url": null, "classifiers": [], "description": "# json-schema-to-class [![Build Status](https://travis-ci.com/FebruaryBreeze/json-schema-to-class.svg?branch=master)](https://travis-ci.com/FebruaryBreeze/json-schema-to-class) [![codecov](https://codecov.io/gh/FebruaryBreeze/json-schema-to-class/branch/master/graph/badge.svg)](https://codecov.io/gh/FebruaryBreeze/json-schema-to-class) [![PyPI version](https://badge.fury.io/py/json-schema-to-class.svg)](https://pypi.org/project/json-schema-to-class/)\n\nConvert JSON Schema into Python Class\n\n## Installation\n\nNeed Python 3.6+.\n\n```bash\npip install json-schema-to-class\n```\n\n## Usage\n\nFor example, convert [tests/test_schema.json](tests/test_schema.json) into Python class:\n\n```bash\n# generate & highlight\njson-schema-to-class tests/test_schema.json --indent 2 | pygmentize\n\n# or generate to file\njson-schema-to-class tests/test_schema.json -o tests/schema_build.py\n```\n\nGet `tests/schema_build.py` as follow:\n\n```python\nfrom typing import List\n\n\nclass WarmUp:\n def __init__(self, values: dict = None):\n values = values if values is not None else {}\n self.start: float = values.get(\"start\", 0.0)\n self.steps: int = values.get(\"steps\", 0)\n\n\nclass LrSchedulerConfig:\n def __init__(self, values: dict = None):\n values = values if values is not None else {}\n self.lr_mode: str = values.get(\"lr_mode\", 'cos')\n self.base_lr: float = values.get(\"base_lr\", None)\n self.target_lr: float = values.get(\"target_lr\", 0.0002)\n self.decay_factor: float = values.get(\"decay_factor\", 0.1)\n self.milestones: List[float] = values.get(\"milestones\", [0.3, 0.6, 0.9])\n self.lr_decay: float = values.get(\"lr_decay\", 0.98)\n self.warm_up = WarmUp(values=values.get(\"warm_up\"))\n\n\nclass LrSchedulerConfigs(list):\n def __init__(self, values: list = None):\n super().__init__()\n values = values if values is not None else []\n self[:] = [LrSchedulerConfig(value) for value in values]\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/FebruaryBreeze/json-schema-to-class", "keywords": "JSON Schema Class", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "json-schema-to-class", "package_url": "https://pypi.org/project/json-schema-to-class/", "platform": "", "project_url": "https://pypi.org/project/json-schema-to-class/", "project_urls": { "Homepage": "https://github.com/FebruaryBreeze/json-schema-to-class" }, "release_url": "https://pypi.org/project/json-schema-to-class/0.2.1/", "requires_dist": null, "requires_python": ">=3.6.0", "summary": "Convert JSON Schema into Python Class", "version": "0.2.1" }, "last_serial": 5775791, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "d75936b378071d590b98a58e71f850db", "sha256": "6ef3b969ef1d79f5df5ed94a41dc2fa684e85234f14b4a4e94979e0433ac104d" }, "downloads": -1, "filename": "json-schema-to-class-0.0.3.tar.gz", "has_sig": false, "md5_digest": "d75936b378071d590b98a58e71f850db", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3146, "upload_time": "2019-03-03T14:53:34", "url": "https://files.pythonhosted.org/packages/28/cc/33d5ff08aa6c8a78033a1b1567f523e420646032afd110898d8336c52a4a/json-schema-to-class-0.0.3.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "dc46fad0dc4bde8f3cbe13eeb1bd455a", "sha256": "677fd96514bd143f96cfc7cd1e5dfb0eced2d4d7e6ab89bea7985d02ed144a57" }, "downloads": -1, "filename": "json-schema-to-class-0.0.5.tar.gz", "has_sig": false, "md5_digest": "dc46fad0dc4bde8f3cbe13eeb1bd455a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3684, "upload_time": "2019-03-06T06:54:29", "url": "https://files.pythonhosted.org/packages/28/be/9f5dae3c0e047b8553fd19f6f20f80c57c3b77b34de5d30e7c6b4d32c39b/json-schema-to-class-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "e16e7dae8e268e48f3e080cc7194108b", "sha256": "bc28749a4fe57cc04e7b735cb18ef61d8d3ad0a1394a12a2e581430e37071372" }, "downloads": -1, "filename": "json-schema-to-class-0.0.6.tar.gz", "has_sig": false, "md5_digest": "e16e7dae8e268e48f3e080cc7194108b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3511, "upload_time": "2019-03-06T15:47:52", "url": "https://files.pythonhosted.org/packages/b3/c9/77d9a12361f2b2296163c6d20a76531cdaf2c314ba366d20afc0ffb693c4/json-schema-to-class-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "478487359bafbedc26952284259988bd", "sha256": "6efeb7109b5c1eca275c68b0e9e548dbb935e01d4e47f66f2aa95dd78af19269" }, "downloads": -1, "filename": "json-schema-to-class-0.0.7.tar.gz", "has_sig": false, "md5_digest": "478487359bafbedc26952284259988bd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3513, "upload_time": "2019-03-08T11:11:32", "url": "https://files.pythonhosted.org/packages/73/2a/388b5c57f0d398e37992ab361d16a8801f9f9b7a363b1ec4678c95bb2b6d/json-schema-to-class-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "a116f9560bc89f6da9d64d1886664596", "sha256": "d404d0946896adfee15005e40485f21d6af2eb6863150a25afaba12b4d7c5fd8" }, "downloads": -1, "filename": "json-schema-to-class-0.0.8.tar.gz", "has_sig": false, "md5_digest": "a116f9560bc89f6da9d64d1886664596", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3681, "upload_time": "2019-03-08T11:30:42", "url": "https://files.pythonhosted.org/packages/cf/6f/3ef355665cf8cf422151f066de444413a36c25a20a3425ac794ce9cf35c9/json-schema-to-class-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "74e542510e0dac152ebe036fe9dc28ba", "sha256": "3a6462e4a82ea0405228e6bfd0f65739158ce816d33fa2058a27f0e8a9a7404f" }, "downloads": -1, "filename": "json-schema-to-class-0.0.9.tar.gz", "has_sig": false, "md5_digest": "74e542510e0dac152ebe036fe9dc28ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3820, "upload_time": "2019-03-09T07:02:47", "url": "https://files.pythonhosted.org/packages/7e/2a/dec2dbbb5faf73f16e808eea0a94b2e841efc5a5988bd50f698fbf4498ef/json-schema-to-class-0.0.9.tar.gz" } ], "0.1.0": [ { "comment_text": "", "digests": { "md5": "414bffa83fb1ecc24cd1788221c31f46", "sha256": "f283abafa4c0be1aeae153f725d5d2ab9e5d283614295c230015b2a1b262967b" }, "downloads": -1, "filename": "json-schema-to-class-0.1.0.tar.gz", "has_sig": false, "md5_digest": "414bffa83fb1ecc24cd1788221c31f46", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3853, "upload_time": "2019-03-31T05:38:12", "url": "https://files.pythonhosted.org/packages/fa/c0/747618d8fbcd9668b5d1d6567e5e784c7197f3ac690e24bc927f44a88816/json-schema-to-class-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "bda846facc6c7d5d442298c060c72b2f", "sha256": "5244c18e315cc8b508ba9566813cfc70da425b1dde0c486c95aa194f84701a8b" }, "downloads": -1, "filename": "json-schema-to-class-0.1.1.tar.gz", "has_sig": false, "md5_digest": "bda846facc6c7d5d442298c060c72b2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3951, "upload_time": "2019-03-31T14:45:06", "url": "https://files.pythonhosted.org/packages/4f/18/d7e4321511ed2c60ac629a6ab9707c288f2409f46b42b4e590483cc3f633/json-schema-to-class-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "6c5debdcd58ca27f776fe247a8ac0c4b", "sha256": "f9dcbb1e36575bd70ab4bde48d3e8229f7d3ee702f1a7c9a5726189032fa92c8" }, "downloads": -1, "filename": "json-schema-to-class-0.1.2.tar.gz", "has_sig": false, "md5_digest": "6c5debdcd58ca27f776fe247a8ac0c4b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3953, "upload_time": "2019-04-01T14:40:33", "url": "https://files.pythonhosted.org/packages/3e/f8/52a5ccdc6b169c6fa5f373253d92b6b2f372698bb5136d4d03ddcb23333f/json-schema-to-class-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "f3ac5291d3dac9d7222241d4433bda62", "sha256": "44b862d8aca5ad04c60b2a13ed2c4e25a2fb675d3874ed2595f2aad1a99914d5" }, "downloads": -1, "filename": "json-schema-to-class-0.1.3.tar.gz", "has_sig": false, "md5_digest": "f3ac5291d3dac9d7222241d4433bda62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3965, "upload_time": "2019-04-08T11:16:48", "url": "https://files.pythonhosted.org/packages/4c/57/73d0fbc93b4506e2f5a5cbe5079e00dec32b21becd1343c26e713f21df0a/json-schema-to-class-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b21b269cc939ece8db17141b940cf3a4", "sha256": "63af4643e707c6e82247143015c289c6fa258abeebbd1d479d1be7d9df3495da" }, "downloads": -1, "filename": "json-schema-to-class-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b21b269cc939ece8db17141b940cf3a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4287, "upload_time": "2019-04-10T13:14:29", "url": "https://files.pythonhosted.org/packages/0c/07/6688ebdf434aaa2ccefb37248b101f573e321f67d4b63ac61c939382999c/json-schema-to-class-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "758dbdcec6048c064ca8d909067b314a", "sha256": "d915dadc620561187f5f7caf4e2f991d0f95fc0fa0d945c56ffd14623613b8de" }, "downloads": -1, "filename": "json-schema-to-class-0.1.5.tar.gz", "has_sig": false, "md5_digest": "758dbdcec6048c064ca8d909067b314a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4277, "upload_time": "2019-05-04T10:20:41", "url": "https://files.pythonhosted.org/packages/db/0e/25629509b9feffe59249c36afa6aba7035f02da9a8b70b64b34e8a630194/json-schema-to-class-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "7e2769372c816a2259f34154791c0860", "sha256": "40bed76583b3666e8a9aa6fe544e6d771ec3bd85e4a7bfd4c8efce4fa81d5cff" }, "downloads": -1, "filename": "json-schema-to-class-0.1.6.tar.gz", "has_sig": false, "md5_digest": "7e2769372c816a2259f34154791c0860", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4458, "upload_time": "2019-05-18T08:10:02", "url": "https://files.pythonhosted.org/packages/7c/41/2c0a94418857f4459d5996f689e9256124cbfdf5ca097468fd41e8d59d2c/json-schema-to-class-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "75404a06dd7afb72a0c4594aaaba44be", "sha256": "d658743d6ab3f3ac162208adc8e6e108c9ccd27ff77b9aab46ea8ca9ceb9d8d2" }, "downloads": -1, "filename": "json-schema-to-class-0.1.7.tar.gz", "has_sig": false, "md5_digest": "75404a06dd7afb72a0c4594aaaba44be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4357, "upload_time": "2019-05-22T08:59:56", "url": "https://files.pythonhosted.org/packages/d2/bf/af91dbd07b096f17924fb9237d1f5bd94360e9eced079efb0a72e31daf49/json-schema-to-class-0.1.7.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "f297addf1a311b90f92b2cc6e27c2d3e", "sha256": "66d9a5d797655798d5da954db5db9047c2c0b0279ecac243ef15d21305425d5d" }, "downloads": -1, "filename": "json_schema_to_class-0.2.0-py3.6.egg", "has_sig": false, "md5_digest": "f297addf1a311b90f92b2cc6e27c2d3e", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6.0", "size": 10919, "upload_time": "2019-07-03T12:05:50", "url": "https://files.pythonhosted.org/packages/de/1c/f8f973b6b1c6177b8a61b64c175dc1ac4249065c7ecfc6af021682c8cdbe/json_schema_to_class-0.2.0-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "23b559693ebf1729c3b058774db72d69", "sha256": "3878e1b8e24aa9b49b35f8e6ee907dcb9ba71c01869f2e726d9161a3144c2e44" }, "downloads": -1, "filename": "json-schema-to-class-0.2.0.tar.gz", "has_sig": false, "md5_digest": "23b559693ebf1729c3b058774db72d69", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5544, "upload_time": "2019-07-03T12:05:49", "url": "https://files.pythonhosted.org/packages/25/a1/cbeab17da9dfa0843e950ddceeb57879141253760d99aba3cfc68a7a8fb2/json-schema-to-class-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "5b421c79e5b7c03fba6c8f66aa45de7f", "sha256": "b6e061a5443a17c48040e63247897b673a8034ae41b21bc5ea7cf4b3733fe006" }, "downloads": -1, "filename": "json_schema_to_class-0.2.1-py3.6.egg", "has_sig": false, "md5_digest": "5b421c79e5b7c03fba6c8f66aa45de7f", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6.0", "size": 10161, "upload_time": "2019-09-03T12:53:42", "url": "https://files.pythonhosted.org/packages/bd/0b/9e4fc019791abd6fbb8da2cf613e317cc17dc9d4e38d14f6afd122abe4f6/json_schema_to_class-0.2.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "03121f737ad38f5958334549445bdb95", "sha256": "91171a91631059f65cc0c7c76377d2a4ce777448f57be9e5d8c1c5ca03e3e13f" }, "downloads": -1, "filename": "json-schema-to-class-0.2.1.tar.gz", "has_sig": false, "md5_digest": "03121f737ad38f5958334549445bdb95", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5245, "upload_time": "2019-09-03T12:53:40", "url": "https://files.pythonhosted.org/packages/14/79/79177b02d76e499118c6268e61f66eb5bafeaa9bbf1c722e226f224c2c56/json-schema-to-class-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "5b421c79e5b7c03fba6c8f66aa45de7f", "sha256": "b6e061a5443a17c48040e63247897b673a8034ae41b21bc5ea7cf4b3733fe006" }, "downloads": -1, "filename": "json_schema_to_class-0.2.1-py3.6.egg", "has_sig": false, "md5_digest": "5b421c79e5b7c03fba6c8f66aa45de7f", "packagetype": "bdist_egg", "python_version": "3.6", "requires_python": ">=3.6.0", "size": 10161, "upload_time": "2019-09-03T12:53:42", "url": "https://files.pythonhosted.org/packages/bd/0b/9e4fc019791abd6fbb8da2cf613e317cc17dc9d4e38d14f6afd122abe4f6/json_schema_to_class-0.2.1-py3.6.egg" }, { "comment_text": "", "digests": { "md5": "03121f737ad38f5958334549445bdb95", "sha256": "91171a91631059f65cc0c7c76377d2a4ce777448f57be9e5d8c1c5ca03e3e13f" }, "downloads": -1, "filename": "json-schema-to-class-0.2.1.tar.gz", "has_sig": false, "md5_digest": "03121f737ad38f5958334549445bdb95", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6.0", "size": 5245, "upload_time": "2019-09-03T12:53:40", "url": "https://files.pythonhosted.org/packages/14/79/79177b02d76e499118c6268e61f66eb5bafeaa9bbf1c722e226f224c2c56/json-schema-to-class-0.2.1.tar.gz" } ] }