Mudah mendefinisikan struktur file konfigurasi, dan memvalidasi file menggunakan templat. ?
Validit diuji pada CPYTHON 3.6, 3.7, 3.8, dan 3.9. Cukup instal menggunakan PIP:
$ (sudo) pip install validit Secara default, ValidIT hanya mendukung file konfigurasi JSON , atau data yang sudah dimuat (tidak langsung dari file konfigurasi). Namun, menggunakan dependensi tambahan, validit mendukung format file berikut:
JSONYAMLTOMLUntuk menginstal validit dengan dependensi tambahan yang diperlukan untuk mendukung format file pilihan Anda, gunakan:
pip install validit[yaml] # install dependencies for yaml files
pip install validit[toml] # toml files
pip install validit[json,toml] # json and toml files
pip install validit[all] # all available file formats Untuk membuat templat, Anda akan memerlukan modul Template Dasar, dan biasanya tiga modul dasar lainnya TemplateList , TemplateDict , dan Optional .
Dalam contoh berikut, kami akan membuat templat dasar yang mewakili satu pengguna:
from validit import Template , TemplateList , TemplateDict , Optional
TemplateUser = TemplateDict ( # a dictionary with 2 required values
username = Template ( str ), # username must be a string
passcode = Template ( int , str ), # can be a string or an integer.
nickname = Optional ( Template ( str )), # optional - if provided, must be a string.
) Untuk memvalidasi data Anda dengan templat, Anda harus menggunakan objek Validate .
from validit import Template , TemplateDict , Optional , Validate
template = TemplateDict (
username = Template ( str ),
passcode = Template ( int , str ),
nickname = Optional ( Template ( str )),
)
data = {
'username' : 'RealA10N' ,
'passcode' : 123 ,
}
valid = Validate ( template , data )
if valid . errors : # if one or more errors found
print ( valid . errors ) # print errors to console
exit ( 1 ) # exit the script with exit code 1
else : # if data matches the template
run_script ( valid . data ) # run the script with the loaded data Jika data Anda disimpan dalam sebuah file, dimungkinkan untuk menggunakan ValidateFromJSON , ValidateFromYAML atau ValidateFromTOML Objects sebagai gantinya:
from validit import Template , TemplateDict , Optional , ValidateFromYAML
filepath = '/path/to/data.yaml'
template = TemplateDict (
username = Template ( str ),
passcode = Template ( int , str ),
nickname = Optional ( Template ( str )),
)
with open ( filepath , 'r' ) as file :
# load and validate data from the file
valid = ValidateFromYAML ( file , template )
if valid . errors : # if one or more errors found
print ( valid . errors ) # print errors to console
exit ( 1 ) # exit the script with exit code 1
else : # if data matches the template
run_script ( valid . data ) # run the script with the loaded data Validit masih dalam pengembangan aktif, dan beberapa fitur inti dapat berubah secara substansial dalam waktu dekat.
Jika Anda berencana untuk menggunakan ValidIT sebagai ketergantungan untuk proyek Anda, kami sangat menyarankan untuk menentukan versi yang tepat dari modul yang Anda gunakan dalam file requirements.txt atau skrip setup.py .
Misalnya, untuk menentukan versi v1.3.2 Gunakan baris berikut di file requirements.txt Anda:
validit==1.3.2
validit[yaml]==1.3.2 # If using extra file formats