# JSGUI - A JSON Schema based GUI to create and edit JSON files
JSGUI provides a little tkinter based gui to allow for convenient configuration of json files using a schema file as base.
## Features
- Visualises JSON Schemas using
- checkboxes
- textfields
- drop-down menus
- hover tips / tool tip texts
- Allows modification and saving as a .json file conforming to the underlying schema
- Allows to load an existing .json file into an underlying json schema for easy manipulation
- supports the following JSON Schema keywords:
- properties
- type
- $comment
- enum
- patternProperties
- $ref
- required
- default
- <i> ... work in progress to enable more keywords </i>
## Install
`pip install jsgui`
## How to use
Simply start the application to open an empty window. Either drag-and-drop a json schema or use the Load Menu Button. The schema will be loaded with all `required` fields being active and `default` values inserted already.
Modify as you please and click "Save" to save.
After loading a schema you may also load a valid .json file to have its values inserted accordingly.
Note that drag-and-drop will try to guess whether you dropped a schema or a "data" json file by searching for typical schema keywords in the first level of the object.
Raw data
{
"_id": null,
"home_page": "https://github.com/truekenji/jsgui",
"name": "jsgui",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "GUI, JSON Schema, JSON, tkinter, decomply, Visualisation",
"author": "TrueKenji",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/9b/c2/3fabc7b34c9526353f56b6bf69af1a1ad9bdddcb621b88859301191824e7/jsgui-0.9.3.tar.gz",
"platform": null,
"description": "# JSGUI - A JSON Schema based GUI to create and edit JSON files\r\n\r\nJSGUI provides a little tkinter based gui to allow for convenient configuration of json files using a schema file as base.\r\n\r\n## Features\r\n\r\n- Visualises JSON Schemas using \r\n - checkboxes\r\n - textfields\r\n - drop-down menus\r\n - hover tips / tool tip texts\r\n- Allows modification and saving as a .json file conforming to the underlying schema\r\n- Allows to load an existing .json file into an underlying json schema for easy manipulation\r\n- supports the following JSON Schema keywords:\r\n - properties\r\n - type\r\n - $comment\r\n - enum\r\n - patternProperties\r\n - $ref\r\n - required\r\n - default\r\n - <i> ... work in progress to enable more keywords </i>\r\n\r\n## Install\r\n\r\n`pip install jsgui`\r\n\r\n## How to use\r\n\r\nSimply start the application to open an empty window. Either drag-and-drop a json schema or use the Load Menu Button. The schema will be loaded with all `required` fields being active and `default` values inserted already.\r\nModify as you please and click \"Save\" to save.\r\n\r\nAfter loading a schema you may also load a valid .json file to have its values inserted accordingly.\r\n\r\nNote that drag-and-drop will try to guess whether you dropped a schema or a \"data\" json file by searching for typical schema keywords in the first level of the object.\r\n",
"bugtrack_url": null,
"license": null,
"summary": "jsgui provides a gui to edit json files based on a schema file",
"version": "0.9.3",
"project_urls": {
"Homepage": "https://github.com/truekenji/jsgui"
},
"split_keywords": [
"gui",
" json schema",
" json",
" tkinter",
" decomply",
" visualisation"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1b92941d2ef08b07e770885efd3704c54c07504fdb6dcde618519e00558b68e8",
"md5": "2bb95afd8f058f84c568cd6ee3b932b8",
"sha256": "84252c4628951a8c5c0fe191cc43af4238c5c295e8290e66b67cd93b8029f50f"
},
"downloads": -1,
"filename": "jsgui-0.9.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "2bb95afd8f058f84c568cd6ee3b932b8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 12664,
"upload_time": "2024-07-09T14:25:41",
"upload_time_iso_8601": "2024-07-09T14:25:41.575197Z",
"url": "https://files.pythonhosted.org/packages/1b/92/941d2ef08b07e770885efd3704c54c07504fdb6dcde618519e00558b68e8/jsgui-0.9.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9bc23fabc7b34c9526353f56b6bf69af1a1ad9bdddcb621b88859301191824e7",
"md5": "0ed973c9fe666378eadffd40d3edef71",
"sha256": "c44f3afa68a1ab567da030955a9218b1bef01b022950e9ba1ba3bf444111e417"
},
"downloads": -1,
"filename": "jsgui-0.9.3.tar.gz",
"has_sig": false,
"md5_digest": "0ed973c9fe666378eadffd40d3edef71",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 11698,
"upload_time": "2024-07-09T14:25:43",
"upload_time_iso_8601": "2024-07-09T14:25:43.605164Z",
"url": "https://files.pythonhosted.org/packages/9b/c2/3fabc7b34c9526353f56b6bf69af1a1ad9bdddcb621b88859301191824e7/jsgui-0.9.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-07-09 14:25:43",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "truekenji",
"github_project": "jsgui",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"lcname": "jsgui"
}