De una búsqueda bibliográfica a redes de citación reproducibles — una biblioteca de literatura que curás vos, sin servidores ni planillas.
bib2graph toma una ecuación de búsqueda (o un archivo .bib), arma un corpus de papers
desde OpenAlex, te deja curarlo y lo proyecta a redes
bibliométricas listas para analizar en Gephi, Python o donde quieras: acoplamiento
bibliográfico, co-citación, co-autoría, colaboración institucional y co-ocurrencia de keywords.
El corpus persiste y crece entre sesiones, y el resultado es reproducible: mismo input, mismas redes.
⚠️ Alpha. Mientras la versión sea0.x, la API puede cambiar entre releases menores. Úsalo para explorar y validar, no como dependencia estable de producción todavía.
Recomendamos uv para gestionar el entorno:
uv add bib2graphTambién funciona con pip:
pip install bib2graphSembrar desde archivos BibTeX necesita un extra: bib2graph[bibtex].
De una ecuación a un GraphML, sin escribir código:
b2g init mi-investigacion
cd mi-investigacion
b2g seed --equation '"unequal ecological exchange"' --max-results 50 # corpus desde OpenAlex
b2g build # construye las redes
b2g export --format graphml # → redes en GraphMLCada comando acepta --json para orquestarlo desde scripts o agentes. Lista completa de
comandos: b2g --help.
La forma más simple de usar bib2graph es pedirle a Claude que lo use por vos. bib2graph trae una
skill de Claude Code que entrevista tu pregunta de investigación y corre el ciclo completo
(init → seed → chain → build → read) sin que escribas comandos:
pip install bib2graph
b2g skill add # instala la skill en ~/.claude/skills/bib2graph/Después, en Claude Code: "usá bib2graph para armar la red de citación de estos papers…". La skill
viaja dentro del mismo paquete que el CLI, así que siempre está al día con tu versión de
bib2graph. Usá --project para instalarla solo en el proyecto actual.
from pathlib import Path
from bib2graph import OpenAlexSource, DuckDBStore, Networks, GraphMLExporter
corpus = OpenAlexSource().seed('"unequal ecological exchange"').corpus
store = DuckDBStore(Path("biblioteca.duckdb"))
store.persist(corpus)
for red in Networks.quick(store.load()):
GraphMLExporter().export(red.graph, red.metrics, out_dir=Path(f"redes/{red.spec.kind}"))- Siembra desde una ecuación de búsqueda (OpenAlex) o un archivo BibTeX.
- Expande el corpus siguiendo citaciones, rankeando candidatos por estructura — sin IA.
- Curás vos: aceptar/rechazar papers, filtros PRISMA, todo versionable en CSV.
- 5 redes bibliométricas: acoplamiento, co-citación, co-autoría, instituciones, co-keywords.
- Sub-redes temáticas filtrando por keyword.
- Biblioteca persistente (DuckDB) que crece entre sesiones.
- Reproducible: mismo corpus → mismas redes y comunidades (hash de contenido).
- Dos interfaces: CLI scriptable (
b2g, salida--json) y librería de Python. - Exporta a GraphML/CSV para Gephi, Cytoscape, networkx, etc.
bib2graph se desarrolla con la IA en el lazo: una persona plantea el problema, decide y
aprueba cada cambio; modelos de IA implementan el código, los tests y la documentación bajo
esa dirección. El producto en sí no usa IA generativa — el ranking del forrajeo es estructura
bibliométrica determinista (acoplamiento, co-citación, centralidad), sin LLM ni embeddings, y la
curación es 100% humana. El detalle está en AI_DISCLOSURE.md.
- Guía de contribución — setup de desarrollo, convenciones, cómo aportar.
- Arquitectura — cómo está construido por dentro.
- Referencia de la API — contratos públicos de la librería y el CLI.
- Decisiones de diseño — los ADRs, para quien quiera el porqué.
GPL-3.0-or-later — software libre con copyleft fuerte: cualquier derivado que se distribuya debe seguir siendo libre y de código abierto. Es deliberado: esta herramienta queda para la comunidad y no puede cerrarse en un producto propietario.
Copyright (C) 2026 Equipo bib2graph (complexluise).