Saltar a contenido

Rutificador

Biblioteca Python para validar, calcular y formatear el Rol Único Tributario (RUT) chileno. Sin dependencias externas, tipado estático completo, y soporte para procesamiento por lotes, streaming, CLI, e integraciones opcionales con Pydantic v2, FastAPI, pandas y polars.

from rutificador import Rut

rut = Rut("12.345.678-5")
print(rut.formatear(separador_miles=True))  # 12.345.678-5

resultado = Rut.parse("12.345.678-9")
print(resultado.estado, resultado.codigo_error)  # invalido DV_DISCORDANTE

Puedes probarlo en el playground sin instalar nada: valida RUTs en tu navegador.

Características

  • Cero dependencias base — solo estándar de Python
  • Validación completa — formato, dígito verificador, longitud configurable, modos de rigor
  • Formateo flexible — separador de miles, mayúsculas en DV, separador personalizado
  • Streaming y lotes — archivos de millones de líneas sin cargar todo en memoria
  • Procesamiento en paralelo — motor por procesos (CPU-bound) o hilos (I/O-bound)
  • Parseo seguro — Rut.parse() nunca lanza excepción
  • Enmascaramiento y tokenización — protege datos sensibles
  • Motor de sugerencias — corrección fuzzy de errores tipográficos
  • Integraciones opcionales — Pydantic v2, FastAPI, pandas, polars
  • Tipado estático — py.typed (PEP 561)
  • CLI profesional — salida en text, JSON, JSONL, CSV y XML

Instalación rápida

pip install rutificador

Con extras:

pip install rutificador[pydantic]   # Pydantic v2
pip install rutificador[fastapi]    # FastAPI + Pydantic
pip install rutificador[pandas]     # pandas accessor
pip install rutificador[polars]     # polars namespace
pip install rutificador[full]       # todo lo anterior

Licencia

MIT © Carlos Ortega González — tooltician.com

Parte del ecosistema Tooltician.