Dynamic GUI Generator from JSON Schema
Build fully-functional PySide6 interfaces from JSON Schema — including complex features like if/then/else
, allOf
, dynamic arrays, and real-time validation.
- 📄 Full support for JSON Schema Draft 2020-12*
- 🧩 Handles
if
/then
/else
,allOf
,anyOf
,oneOf
,$ref
, and more - 🧠 Live conditionals — forms change in real-time based on inputs
- 🛠️ Built-in validation with contextual error messages
- 🧪 Ideal for form builders, config tools, admin panels, or low-code platforms
Run the following:
pip install koreui
Requirements:
- Python 3.10+
- PySide6
pip install koreui
Requirements:
- Python 3.10+
- PySide6
- Create a JSON schema file (e.g.,
schema.json
):
{
"title": "User Profile",
"type": "object",
"properties": {
"name": {
"type": "string",
"title": "Full Name"
}
}
}
- Use KoreUI in your Python code:
from PySide6.QtWidgets import QApplication
from koreui import JsonSchemaForm, load_schema
# Create Qt application
app = QApplication([])
# Load schema and create form
schema = load_schema('schema.json')
form = JsonSchemaForm(schema)
# Show form and run application
form.show()
app.exec()
- Get form data:
# After form is filled out
data = form.get_form_data()
print(data) # Dictionary with form values
src/koreui.py
– Core schema resolver, validator, and widget logicsrc/loader.py
– A helper script to load a Schema from a JSONapp.py
– App entry pointexample_schema.json
– Example JSON Schema used to render a dynamic form
GNU Affero General Public License v3.0