Skip to main content

Una biblioteca para medir la calidad de la integridad referencial en bases de datos relacionales.

Project description

pyntegritydb

PyPI version License: MIT Python versions Build Status

pyntegritydb es una herramienta de línea de comandos para analizar y medir la calidad de la integridad referencial en bases de datos relacionales. Basada en el paper académico "Referential Integrity Quality Metrics", la biblioteca te ayuda a diagnosticar rápidamente relaciones rotas o "huérfanas" en tu esquema.


Características Principales

  • Análisis Basado en Métricas: Calcula métricas clave como validity_rate y orphan_rate para cada relación.
  • Soporte Multi-DB: Compatible con cualquier base de datos que soporte SQLAlchemy (PostgreSQL, MySQL, SQLite, etc.).
  • Reportes Flexibles: Genera reportes en múltiples formatos: tabla para la consola (cli), json o csv.
  • Visualización de Esquema: Crea un grafo visual de las relaciones de tu base de datos, coloreando las conexiones según su "salud".
  • Fácil de Usar: Diseñada como una herramienta de línea de comandos simple y directa.

Instalación

Instala pyntegritydb directamente desde PyPI:

pip install pyntegritydb

Guía de Inicio Rápido

Puedes analizar tu base de datos con un único comando, pasándole la URI de conexión de SQLAlchemy.

1. Ejecutar un Análisis Básico

El siguiente comando se conectará a una base de datos SQLite y mostrará un reporte en la consola.

pyntegritydb "sqlite:///ruta/a/tu/database.db"

2. Generar Reporte en JSON

Usa el argumento --format para cambiar el formato de salida.

pyntegritydb "postgresql://user:pass@host/db" --format json

3. Generar una Visualización del Grafo

Próximamente se añadirá la funcionalidad para generar y guardar el grafo visual directamente desde la CLI.


Desarrollo

Si quieres contribuir al proyecto, sigue estos pasos:

  1. Clona el repositorio:

    git clone [https://github.com/tu_usuario/pyntegritydb.git](https://github.com/tu_usuario/pyntegritydb.git)
    cd pyntegritydb
    
  2. Crea y activa un entorno virtual:

    python3 -m venv venv
    source venv/bin/activate
    
  3. Instala las dependencias en modo editable:

    pip install -e ".[dev]" 
    # (Necesitarás definir los 'dev' extras en pyproject.toml para pytest, etc.)
    
  4. Ejecuta las pruebas:

    pytest
    

Licencia

Este proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyntegritydb-0.1.0.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyntegritydb-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file pyntegritydb-0.1.0.tar.gz.

File metadata

  • Download URL: pyntegritydb-0.1.0.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyntegritydb-0.1.0.tar.gz
Algorithm Hash digest
SHA256 3d420e586525c22519de324958deaa3376fd88dfea606a06d76a5232b6c3749b
MD5 d7dbe1e139677545cd86fb9d919a0bea
BLAKE2b-256 13d83b054ce6367229f216c1fe145007653c2dfc00eef58a7cb94939bee6d810

See more details on using hashes here.

File details

Details for the file pyntegritydb-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: pyntegritydb-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 12.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for pyntegritydb-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1689571596fc12d5d630ee3590cda9a2dca870b7700d27a21c28d5fd08d32210
MD5 10e17cc4fe1d7c7ccd5c87e79433eaa9
BLAKE2b-256 78283c74a139d607fec0dac87c31a3b9813919400c9865d6732607db8cf54368

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page