Librería de Python para transformar corpus bibliográficos en redes bibliométricas reproducibles (co-citación, colaboración, co-ocurrencia).
Project description
bib2graph
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 sea
0.x, la API puede cambiar entre releases menores. Úsalo para explorar y validar, no como dependencia estable de producción todavía.
Instalación
Recomendamos uv para gestionar el entorno:
uv add bib2graph
También funciona con pip:
pip install bib2graph
Sembrar desde archivos BibTeX necesita un extra: bib2graph[bibtex].
Quickstart
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 GraphML
Cada comando acepta --json para orquestarlo desde scripts o agentes. Lista completa de
comandos: b2g --help.
Desde Python
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}"))
Qué hace
- 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.
Cómo se construye (y la IA)
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.
Documentación
- 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é.
Licencia
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).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bib2graph-0.9.0-py3-none-any.whl.
File metadata
- Download URL: bib2graph-0.9.0-py3-none-any.whl
- Upload date:
- Size: 477.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0c809226b6d8733942eccf1392040ee049626042a94c9ec5831897a29437d865
|
|
| MD5 |
9c217be1fee0ea12e0c7e0bbdf1554f2
|
|
| BLAKE2b-256 |
806a0bcd73458a1397a80bde2176873f8813a49cbd14e326d35ba97d09897019
|
Provenance
The following attestation bundles were made for bib2graph-0.9.0-py3-none-any.whl:
Publisher:
publish-pypi.yml on complexluise/bib2graph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
bib2graph-0.9.0-py3-none-any.whl -
Subject digest:
0c809226b6d8733942eccf1392040ee049626042a94c9ec5831897a29437d865 - Sigstore transparency entry: 1946256517
- Sigstore integration time:
-
Permalink:
complexluise/bib2graph@a0efde01b354dc1291769d60aadde13aec776828 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/complexluise
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@a0efde01b354dc1291769d60aadde13aec776828 -
Trigger Event:
workflow_dispatch
-
Statement type: