Pequeña librería de validadores reutilizables.
Project description
Minivalidator
Pequeña librería de validadores reutilizables para Python.
Descripción
Minivalidator es una librería ligera que proporciona reglas de validación reutilizables para validar datos en aplicaciones Python. Incluye validadores comunes como verificación de cadenas no vacías, formato de email y rangos numéricos.
Instalación
Puedes instalar Minivalidator usando pip:
pip install minivalidator
O desde el código fuente:
git clone <https://github.com/KevinNavia/Pg2_2daInstancia.git>
cd minivalidator
pip install .
Uso
Importar la librería
from minivalidator.rules import NotEmpty, IsEmail, InRange
from minivalidator.errors import ValidationError
Ejemplos de uso
NotEmpty
Valida que una cadena no esté vacía.
validator = NotEmpty()
try:
validator.validate("hola") # Pasa
validator.validate("") # Lanza ValidationError
except ValidationError as e:
print(e)
IsEmail
Valida el formato de un email.
validator = IsEmail()
try:
validator.validate("user@example.com") # Pasa
validator.validate("invalid-email") # Lanza ValidationError
except ValidationError as e:
print(e)
InRange
Valida que un número esté dentro de un rango.
validator = InRange(0, 10)
try:
validator.validate(5) # Pasa
validator.validate(15) # Lanza ValidationError
except ValidationError as e:
print(e)
API
Clases de Validación
Rule: Clase base abstracta para reglas de validación.NotEmpty: Valida que el valor no sea None o una cadena vacía.IsEmail: Valida que el valor sea una cadena con formato de email válido.InRange(min_, max_): Valida que el valor numérico esté dentro del rango especificado.
Excepciones
ValidationError: Excepción lanzada cuando una validación falla. Incluye el mensaje de error y el valor inválido.
Pruebas
Para ejecutar las pruebas, instala pytest y ejecuta:
pytest
O específicamente para las pruebas de reglas:
pytest test/test_rules.py
Licencia
Este proyecto está bajo la Licencia MIT. Ver el archivo LICENSE para más detalles.
Autor
Kevin Navia Matienzo - kevinnavia68@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file minivalidator-0.1.0.tar.gz.
File metadata
- Download URL: minivalidator-0.1.0.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdea1269c36713b5d4176b1370ef17c1f099389e21617d613d084e4b13de3b33
|
|
| MD5 |
b9c0d44f39172848d22d20b733fa55f1
|
|
| BLAKE2b-256 |
7a4e2c68273809ef5c4ca7fc6426a1800e8ea4004197dffa6c0bacde093cacb0
|
File details
Details for the file minivalidator-0.1.0-py3-none-any.whl.
File metadata
- Download URL: minivalidator-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
965a5403c0a2276aa449b4318f19ac782193d431aeda71ff29e02f6c7cc60723
|
|
| MD5 |
c1385ce997ca6645a405a69e81b74506
|
|
| BLAKE2b-256 |
9be6d49b3466628b71c92675b6bac7ffc2f80802b9f84be79a8b666fd06a2e8f
|