Definir fácilmente las estructuras de archivos de configuración y validar archivos utilizando las plantillas. ?
Validit se prueba en CPython 3.6, 3.7, 3.8 y 3.9. Simplemente instale usando PIP:
$ (sudo) pip install validit De forma predeterminada, Validit solo admite archivos de configuración JSON , o ya cargados datos (no directamente desde un archivo de configuración). Sin embargo, utilizando dependencias adicionales, Validit admite los siguientes formatos de archivo:
JSONYAMLTOMLPara instalar Validit con las dependencias requeridas adicionales para admitir su formato de archivo preferido, use:
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 Para crear una plantilla, necesitará el módulo Template básica, y generalmente los otros tres módulos básicos TemplateList , TemplateDict y Optional .
En el siguiente ejemplo, crearemos una plantilla básica que represente a un solo usuario:
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.
) Para validar sus datos con una plantilla, debe usar el objeto 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 Si sus datos se almacenan en un archivo, es posible utilizar los objetos ValidateFromJSON , ValidateFromYAML o ValidateFromTOML en su lugar:
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 todavía está en desarrollo activo, y algunas características centrales pueden cambiar sustancialmente en el futuro cercano.
Si planea utilizar la validit como dependencia de su proyecto, recomendamos especificar la versión exacta del módulo que está utilizando en los scripts requirements.txt o setup.py .
Por ejemplo, para identificar la versión v1.3.2 Use la siguiente línea en sus requirements.txt .
validit==1.3.2
validit[yaml]==1.3.2 # If using extra file formats