wizdantic
Conjure populated Pydantic models from thin air with an interactive terminal wizard.
Super-quick start
Requires Python 3.12+.
pip install wizdantic
Usage
Define a Pydantic model. Call run_wizard. That's it.
from pydantic import BaseModel, Field
from wizdantic import run_wizard
class Spellbook(BaseModel):
name: str = Field(description="Spellbook title")
page_count: int = Field(description="Number of pages", default=300)
ink_weight_kg: float = Field(description="Weight of enchanted ink in kilograms", default=0.4)
cursed: bool = Field(description="Bound with a curse", default=False)
book = run_wizard(Spellbook, title="Register a Spellbook")
The wizard walks the user through each field, validates input inline, insists on required values, pre-fills defaults, and returns a fully constructed model instance.
Try the demo
The fastest way to see wizdantic in action is to run the interactive demo. No install required:
uvx --from=wizdantic[demo] wizdantic-demo
The demo walks through every supported field type, one spell at a time. Each spell shows the model definition and a plain-English description, then drops you into a live wizard.
Documentation
Full documentation at dusktreader.github.io/wizdantic.
Metadata
Release files for wizdantic 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wizdantic-0.3.0.tar.gz | 27.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wizdantic-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 62.1 kB
Release files / wizdantic-0.3.0.tar.gz
| Download URL | wizdantic-0.3.0.tar.gz |
|---|---|
| Size | 27.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f08871df754dac291da7418785c3d59957a97688d85a0a867573b333995008dd
|
|
BLAKE2b-256 checksum How to use checksums |
e2aa0a292edf23a5d57c417eccd6e0018b2ad8cf339e0ea5c6840190d265a065
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / wizdantic-0.3.0-py3-none-any.whl
| Download URL | wizdantic-0.3.0-py3-none-any.whl |
|---|---|
| Size | 34.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c612aa6294336e7b6dc3e70fa49bb0672eaa2e54272fdb30b3eeae10805a75ce
|
|
BLAKE2b-256 checksum How to use checksums |
69fb216658791778514c376ed0c20cf7f1b4935ae3f83f7ec25714915d39dc0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.14 {"installer":{"name":"uv","version":"0.11.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|