Files
datatools-dev/README.es.md
Michael b703911df3 docs: reflect bundled Tesseract on every install surface
- NEW LICENSE_TESSERACT.txt at the repo root: header noting it covers
  the bundled Tesseract OCR binary (Apache 2.0, upstream
  tesseract-ocr/tesseract, copyright Google + contributors) and the
  eng.traineddata from tessdata_best (also Apache 2.0). Clarifies
  DataTools itself remains proprietary. Full canonical Apache 2.0
  license text included.
- README.md + README.es.md (Download section): bumped size estimate
  ~200 MB → ~300 MB, added a short paragraph stating Tesseract OCR
  is bundled (no separate install required), with a link to the new
  license file.
- docs/USER-GUIDE.md + docs/USER-GUIDE.es.md (§1.6 System
  requirements): bumped disk estimate, added a paragraph stating
  Tesseract 5.5 + eng.traineddata ship inside every installer /
  portable / AppImage, with a source-install fallback hint pointing
  developers to DEVELOPER.md.
- docs/DEVELOPER.md: new "PDF Extractor — bundled Tesseract" section
  documenting the runtime layout (sys._MEIPASS / tesseract / …),
  discovery order, source of bytes (build/vendor/tessdata + per-
  platform fetch in make_release.py), version pin, update recipe.
- docs/TECHNICAL.md: new §3.10 "Bundled Tesseract (PDF Extractor
  OCR)" — short version of the discovery order for the build
  pipeline section.
- build/README.md: distribution-outputs paragraph now lists
  Tesseract among bundled deps with the ~250-300 MB estimate; new
  "Tesseract bundling" section: layout diagram, resolver order,
  source of bytes + 5.5.0 pin, update steps, license-file ref.

Out-of-scope gaps noted by the docs sweep:
- docs/FUTURE-TOOLS.md §D still describes Tesseract bundling as a
  high-risk packaging headache; now superseded. Worth a one-line
  "(resolved — bundled as of v1.x)" callout in a future pass.
- USER-GUIDE §2 "What's included" table doesn't list PDF Extractor
  at all (it shipped in b8aff86…967d3f6). Separate gap to close.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-02 18:20:50 +00:00

6.6 KiB

🌐 Idioma: Español · English

DataTools

Limpieza local de CSV / Excel. CLI + GUI en el navegador, sin nube, sin ceremonias de instalación. La GUI incluye paquetes de idioma en inglés y español.

Herramientas

# Herramienta Estado
01 Buscar duplicados — coincidencia exacta + difusa, 5 normalizadores, reglas de superviviente, auditoría Listo
02 Limpiar texto — espacios, caracteres tipográficos, BOM, finales de línea, mayúsculas/minúsculas Listo
03 Estandarizar formatos — fechas, teléfonos, correos, direcciones, nombres, monedas, booleanos Listo
04 Corregir valores faltantes — detección de nulos disfrazados, perfil, media/mediana/moda/ffill/bfill/interpolación, estrategias de descarte Listo
05 Mapear columnas — autodetección difusa de renombrados, esquema objetivo con coerción de tipos, campos requeridos con valores por defecto, descartar/reordenar Listo
06 Detectar valores atípicos Próximamente
07 Combinar archivos Próximamente
08 Verificación de calidad Próximamente
09 Flujos automatizados — encadena herramientas en un orden recomendado (no forzado), guarda/carga JSON, automatiza limpiezas semanales Listo

Cada página de herramienta incluye una ventana emergente de Help (a la derecha del título) con una guía compacta de Cuándo usarla / Pasos / Ejemplos / Consejo. El texto vive en los paquetes de idioma (tools.<id>.help_md).

Descarga (usuarios no técnicos)

Paquetes precompilados — sin instalar Python, sin permisos de administrador, sin internet en ejecución. Cada versión ofrece dos formatos por sistema operativo: un instalador que crea accesos directos en el escritorio + menú Inicio / Launchpad, y un .zip portable que descomprimes y haces doble clic. Elige el que te permita tu política de TI.

Plataforma Instalador (recomendado) Portable (sin instalar)
macOS DataTools-X.Y.Z-mac.dmg — ábrelo, arrastra DataTools.app a /Applications, ejecútalo desde Launchpad. DataTools-X.Y.Z-mac-portable.zip — descomprime donde quieras, doble clic en DataTools.app.
Windows DataTools-X.Y.Z-win-setup.exe — ejecuta el instalador (por usuario, sin admin). Crea acceso directo en el escritorio + entrada en el menú Inicio. DataTools-X.Y.Z-win-portable.zip — descomprime donde quieras, doble clic en DataTools.exe.
Linux DataTools-X.Y.Z-linux-x86_64.AppImagechmod +x y doble clic. El AppImage ya es portable.

Última versión: consulta GitHub Releases (o el listado de Gumroad). Cada paquete ocupa ~300 MB descomprimido; al primer arranque la app levanta un servidor local en http://127.0.0.1:8501 y abre tu navegador predeterminado. Nada sale de tu equipo — instalador y portable son idénticos por dentro.

Tesseract OCR viene incluido. El soporte para PDFs escaneados del Extractor de PDF funciona sin configuración adicional en las tres plataformas — no hace falta instalar Tesseract por separado. Atribución de licencia: ver LICENSE_TESSERACT.txt.

Avisos del primer arranque (una sola vez):

  • macOS sin firma: clic derecho → Abrir → confirma. (Las compilaciones firmadas se lo saltan.)
  • Windows SmartScreen: pulsa Más informaciónEjecutar de todas formas.

Guía detallada de instalación y resolución de problemas: Guía del usuario §1.

Instalar desde el código (desarrolladores)

pip install -r requirements.txt

Requiere Python 3.10+.

Ejecutar

GUI (recomendado):

streamlit run src/gui/app.py

CLI — siete puntos de entrada:

python -m src.cli            customers.csv [--apply]   # deduplicación
python -m src.cli_text_clean messy.csv     [--apply]   # limpieza de texto
python -m src.cli_format     intl.csv      [--apply]   # estandarización de formatos (auto-stream si >100 MB)
python -m src.cli_missing    holes.csv     [--apply]   # valores faltantes
python -m src.cli_column_map vendor.csv    [--apply]   # mapeador de columnas
python -m src.cli_pipeline   any_file.csv  [--apply]   # encadena herramientas de extremo a extremo
python -m src.cli_analyze    any_file.csv  [--json]    # solo escanea

Cada CLI ejecuta solo previsualización por defecto; añade --apply para escribir la salida.

Idioma

La barra lateral de la GUI tiene un selector de idioma. Se incluyen paquetes para English y Español (src/i18n/packs/); la elección persiste durante la sesión. Para añadir un idioma: coloca un <código>.json junto a en.json reproduciendo el árbol de claves, y luego añádelo a LANGUAGES. Ver Guía del desarrollador §i18n (solo en inglés).

Verificación de Revisar y Normalizar

Cada archivo subido pasa por una verificación de normalización CSV antes de que cualquier herramienta lo toque. El analizador detecta ~15 tipos de problemas (espacios, caracteres NBSP / de ancho cero, BOM, codificación, puntuación tipográfica, encabezados sucios, centinelas nulos, mojibake, …) etiquetados por confianza (alta / media / baja) y acción de corrección. La GUI muestra cada hallazgo con Corregir auto / Saltar / Personalizar, una previsualización antes/después en vivo, y un selector para anular la codificación. Las páginas de herramientas se niegan a cargar hasta que se pase la verificación.

Salida

Cada ejecución escribe:

  • {input}_<tool>.csv — los datos limpios
  • {input}_changes.csv (limpiador de texto) o {input}_match_groups.csv (duplicados) — pista de auditoría
  • logs/<tool>_YYYYMMDD_HHMMSS.log — registro de depuración de la ejecución

El archivo de entrada original nunca se modifica.

Documentación

  • Guía del usuario — instalación, flujo de la GUI, verificación
  • Referencia de la CLI — cada bandera con recetas
  • Requisitos — tamaños de archivo, codificaciones, detectores, objetivos de rendimiento (solo en inglés)
  • Técnico — arquitectura, internos de la verificación, registro de correcciones (solo en inglés)
  • Guía del desarrollador — añadir correcciones / detectores / estandarizadores (solo en inglés)

Dependencias

pandas, openpyxl, rapidfuzz, phonenumbers, typer, loguru, charset-normalizer, streamlit. Opcional: ftfy para reparación de mojibake.

Licencia

Propietaria.