Módulos para extraer, analizar y compilar series de tiempo documentadas en catálogos de datos abiertos basados en el perfil de metadatos del Paquete de Apertura de Datos.
Project description
Series de Tiempo de la República Argentina
- Versión python: 3.6+ (0.3)
- Licencia: MIT license
- Documentación: https://series-tiempo-ar.readthedocs.io
El proyecto Series de Tiempo se basa en una extensión del perfil de metadatos de la política de apertura. Esta fue diseñada para facilitar la publicación de series de tiempo de organismos gubernamentales que son parte de la Red de Nodos de Datos Abiertos de la República Argentina.
A partir de esta especificación, se desarrollaron aplicaciones para extraer y compilar las series en una base de datos unificada que permitiera el desarrollo de una API.
Indice
Repositorios oficiales
-
series-tiempo-ar
: Paquete de módulos con funcionalidades para extraer, transformar y analizar series de tiempo basados en la versión 1.1 delPerfil de Metadatos
delPaquete de Apertura de Datos de la República Argentina
. Es una extensión depydatajson
y la dependencia principal de los otros repositorios del proyecto. -
series-tiempo-ar-etl
: Rutinas de ETL usadas para compilar diariamente laBase de Series de Tiempo de la Administración Pública Nacional
. Este proyecto está agendado para su discontinuación -
series-tiempo-ar-api
: Aplicación basada en Django que extrae series de tiempo de los catálogos de datos abiertos de la Red de Nodos y las indexa en un motor Elastic Search para su consumo como servicio web. -
series-tiempo-ar-landing
: Landing web configurable para una sencilla publicación y visualización de series de tiempo.
Repositorios de terceros
- ¡Todavía no hay ninguno! ¿No deberías ser el primero? Si escribiste una librería para usar la API o la base completa en algún lenguaje, [nos gustaría saberlo](https://github.com/datosgobar/series-tiempo-ar/issues/new?title=Nueva librería en {lenguaje} para usar la API).
Instalación
- Producción: Desde cualquier parte
$ pip install series-tiempo-ar
- Desarrollo: Clonar este repositorio, y desde su raíz, ejecutar:
$ pip install -e .
Uso
Se provee una clase TimeSeriesDataJson
como abstracción sobre un catálogo que cumple el Perfil de Metadatos. Éste catálogo extiende las funcionalidades de pydatajson
, y provee métodos adicionales para trabajar con datos de series de tiempo. Ver referencia
Tests
Los tests se corren con nose
. Desde la raíz del repositorio:
Configuración inicial:
$ pip install -r requirements_dev.txt
$ mkdir tests/temp
Correr la suite de tests:
Correr todos los pasos de testeo (pruebas, estilos de código)
$ scripts/run_all.sh
La rutina de pruebas utiliza un servidor web en el puerto 3456. Asegurarse de que ese puerto esté disponible antes de correr el script.
Contacto
Te invitamos a [crearnos un issue](https://github.com/datosgobar/series-tiempo-ar/issues/new?title=Encontre un bug en series-tiempo-ar) en caso de que encuentres algún bug o tengas feedback de alguna parte de series-tiempo-ar
.
Para todo lo demás, podés mandarnos tu comentario o consulta a datos@modernizacion.gob.ar.
Versiones
0.3.5 (2019-09-09)
- Corrige identificación de parámetros de scraping para que sea más robusto a problemas de texto / número en Excels.
0.3.4 (2019-09-06)
- Cambia "-" por "_" para el id compuesto de series que se leen de un archivo de texto plano que contiene una base de series de tiempo.
0.3.3 (2019-08-08)
- Modifica forma de convertir paneles en distribuciones de series, más eficiente pero con menos control de errores de la fuente original. Ahora es más eficiente.
0.3.2 (2019-07-24)
- Agrego parámetro opcional en TimeSeriesDataJson.load_ts_distribution() para poder cargar una distribución de TXT que no re-descargue la fuente original, sino que la busque en un path local.
0.3.1 (2019-07-23)
- Parámetro para fozar el formato de un catálogo
- Fix construyendo los errores de validación
0.3.0 (2019-06-25)
- Primer release estable de la librería. Agrega métodos adicionales de validaciones, y centraliza la lectura de distribuciones en el método
TimeSeriesDataJson.load_ts_distribution
0.2.3 (2019-03-01)
- Actualizado de validaciones para distribuciones CSV
0.1.4 (2018-05-06)
- Flexibiliza la restricción de series demasiado cortas: ahora se admite hasta un 2% del total de las series de una distribución con una cantidad demasiado baja de valores para ser una serie.
0.1.3 (2018-05-04)
- Actualiza las validaciones al schema de la versión 0.4.12 de pydatajson
0.1.2 (2018-04-30)
- El campo
temporal
en dataset pasa a ser de uso opcional.
0.1.0 (2018-04-17)
- Soporte para Python 3
0.0.3 (2017-10-18)
- Restauro la validación
validate_df_shape
que está testeada y corregida. - Flexibilizo al límite el máximo de missings admitidos en una serie (999 missings por cada 1000 valores).
0.0.2 (2017-10-10)
- Bug fix: elimino temporalmente validación
validate_df_shape
que tiene algún error en el tratamiento de los tipos.
0.0.1 (2017-10-08)
- Primer release a PyPI.
- Release todavía no documentado.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for series_tiempo_ar-0.4.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38cd6dca0468e58b351af67aa2078af79320a28d0a6102ee46cc2adb57b8bf29 |
|
MD5 | 3a36245b2dfc87ed63ecdb107e8e8a95 |
|
BLAKE2b-256 | 31725e0830828eac7afe9616d71871d66930140cf1502c1501bbf0701d02fbb6 |