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.2.tar.gz
(13.2 kB
view hashes)
Built Distribution
Close
Hashes for niceguicrud-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c911fbc1e2cdb4da1915dedb82655f401fbf050cdc3caa9b9ebbac77e75552d |
|
MD5 | 5f0372468fab3faa31a16d174bfaa7e2 |
|
BLAKE2b-256 | 7ec60e72e1db0e2036742a9816abe40214cb2e11f00ed3577a9226ce34177819 |