Edit your pydantic models with a nice GUI - CRUD Create Update Replace Delete
Project description
NiceCRUD
NiceCRUD is a CRUD (Create, Read, Update, Delete) interface built with python. The library integrates with pydantic models and NiceGUI to handle data manipulation with a browser interface.
Features
- Automatically generate CRUD interfaces from pydantic models.
- Field options, ranges, contraints, descriptions etc. are directly taken from your pydantic model
- Integrated validation and error handling with pydantic.
- Support for nested models and selection options.
- Inject your own (database?) update methods
- Minimal configuration required with sensible defaults.
Screenshots
Taken from the input_choices example:
Installation
To install NiceCRUD, use pip:
pip install niceguicrud
Quick Start
Here is a very basic example:
from nicegui import ui
from pydantic import BaseModel, Field
from niceguicrud import NiceCRUD
class MyModel(BaseModel, title="User"):
id: int
name: str = Field(title="Name")
age: int = Field(gt=0, title="Age")
instance1 = MyModel(id=1, name="Alice", age=30)
instance2 = MyModel(id=2, name="Bob", age=25)
crud_app = NiceCRUD(basemodels=[instance1, instance2], id_field="id", heading="User Management")
ui.run()
Find more in the examples folder.
Example Name | Description |
---|---|
minimal | The above minimal example |
validation | Example showcasing how pydantic validation features are used in the GUI |
submodel | Demonstrates usage of a pydantic submodel that can also be used in the GUI. |
input_choices | Shows the different input choices. |
database | Shows how to customize the update, create and delete operations |
Contributing
Contributions are welcome!
License
This project is licensed under the MIT License. See the LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
niceguicrud-0.1.0.tar.gz
(13.2 kB
view hashes)
Built Distribution
Close
Hashes for niceguicrud-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34ad159d076a0d7fc8a1c5b04fdb663412ed1b6b45b832938c214ce625209ada |
|
MD5 | 733bccf9589df9b2a266ed571620fb8c |
|
BLAKE2b-256 | ef2509c480e58c1894f963258c884df95a535a69a7b35a688966b8c9ce428cc9 |