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.1.tar.gz
(13.2 kB
view hashes)
Built Distribution
Close
Hashes for niceguicrud-0.1.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3128c80dcfc74eb5e0d9699fb15dbde95117eac12bb8be40894f58ec4bb61ff0 |
|
MD5 | c141220ec95478a6bd2ed22e71eea4c9 |
|
BLAKE2b-256 | a1f46d4094e18ba73be6e33111a47e694d8579019771956c410e2c81882c9060 |