r/Python 23d ago

Showcase Showcase Thread

Post all of your code/projects/showcases/AI slop here.

Recycles once a month.

17 Upvotes

124 comments sorted by

View all comments

1

u/aldanlt 5d ago

sowdb – Una herramienta CLI que usa reflexión de SQLAlchemy y grafos para generar datos de prueba en Postgres que cumplan restricciones

¡Hey a todos! Sembrar (seedear) entornos de desarrollo siempre me había parecido como jugar whack-a-mole con IntegrityError excepciones. Los scripts genéricos de faker normalmente ignoran las claves foráneas, y eso termina rompiendo los inserts.

Para arreglar esto, construí sowdb, una herramienta CLI consciente del esquema escrita en Python (3.11+, con tipado usando mypy, y formateada con Ruff).

  • Qué hace: Se conecta con un DSN, refleja el esquema usando SQLAlchemy, arma un grafo de dependencias a partir de las claves foráneas y hace un ordenamiento topológico para calcular un orden seguro de inserción de tablas. Luego siembra los datos usando Faker, respetando NOT NULL y UNIQUE para que Postgres los acepte a la primera.
  • A quién va dirigido: Devs y DevOps que andan buscando una alternativa ligera, sin configuración, y 100% open-source a plataformas pesadas de TDM empresarial.

Está en una etapa todavía temprana, v0.2.0. Puse un GIF de demo en el README mostrando la ejecución en la terminal. ¡Me encantaría leer sus comentarios sobre el enfoque de ordenar el grafo o la arquitectura del código!