Skip to main content

Collect values for a pydantic model via a wizard

Project description

Latest Version Python Versions Build Status Documentation Status

wizdantic

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wizdantic-0.3.0.tar.gz (27.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wizdantic-0.3.0-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file wizdantic-0.3.0.tar.gz.

File metadata

  • Download URL: wizdantic-0.3.0.tar.gz
  • Upload date:
  • Size: 27.3 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for wizdantic-0.3.0.tar.gz
Algorithm Hash digest
SHA256 f08871df754dac291da7418785c3d59957a97688d85a0a867573b333995008dd
MD5 670952d8d136eae421126c688fc9fc22
BLAKE2b-256 e2aa0a292edf23a5d57c417eccd6e0018b2ad8cf339e0ea5c6840190d265a065

See more details on using hashes here.

File details

Details for the file wizdantic-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: wizdantic-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 34.8 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for wizdantic-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c612aa6294336e7b6dc3e70fa49bb0672eaa2e54272fdb30b3eeae10805a75ce
MD5 d0a300a7b0dfb2be6df866ce8fcb0b33
BLAKE2b-256 69fb216658791778514c376ed0c20cf7f1b4935ae3f83f7ec25714915d39dc0e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page