Skip to main content

gruplac-json

Convierte la página pública del GrupLAC de un grupo de investigación (Minciencias, Colombia) en un único documento JSON: datos básicos, instituciones (con su ROR), plan estratégico, líneas de investigación, integrantes con su COD_RH y su periodo de vinculación, producción bibliográfica en el esquema de obras de ImpactU, proyectos, eventos y todos los demás productos (other_products), con autores, título, lugar, fechas, identificadores, enlaces y los demás datos rotulados de cada ítem.

Es la pareja de cvlac-json: los productos que existen en ambos tienen la misma forma, y usa sus herramientas de ROR y de Scienti.

  • Afiliaciones de los integrantes: cada autor de un producto que aparece en "Integrantes del grupo" recibe su COD_RH y, si el año del producto está en su periodo "Inicio - Fin Vinculación", el grupo como afiliación, con la procedencia (gruplac.provenance: "gruplac members"), como hace cvlac-json con la experiencia.
  • Con una clave de apis.colav.co, agrega los identificadores Scienti (COD_RH-COD_PRODUCTO, -COD_PROYECTO, -COD_EVENTO, -COD_RED) de los registros del grupo que coinciden. Los productos sin autores en la página (consultorías, conceptos técnicos, procesos de apropiación social…) reciben como autores a los integrantes que registraron ese producto en Scienti.

Instalación

pip install gruplac-json

Uso en la terminal

gruplac-json COL0008423                        # escribe gruplac_COL0008423.json
gruplac-json 1676                              # el número de GrupLAC, con o sin ceros a la izquierda
gruplac-json COL0008423 --save-html g.html     # guarda también la página descargada
gruplac-json COL0008423 --html g.html.gz       # analiza una página guardada (.html o .html.gz), sin descargar
gruplac-json COL0008423 -o -                   # JSON por la salida estándar
gruplac-json COL0008423 --scienti off --ror off
Opción Efecto
--scienti auto (por defecto) Si hay clave de apis.colav.co, agrega los ids Scienti de los registros del grupo que coinciden.
--scienti off No consulta Scienti.
--institution, --model-year Volcado de Scienti (udea, univalle, uec, unaula) y año del modelo. Por defecto se prueban en ese orden.
--apikey CLAVE Clave de apis.colav.co para esta ejecución.
--ror auto / off Consulta o no el registro ROR (instituciones del grupo y de las tesis).

El código COL se traduce al número de GrupLAC con la tabla de los 6.936 grupos de la búsqueda de grupos de Minciencias (31 de octubre de 2026), incluida en el paquete. Un grupo que no esté en la tabla se puede pedir por su número de GrupLAC; sin código COL no se consulta Scienti.

La clave de apis.colav.co se toma, en este orden, de --apikey, de la variable de entorno COLAV_APIKEY o del archivo ~/.config/colav/apikey. Nunca se imprime.

Uso como biblioteca

from gruplac_json import extract

data = extract("COL0008423", scienti="off")  # descarga y analiza la página
print(data["name"], len(data["members"]), len(data["works"]))

from gruplac_json.parser import decode

html = decode(open("g.html", "rb").read())
data = extract("COL0008423", html=html, ror=False)

Esquema del JSON

El esquema completo, campo por campo, está en docs/gruplac_json_esquema.md.

Desarrollo

git clone https://github.com/restrepo/gruplac-json.git
cd gruplac-json
python -m pip install -e ".[dev]"
python -m pytest
ruff check . && ruff format --check .

Las pruebas no usan la red: corren sobre una página sintética (tests/fixtures/gruplac_sintetico.html) con personas y productos ficticios y la misma estructura HTML del GrupLAC.

Cómo publicar una versión nueva en PyPI: PUBLISHING.md y CHANGELOG.md.

Avisos

  • La página del GrupLAC es pública, pero contiene datos personales (nombres de los integrantes, correo del grupo). Úselos de acuerdo con la normativa de protección de datos que aplique.
  • Sea moderado con el servidor de Minciencias: haga una pausa de uno o dos segundos entre grupos cuando procese muchos.
  • Las afiliaciones de los productos son inferidas del periodo de vinculación (el autor era integrante del grupo ese año); el GrupLAC no las declara. Los coautores que no son integrantes no tienen afiliación.

Licencia

MIT

Metadata

Release files for gruplac-json 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gruplac-json 0.1.0
File Size Uploaded Provenance Actions
gruplac_json-0.1.0.tar.gz 79.9 kB With provenance Details for gruplac_json-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for gruplac-json 0.1.0
File Interpreter ABI Platform Actions
gruplac_json-0.1.0-py3-none-any.whl Python 3 none any Details for gruplac_json-0.1.0-py3-none-any.whl

Total release size: 147.3 kB

Release files / gruplac_json-0.1.0.tar.gz

Download URL gruplac_json-0.1.0.tar.gz
Size 79.9 kB
Tags Source
SHA-256 checksum
How to use checksums
9b781bb39c5f162e9b857cc135a48541ef666576a4a83cafbad809aab188df7a
BLAKE2b-256 checksum
How to use checksums
f99a86060ebf6812b97d1a7e4fdea48b98dae78ae26cc9396b129fad8ba48d18
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Release files / gruplac_json-0.1.0-py3-none-any.whl

Download URL gruplac_json-0.1.0-py3-none-any.whl
Size 67.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fed0c02db1294c0e5348a172a772a934adf89db40d82a3408323e36b9e8aeb69
BLAKE2b-256 checksum
How to use checksums
f25010447c6aeae32f35139318f34ef1f535b4422fc5b2b67e640b191c3d6c88
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

Security for gruplac-json 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for gruplac_json-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Nov 2, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page