Définissez facilement les structures de fichiers de configuration et validez les fichiers à l'aide des modèles. ?
Validit est testé sur CPYTHON 3.6, 3,7, 3,8 et 3.9. Installez simplement en utilisant PIP:
$ (sudo) pip install validit Par défaut, Validit prend uniquement en charge les fichiers de configuration JSON ou les données déjà chargées (pas directement à partir d'un fichier de configuration). Cependant, en utilisant des dépendances supplémentaires, Validit prend en charge les formats de fichiers suivants:
JSONYAMLTOMLPour installer Validit avec les dépendances supplémentaires requises pour prendre en charge votre format de fichier préféré, utilisez:
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 Pour créer un modèle, vous aurez besoin du module Template de base, et généralement les trois autres modules de base TemplateList , TemplateDict et Optional .
Dans l'exemple suivant, nous créerons un modèle de base qui représente un seul utilisateur:
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.
) Pour valider vos données avec un modèle, vous devez utiliser l'objet 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 vos données sont stockées dans un fichier, il est possible d'utiliser les objets ValidateFromJSON , ValidateFromYAML ou ValidateFromTOML :
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 est toujours en cours de développement actif, et certaines caractéristiques de base peuvent changer considérablement dans un avenir proche.
Si vous prévoyez d'utiliser Validit comme dépendance pour votre projet, nous vous recommandons fortement de spécifier la version exacte du module que vous utilisez dans le fichier requirements.txt ou les scripts setup.py .
Par exemple, pour identifier la version v1.3.2, utilisez la ligne suivante dans votre fichier requirements.txt :
validit==1.3.2
validit[yaml]==1.3.2 # If using extra file formats