{ "info": { "author": "Michael Dombrowski", "author_email": "michael@mikedombrowski.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Build Tools" ], "description": "# JSONSchema2PoPo2\n*Forked from [github.com/frx08/jsonschema2popo](https://github.com/frx08/jsonschema2popo)*\n\nA converter to extract 'Plain Old Python Object' classes from JSON Schema files.\nSimilar to the Java project [JSONSchema2PoJo](https://github.com/joelittlejohn/jsonschema2pojo/).\nCurrently compatible with Python 3.4+ (when using enums, otherwise any version should be fine).\n\n## Installation\n```\npip install jsonschema2popo2\n```\n\n## Usage\n\n### Basic:\n```\njsonschema2popo2 -o /path/to/output_file.py /path/to/json_schema.json\n```\n \n### Options:\n- -t, --use-types - Add MyPy typings.\n- -ct, --constructor-type-check - Validate provided types in constructor. Default only type checks when setting property values and not when setting them in the constructor.\n- -s, --use-slots - Add a `__slots__` to each generated class to be more memory efficient.\n- --no-generate-from-definitions - Don't generate any classes from the \"definitions\" section of the schema.\n- --no-generate-from-root-object - Don't generate any classes from the root of the schema.\n- -tp, --translate-properties - Translate property names to be snake_case. With this enabled, inner classes will no longer be prefixed by \"_\" since their names won't collide with the property name.\n\n### Encode Generated Object to JSON:\n```python\nimport json\n\ng = GeneratedClass()\njson.dumps(g.as_dict())\n```\n\n### Decode JSON into Generated Object:\n```python\nimport json\ng = GeneratedClass.from_dict(json.loads(data))\n```\n\n### JSON Schema Format\nThis library is largely compatible with JSONSchema2PoJo and how that library reads the JSON Schema to generate Java.\nSpecifically, for enumerations, this library supports setting the `javaEnumNames` array in JSON Schema for an enum to give names\nto the enum values that will be generated in the Python output.", "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/mikedombo/JSONSchema2PoPo2", "keywords": "python json-schema code-generator", "license": "MIT License", "maintainer": "", "maintainer_email": "", "name": "JSONSchema2PoPo2", "package_url": "https://pypi.org/project/JSONSchema2PoPo2/", "platform": "", "project_url": "https://pypi.org/project/JSONSchema2PoPo2/", "project_urls": { "Homepage": "https://github.com/mikedombo/JSONSchema2PoPo2" }, "release_url": "https://pypi.org/project/JSONSchema2PoPo2/2.0.15/", "requires_dist": null, "requires_python": ">=3.4", "summary": "Converts a JSON Schema to a Plain Old Python Object class", "version": "2.0.15" }, "last_serial": 5933769, "releases": { "2.0": [ { "comment_text": "", "digests": { "md5": "2dc5ea95778f5c1250cc6639cf982ae0", "sha256": "de47f8a2bf80b864e95102f54de32a8cf9dd6a8ba18b967c6ac8a3831d2e2d9c" }, "downloads": -1, "filename": "jsonschema2popo2-2.0.tar.gz", "has_sig": false, "md5_digest": "2dc5ea95778f5c1250cc6639cf982ae0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 8175, "upload_time": "2019-09-02T23:28:47", "url": "https://files.pythonhosted.org/packages/e0/32/45f3b981163f37ac12da182fffeb8830296c7037c833b5c4a45ae6387b36/jsonschema2popo2-2.0.tar.gz" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "02685b71ddf788b31a5eb34d996fe8d4", "sha256": "73a8a1717d167b5ca43d110264f21dd568de5e2e4cc05f406a1450a43ad656f5" }, "downloads": -1, "filename": "jsonschema2popo2-2.0.1.tar.gz", "has_sig": false, "md5_digest": "02685b71ddf788b31a5eb34d996fe8d4", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 8180, "upload_time": "2019-09-02T23:36:43", "url": "https://files.pythonhosted.org/packages/8c/ef/caf52b3090c73e78b22af1c7f7c3b27444d1002c8faeeebf57954c7815e4/jsonschema2popo2-2.0.1.tar.gz" } ], "2.0.10": [ { "comment_text": "", "digests": { "md5": "a6c56e535cfe2118ffecc72564937155", "sha256": "73d334cc055df0c4811eafc9f553a6e41761be433c1d27af63989e8d8dde38c7" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.10.tar.gz", "has_sig": false, "md5_digest": "a6c56e535cfe2118ffecc72564937155", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 12465, "upload_time": "2019-09-11T06:36:56", "url": "https://files.pythonhosted.org/packages/70/52/f8fac9d0d4def88f58b57a718040cae719061d8de2005facbb1c8a58ceb8/JSONSchema2PoPo2-2.0.10.tar.gz" } ], "2.0.11": [ { "comment_text": "", "digests": { "md5": "eecffa1320a3c16b83493ad3046d9f1d", "sha256": "21147e03eeb05e765f8dc284e5df8711d479c2a2ed9f85c90ead3d87166dc68f" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.11.tar.gz", "has_sig": false, "md5_digest": "eecffa1320a3c16b83493ad3046d9f1d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 13127, "upload_time": "2019-09-19T05:01:45", "url": "https://files.pythonhosted.org/packages/1b/10/65ead8edaa37c2dc21f0f9c8dc305a0e1bb4646db74d86ab8564169ba18d/JSONSchema2PoPo2-2.0.11.tar.gz" } ], "2.0.12": [ { "comment_text": "", "digests": { "md5": "cd5466f3692257cfd31457eb4e4a7304", "sha256": "f859197566a767be7421bc4ef625934af06e9579d68aeb103e9aee7896f756c3" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.12.tar.gz", "has_sig": false, "md5_digest": "cd5466f3692257cfd31457eb4e4a7304", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 13396, "upload_time": "2019-10-05T22:41:58", "url": "https://files.pythonhosted.org/packages/33/9e/9e3bd0b4d7609397d4f343ae87df6fa6e1972fdc07f447a07f9ef0aeb293/JSONSchema2PoPo2-2.0.12.tar.gz" } ], "2.0.13": [ { "comment_text": "", "digests": { "md5": "35d245dff78ceba7ec2672e6a4ce138d", "sha256": "ea11ddd082a44e5006ef00728125420a18726e73bf71ddd5202c401be138d496" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.13.tar.gz", "has_sig": false, "md5_digest": "35d245dff78ceba7ec2672e6a4ce138d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 13783, "upload_time": "2019-10-05T22:57:56", "url": "https://files.pythonhosted.org/packages/ca/44/58c7b91ba88678a8d5126b3a17be2fa31e5bf2a15445b6acd3ea2253af47/JSONSchema2PoPo2-2.0.13.tar.gz" } ], "2.0.14": [ { "comment_text": "", "digests": { "md5": "61d05e31403377568278f2ce990650fd", "sha256": "a8230dcb438f98e1bf374dfd4d4b25f792230b00925aa5ab31048ef09bccda0e" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.14.tar.gz", "has_sig": false, "md5_digest": "61d05e31403377568278f2ce990650fd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 13804, "upload_time": "2019-10-06T03:40:55", "url": "https://files.pythonhosted.org/packages/40/fc/6eb3c01736c6e9c7c9a4c552a7ffeb0ab391f302cf9c965808e33581d05d/JSONSchema2PoPo2-2.0.14.tar.gz" } ], "2.0.15": [ { "comment_text": "", "digests": { "md5": "95e2e1011c942739535c9b42d191147e", "sha256": "5fa85e18ed90cc8d00afa397b510918dbfc8cac9efddcd2c07e4f192cabe262e" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.15.tar.gz", "has_sig": false, "md5_digest": "95e2e1011c942739535c9b42d191147e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 13807, "upload_time": "2019-10-06T03:55:25", "url": "https://files.pythonhosted.org/packages/e8/90/01ab471626cfd6ca98ccebe6b68a4a0dcae7d4378abec9911ece0a2611c9/JSONSchema2PoPo2-2.0.15.tar.gz" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "1557024d3617e0c0d99619cf6d35bc88", "sha256": "70143489041d9f6de327415e6b57d5e2a439f6dcf46aa417944214a0b17f3488" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.2.tar.gz", "has_sig": false, "md5_digest": "1557024d3617e0c0d99619cf6d35bc88", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 8216, "upload_time": "2019-09-03T04:40:51", "url": "https://files.pythonhosted.org/packages/60/1d/837d03f5268b4071ec8555f9b69dfdb590dfef4d480f1145eadfed8ff6da/JSONSchema2PoPo2-2.0.2.tar.gz" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "77490d7d60d0ee3cc06ca843b7e57f87", "sha256": "e815e1f3ede8da1bf38cd186419d415683cdc714fe38b85dbe2e91e256ed2d5b" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.3.tar.gz", "has_sig": false, "md5_digest": "77490d7d60d0ee3cc06ca843b7e57f87", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 8207, "upload_time": "2019-09-04T00:57:14", "url": "https://files.pythonhosted.org/packages/03/7f/765b0c0f965044cd952f7db49ec4e5d8508e03bd64ef5a9019f611b22498/JSONSchema2PoPo2-2.0.3.tar.gz" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "72f593a3846c6b3839c85384c456560b", "sha256": "d580f100f1cba9384c607bf935d11c59be437789bbc13ddce78ee1ffe308205c" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.4.tar.gz", "has_sig": false, "md5_digest": "72f593a3846c6b3839c85384c456560b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 8209, "upload_time": "2019-09-05T00:13:06", "url": "https://files.pythonhosted.org/packages/91/0a/c081cb02a1a22c755f041cbb4b77edeb1c9bbde5c1be1c3a02a9df6effe7/JSONSchema2PoPo2-2.0.4.tar.gz" } ], "2.0.5": [ { "comment_text": "", "digests": { "md5": "27be0f586062961a747a4090f152bf90", "sha256": "64420ec513ca31380374da174feb5e2bae8469e158641584b5d1ab29ecafa796" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.5.tar.gz", "has_sig": false, "md5_digest": "27be0f586062961a747a4090f152bf90", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 8267, "upload_time": "2019-09-07T18:37:39", "url": "https://files.pythonhosted.org/packages/65/39/7b6f4d156a65a4eb4023c91f7b2536f9d1318a492cacffa75b46d9c2eec3/JSONSchema2PoPo2-2.0.5.tar.gz" } ], "2.0.6": [ { "comment_text": "", "digests": { "md5": "91012b4d9b610d63fa25c0bd166acc3a", "sha256": "4e5bd362f925e9c531b71b12846a6d7ea2ac77df92e95d23f82fb98cc857174b" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.6.tar.gz", "has_sig": false, "md5_digest": "91012b4d9b610d63fa25c0bd166acc3a", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 11962, "upload_time": "2019-09-10T04:07:09", "url": "https://files.pythonhosted.org/packages/68/2e/07aa3083498ee8143118482d14d8dcabd981970b5db6508c3e530be8ca12/JSONSchema2PoPo2-2.0.6.tar.gz" } ], "2.0.7": [ { "comment_text": "", "digests": { "md5": "930df19f2397c72e4ce1222f9949f6ff", "sha256": "723f9e3847f656844e275217987fa9f06b95548a0a3b4f233aa7546e8cc28cbe" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.7.tar.gz", "has_sig": false, "md5_digest": "930df19f2397c72e4ce1222f9949f6ff", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 12047, "upload_time": "2019-09-11T05:28:51", "url": "https://files.pythonhosted.org/packages/f9/3c/e3b8ec5a60a9e06c552f7cf2f814e0f6a71e03124ab04937092317cab28c/JSONSchema2PoPo2-2.0.7.tar.gz" } ], "2.0.8": [ { "comment_text": "", "digests": { "md5": "3811c96049c84b80a6d5dfc997cabf80", "sha256": "142b6deb9e2dd0d4f66fefc4fd45c36ce85f0fa49e57e428edff1ca6706d36ac" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.8.tar.gz", "has_sig": false, "md5_digest": "3811c96049c84b80a6d5dfc997cabf80", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 12287, "upload_time": "2019-09-11T06:03:18", "url": "https://files.pythonhosted.org/packages/a8/72/4db657942eb12b92123bcaf8b77bfe5e040e2a46bfb0e6aa0c6be78c5a4f/JSONSchema2PoPo2-2.0.8.tar.gz" } ], "2.0.9": [ { "comment_text": "", "digests": { "md5": "b6db73da37eb6000ee00309d7a58f14b", "sha256": "b3a267614eef0011c14d304107dbeca4c19dba8951c9ed7ce2185793da066da7" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.9.tar.gz", "has_sig": false, "md5_digest": "b6db73da37eb6000ee00309d7a58f14b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 12454, "upload_time": "2019-09-11T06:25:18", "url": "https://files.pythonhosted.org/packages/56/98/9ce043355d92cd97b589d4789767bb47eee8390885e1e684fafc58214103/JSONSchema2PoPo2-2.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "95e2e1011c942739535c9b42d191147e", "sha256": "5fa85e18ed90cc8d00afa397b510918dbfc8cac9efddcd2c07e4f192cabe262e" }, "downloads": -1, "filename": "JSONSchema2PoPo2-2.0.15.tar.gz", "has_sig": false, "md5_digest": "95e2e1011c942739535c9b42d191147e", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4", "size": 13807, "upload_time": "2019-10-06T03:55:25", "url": "https://files.pythonhosted.org/packages/e8/90/01ab471626cfd6ca98ccebe6b68a4a0dcae7d4378abec9911ece0a2611c9/JSONSchema2PoPo2-2.0.15.tar.gz" } ] }