Skip to content

Commit 6c72744

Browse files
committed
Release v0.1.0
1 parent 5daa65e commit 6c72744

File tree

6 files changed

+101
-41
lines changed

6 files changed

+101
-41
lines changed

.gitignore

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,26 @@
1-
venv/*
2-
__pycache__/*
1+
__pycache__/
2+
*.py[cod]
3+
*$py.class
4+
*.so
5+
.Python
6+
build/
7+
develop-eggs/
8+
dist/
9+
downloads/
10+
eggs/
11+
.eggs/
12+
lib/
13+
lib64/
14+
parts/
15+
sdist/
16+
var/
17+
wheels/
18+
*.egg-info/
19+
.installed.cfg
20+
*.egg
21+
.env
22+
.venv
23+
venv/
24+
ENV/
25+
.idea/
26+
.vscode/

README.md

Lines changed: 40 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,6 @@
1111

1212
---
1313

14-
> ⚠️ This project is still in pre alpha stages!
15-
16-
---
17-
1814
## 🚀 Features
1915

2016
- 📄 Full support for JSON Schema Draft 2020-12*
@@ -31,7 +27,7 @@
3127

3228
Run the following:
3329

34-
```pip install pyside6```
30+
```pip install koreui```
3531

3632
Requirements:
3733

@@ -40,50 +36,55 @@ Requirements:
4036

4137
---
4238

43-
## 🧑‍💻 Usage
44-
45-
To start the application:
39+
## 📦 Installation
4640

47-
```python app.py```
41+
```bash
42+
pip install koreui
43+
```
4844

49-
Edit the `example_schema.json` file to customize your form structure.
45+
Requirements:
46+
- Python 3.10+
47+
- PySide6
5048

51-
---
49+
## 🧑‍💻 Usage
5250

53-
## 🧪 Example Schema
51+
1. Create a JSON schema file (e.g., `schema.json`):
5452
```json
5553
{
56-
"title": "User Profile",
57-
"type": "object",
58-
"required": ["name", "age", "email"],
59-
"properties": {
60-
"name": {
61-
"type": "string",
62-
"title": "Full Name"
63-
},
64-
"age": {
65-
"type": "integer",
66-
"title": "Age",
67-
"minimum": 0
68-
},
69-
"email": {
70-
"type": "string",
71-
"format": "email",
72-
"title": "Email Address"
73-
},
74-
"subscribe": {
75-
"type": "boolean",
76-
"title": "Subscribe to Newsletter"
77-
},
78-
"bio": {
79-
"type": "string",
80-
"title": "Short Bio",
81-
"maxLength": 250
54+
"title": "User Profile",
55+
"type": "object",
56+
"properties": {
57+
"name": {
58+
"type": "string",
59+
"title": "Full Name"
60+
}
8261
}
83-
}
8462
}
8563
```
8664

65+
2. Use KoreUI in your Python code:
66+
```python
67+
from PySide6.QtWidgets import QApplication
68+
from koreui import JsonSchemaForm, load_schema
69+
70+
# Create Qt application
71+
app = QApplication([])
72+
73+
# Load schema and create form
74+
schema = load_schema('schema.json')
75+
form = JsonSchemaForm(schema)
76+
77+
# Show form and run application
78+
form.show()
79+
app.exec()
80+
```
81+
82+
3. Get form data:
83+
```python
84+
# After form is filled out
85+
data = form.get_form_data()
86+
print(data) # Dictionary with form values
87+
```
8788
---
8889

8990
## 🧱 Architecture

pyproject.toml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[project]
2+
name = "koreui"
3+
version = "0.1.0"
4+
description = "Dynamic GUI Generator from JSON Schema"
5+
readme = "README.md"
6+
requires-python = ">=3.10"
7+
license = { text = "MIT" }
8+
authors = [
9+
{ name = "TheJupiterDev", email = "[email protected]" }
10+
]
11+
dependencies = [
12+
"PySide6>=6.9.0",
13+
]
14+
15+
[project.urls]
16+
Homepage = "https://github.com/TheJupiterDev/KoreUI"
17+
Repository = "https://github.com/TheJupiterDev/KoreUI.git"

src/__init__.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
from .koreui import (
2+
JsonSchemaForm,
3+
SchemaResolver,
4+
SchemaValidator,
5+
ValidationError
6+
)
7+
from .loader import load_schema, load_schema_with_defaults
8+
9+
__version__ = "0.1.0"
10+
11+
__all__ = [
12+
"JsonSchemaForm",
13+
"SchemaResolver",
14+
"SchemaValidator",
15+
"ValidationError",
16+
"load_schema",
17+
"load_schema_with_defaults"
18+
]
-56 KB
Binary file not shown.
-3.17 KB
Binary file not shown.

0 commit comments

Comments
 (0)