Este repositorio analiza recursos de revisión del sistema de transparencia de la Ciudad de México. El proyecto combina limpieza de datos, homologación institucional, análisis semántico de solicitudes y una aplicación en Streamlit para explorar patrones por dependencia, resoluciones atípicas y cambios temporales.
src/cleaning.py: limpia la base, normaliza instituciones y genera variables analíticas.src/sentido_utils.py: concentra la reclasificación desentidoytipo de efecto.src/streamlit_app.py: app interactiva para explorar resultados.notebooks/00_exploration.ipynb: integración y revisión inicial de la fuente.notebooks/01_analisis_motivos.ipynb: análisis semántico y construcción de categorías.notebooks/02_patrones_por_dependencia.ipynb: análisis por dependencia, resoluciones y tiempo.outputs/interim/: insumos intermedios de trabajo.auxiliares/: figuras y archivos auxiliares para visualización.
El flujo general es:
- Integrar y revisar la fuente original en
notebooks/00_exploration.ipynb. - Ejecutar
src/cleaning.pypara:- eliminar duplicados y columnas residuales,
- limpiar texto de solicitudes,
- homologar nombres de sujetos obligados contra catálogo,
- generar variables como
anio,mes,sentido_reclasificadoysentido_efecto.
- Analizar motivos y categorías semánticas en
notebooks/01_analisis_motivos.ipynb. - Explorar patrones institucionales en
notebooks/02_patrones_por_dependencia.ipynb. - Visualizar resultados en la app
src/streamlit_app.py.
Desde la raíz del proyecto:
uv syncPara entrar al entorno virtual creado por uv:
source .venv/bin/activate.venv/bin/python src/cleaning.pyEsto genera o actualiza archivos intermedios como:
outputs/interim/resoluciones_clean.xlsxoutputs/interim/resoluciones_para_trabajo.xlsx
Puedes abrir Jupyter:
uv run jupyter notebookY ejecutar en este orden:
notebooks/00_exploration.ipynbnotebooks/01_analisis_motivos.ipynbnotebooks/02_patrones_por_dependencia.ipynb
uv run streamlit run src/streamlit_app.pyLa app usa por defecto:
outputs/interim/resoluciones_para_trabajo_etiquetado.xlsxauxiliares/embeddings_projector.tsvauxiliares/metadata_projector.tsv
- Python
>=3.13 uv
El proyecto está pensado como un flujo analítico reproducible: limpieza, etiquetado, análisis exploratorio y visualización interactiva. Si actualizas los datos base, conviene volver a correr la limpieza y después los notebooks principales antes de abrir la app.