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"), y las instituciones declaradas del grupo con su ROR ("gruplac institutions"), 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.2.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.2.0
File Size Uploaded Provenance Actions
gruplac_json-0.2.0.tar.gz 81.2 kB With provenance Details for gruplac_json-0.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 149.0 kB

Release files / gruplac_json-0.2.0.tar.gz

Download URL gruplac_json-0.2.0.tar.gz
Size 81.2 kB
Tags Source
SHA-256 checksum
How to use checksums
301aa48c429bf8c4dc2c1f73dd2b6f84c46f0bada8b8156e0a101d97d5ade371
BLAKE2b-256 checksum
How to use checksums
4c35540fc8bf43c251f7e4a2a3ba74281ec7232817bb39f7312c088bf89ff2d9
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 3, 2026.

Transparency log

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

Download URL gruplac_json-0.2.0-py3-none-any.whl
Size 67.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
52ce59dfb26099507edc9610ff820a8d665796ce1c6fc3a9860e2ead36d36685
BLAKE2b-256 checksum
How to use checksums
9ef06d16c5ac1433a16443b68bc88bfedee0766d42e72e8324219ffffe6fe233
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 3, 2026.

Transparency log

Security for gruplac-json 0.2.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.2.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 3, 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