Metadata-Version: 2.4
Name: dearpygui-forms
Version: 0.2.0
Summary: Dearpygui extention for autogeneration forms powered by pydantic.
Project-URL: homepage, https://github.com/vlewicki/dearpygui-forms
Author-email: Valentin Lewicki <vlewicki@vlewicki.ru>
Requires-Python: >=3.10
Requires-Dist: dearpygui>=2.0.0
Requires-Dist: loguru>=0.7.3
Requires-Dist: pydantic>=2.11.7
Description-Content-Type: text/markdown

# DearPyGui Forms
Generate GUI forms for your Pydantic models.

## Features
- Fill form fields with Pydantic model data
- Fill from fields with default values
- Validation on form submission
- Callbacks for form submission


Currently supported Pydantic fields:
- str
- int
- float
- bool
- datetime
- date
- time

## Example:
```python
from pprint import pprint
import dearpygui.dearpygui as dpg
from pydantic import BaseModel, Field
from dearpygui_forms import DPGForm

class User(BaseModel):
    name: str = Field(default="John Doe", min_length=3)
    age: int = Field(ge=18)


class Storage(BaseModel):
    users: list[User] = []

class UserForm(DPGForm, model=User):
    pass


dpg.create_context()
dpg.create_viewport()

store = Storage()

with dpg.window(label="User Form"):
    user_form = UserForm(callback=lambda x: store.users.append(x))
    user_form.add()
    dpg.add_button(label="Print Users", callback=lambda: pprint(store.model_dump()))
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
```
