Las APIs llegaron para quedarse

Agustín Benassi
Datos Argentina
Published in
4 min readMar 12, 2018

--

Ahora que la API de Series de Tiempo fue un éxito (se consulta más de 10 mil veces por día en promedio) estamos listos para sumar fuentes de datos: cualquier organismo puede publicar series de tiempo usando Andino.

Hoy te contamos cómo pensar un servicio de datos abiertos escalable en gobierno.

Primero: conocer tu punto de partida

  • Recursos acotados y necesidades infinitas: administrar y gestionar la publicación de los datos de un servicio en forma centralizada no es una opción.
  • Datos interesantes en formatos poco estructurados: nos encantaría simplemente conectarnos a bases de datos existentes sobre las cuales construir servicios web, pero no siempre es el caso.
  • Organismos diversos, con sus propios problemas: cualquier propuesta para cambiar la forma en que un organismo publica sus datos debe integrarse a diversos flujos de trabajo.

Segundo: definir un mismo estándar para todos

En 2017 elaboramos una especificación para publicar series de tiempo basada en el perfil de metadatos de la Administración Pública Nacional de Argentina, con la publicación de su versión 1.1.

Desde el comienzo, la especificación fue diseñada para ser compatible con el ecosistema de herramientas de la política de apertura. Esto nos permite soportar la implementación de servicios que sean escalables, sin requerir un gran equipo de operaciones centralizado para administrar la conexión o extracción de distintas fuentes de datos y sus formatos.

El servicio puede disponibilizar datos de cualquier organismo que:

  • Publique series de tiempo en archivos CSV, siguiendo determinada estructura.
  • Suba los archivos a URLs públicas.
  • Documente las publicaciones siguiendo el perfil de metadatos.

Tercero: desarrollar herramientas abiertas sobre el estándar

pydatajson (github)

Todas las aplicaciones del ecosistema de apertura se apoyan en esta librería implementada en Python para manipular metadatos y catálogos. Puede leer un catálogo de datos abiertos publicado en Excel, data.json o CKAN; buscar series de tiempo; validar los metadatos; generar indicadores de monitoreo de un conjunto de catálogos; federar datasets desde un catálogo hacia un CKAN o un Portal Andino, y otras funciones relacionadas.

series-tiempo-ar-scraping (github)

Un sistema sencillo para cualquier desarrollador que permite scrapear series de tiempo publicadas en formatos semi-estructurados en diversos tipos de Excels. Muy útil para encarar una conversión rápida y eficaz de indicadores publicados en Excel hacia formatos abiertos, compatibles con su disponibilización en la API de series de tiempo.

series-tiempo-ar-api (github)

La API de Series de Tiempo es de código abierto y está implementada en Django y Elastic Search. Siguiendo la filosofía general de trabajo del equipo de Datos, todo el código de los proyectos desarrollados para implementar la política de apertura son un producto en sí mismos.

Portal Andino (github)

Es un portal diseñado para facilitar la implementación y publicación de un catálogo de datos abiertos, utilizado por varios organismos.

Cuarto: probar primero, escalar después

El 14 de diciembre de 2017 lanzamos la API de Series de Tiempo en estado “beta”. Después de tener el servicio funcionando por 88 días, ha recibido y procesado con éxito más de un millón de consultas, a un promedio de más de 10 mil por día.

En el camino hemos incorporado varias correcciones para mejorar su estabilidad y performance. Ahora ya está lista para empezar a incorporar datos de más y más organismos.

Por eso a partir de la semana pasada publicamos la versión 2.3.0 de Andino, completamente preparada para cumplir con la versión 1.1 del perfil de metadatos y con una experiencia pensada para facilitar la publicación de series de tiempo.

Quinto: Documentar y visibilizar el servicio

APIs. Sección de servicios de datos en datos.gob.ar.

Cuando entres hoy a datos.gob.ar vas a notar un cambio sutil pero prometedor: en una nueva sección del Portal Nacional se publican links a la documentación de una o dos APIs de la Administración Pública Nacional. Si leíste atentamente el post y venís siguiendo la idea, te imaginarás que esto también es un “Probar primero, escalar después”.

Por ahora esta historia termina acá, pero recordá: las APIs llegaron para quedarse.

¿Usás APIs de datos de la Administración Pública Nacional? Nos encantaría que nos cuentes por Twitter o por mail para qué y de qué manera las usás, y qué otros servicios de datos te gustaría encontrar dentro del Estado.

Si te sirvió este post, hacé clic en el ❤ acá abajo, así más personas se suman a #DatosArgentina.

--

--

Agustín Benassi
Datos Argentina

Economista, programador y activista de la apertura de datos. Director de Datos Públicos en la Secretaría de Modernización de la Nación Argentina.