Skip to main content

Interactive configuration prompt for Pydantic models

Project description

pydantic-config-generator

pydantic-config-generator è una libreria Python che fornisce prompt interattivi per la configurazione di modelli Pydantic. Permette di creare interfacce CLI interattive per raccogliere e validare dati secondo i tuoi modelli Pydantic.

Caratteristiche

  • 🎯 Validazione automatica: Usa la validazione di Pydantic per garantire dati corretti
  • 🔄 Supporto per modelli annidati: Gestisce configurazioni complesse con modelli Pydantic annidati
  • Facile da usare: Basta passare il tuo modello Pydantic e pydantic-config-generator fa il resto
  • 🛡️ Type-safe: Sfrutta il sistema di tipi di Pydantic

Installazione

pip install pydantic-config-generator

Utilizzo

Esempio Base

from pydantic import BaseModel
from pydantic_config_generator import run

class ExampleConfig(BaseModel):
    name: str = ''
    surname: str
    age: int
    is_student: bool = True

# Avvia il prompt interattivo
run(ExampleConfig)

Esempio con Modelli Annidati

from pydantic import BaseModel
from pydantic_config_generator import run

class ExampleSubConfig(BaseModel):
    name: str
    surname: str
    age: int

class ExampleConfig(BaseModel):
    name: str = ''
    surname: str
    age: int
    is_student: bool = True
    teacher: ExampleSubConfig = None

run(ExampleConfig)

Il sistema ti chiederà di inserire i valori per ogni campo, mostrando i valori di default tra parentesi quadre. I campi obbligatori devono essere compilati, mentre quelli opzionali possono essere saltati.

Come Funziona

  1. Campi semplici: Per ogni campo del modello, pydantic-config-generator chiede un valore, mostrando il default se disponibile
  2. Validazione: Ogni input viene validato secondo le regole del modello Pydantic
  3. Modelli annidati: Se un campo è un modello Pydantic, pydantic-config-generator chiede se includerlo (se opzionale) e poi richiede i suoi campi
  4. Gestione errori: Se un valore non è valido, viene mostrato un errore e viene richiesto di nuovo

Requisiti

  • Python >= 3.7
  • pydantic >= 1.0, < 2.0

Licenza

MIT License

Contribuire

I contributi sono benvenuti! Sentiti libero di aprire issue o pull request.

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

pydantic_config_generator-0.1.1.tar.gz (3.7 kB view details)

Uploaded Source

Built Distribution

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

pydantic_config_generator-0.1.1-py3-none-any.whl (4.3 kB view details)

Uploaded Python 3

File details

Details for the file pydantic_config_generator-0.1.1.tar.gz.

File metadata

File hashes

Hashes for pydantic_config_generator-0.1.1.tar.gz
Algorithm Hash digest
SHA256 31a679402d1daf1ff1c298f8c281d9f9614113b1adaf8c936070e5c2f20c8286
MD5 fed4930ce9f62f98afc77698944e66fc
BLAKE2b-256 e6b264116b9dad1f3bcdae3b6da12c539fcb2191f5e71a7200a7fc90572fa788

See more details on using hashes here.

File details

Details for the file pydantic_config_generator-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for pydantic_config_generator-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 24f26f72c156d8aa3aabab732646d65218c2deeb0209ade60cb3fae87026398e
MD5 b303b163b024538321a1638143b64667
BLAKE2b-256 2741d3415d94233edf010ccc5614f7b9f1efdcfda2cc76fedb5bd9c69d59aca9

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