Referencia rápida¶
Lectura¶
-
class
pydatajson.core.
DataJson
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente]¶ Objeto que representa un catálogo de activos de datos.
-
__init__
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente]¶ Lee un catálogo y crea un objeto con funciones para manipularlo.
Salvo que se indique lo contrario, se utiliza como default el schema de la versión 1.1 del Perfil de Metadatos de Argentina.
Parámetros: - catalog (dict or str) – Representación externa/interna de un catálogo. Una representación _externa_ es un path local o una URL remota a un archivo con la metadata de un catálogo, en formato JSON o XLSX. La representación _interna_ de un catálogo es un diccionario. Ejemplos: http://datos.gob.ar/data.json, http://www.ign.gob.ar/descargas/geodatos/catalog.xlsx, «/energia/catalog.xlsx».
- schema_filename (str) – Nombre del archivo que contiene el esquema validador.
- schema_dir (str) – Directorio (absoluto) donde se encuentra el esquema validador (y sus referencias, de tenerlas).
- default_values (dict) –
Valores default para algunos de los campos del catálogo:
{ "dataset_issued": "2017-06-22", "distribution_issued": "2017-06-22" }
-
Escritura¶
-
class
pydatajson.core.
DataJson
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente] Objeto que representa un catálogo de activos de datos.
Validación¶
-
class
pydatajson.core.
DataJson
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente] Objeto que representa un catálogo de activos de datos.
-
is_valid_catalog
(catalog=None)[fuente]¶ Valida que un archivo data.json cumpla con el schema definido.
Chequea que el data.json tiene todos los campos obligatorios y que tanto los campos obligatorios como los opcionales siguen la estructura definida en el schema.
Parámetros: catalog (str o dict) – Catálogo (dict, JSON o XLSX) a ser validado. Si no se pasa, valida este catálogo. Devuelve: True si el data.json cumple con el schema, sino False. Tipo del valor devuelto: bool
-
validate_catalog
(catalog=None, only_errors=False, fmt=u'dict', export_path=None)[fuente]¶ Analiza un data.json registrando los errores que encuentra.
Chequea que el data.json tiene todos los campos obligatorios y que tanto los campos obligatorios como los opcionales siguen la estructura definida en el schema.
Parámetros: - catalog (str o dict) – Catálogo (dict, JSON o XLSX) a ser validado. Si no se pasa, valida este catálogo.
- only_errors (bool) – Si es True sólo se reportan los errores.
- fmt (str) –
Indica el formato en el que se desea el reporte. «dict» es el reporte más verborrágico respetando la
estructura del data.json.- »list» devuelve un dict con listas de errores formateados para
- generar tablas.
- export_path (str) – Path donde exportar el reporte generado (en formato XLSX o CSV). Si se especifica, el método no devolverá nada, a pesar de que se pase algún argumento en fmt.
Devuelve: Diccionario resumen de los errores encontrados:
{ "status": "OK", # resultado de la validación global "error": { "catalog": { "status": "OK", "errors": [] "title": "Título Catalog"}, "dataset": [ { "status": "OK", "errors": [], "title": "Titulo Dataset 1" }, { "status": "ERROR", "errors": [error1_info, error2_info, ...], "title": "Titulo Dataset 2" } ] } }
Donde errorN_info es un dict con la información del N-ésimo error encontrado, con las siguientes claves: «path», «instance», «message», «validator», «validator_value», «error_code».
Tipo del valor devuelto: dict
-
Búsqueda¶
-
class
pydatajson.core.
DataJson
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente] Objeto que representa un catálogo de activos de datos.
-
get_dataset
(identifier=None, title=None)¶ Devuelve un Dataset del catálogo.
-
get_datasets
(filter_in=None, filter_out=None, meta_field=None, exclude_meta_fields=None, only_time_series=False)¶ Devuelve una lista de datasets del catálogo o de uno de sus metadatos.
Parámetros: - catalog (dict, str or DataJson) – Representación externa/interna de un catálogo. Una representación _externa_ es un path local o una URL remota a un archivo con la metadata de un catálogo, en formato JSON o XLSX. La representación _interna_ de un catálogo es un diccionario. Ejemplos: http://datos.gob.ar/data.json, http://www.ign.gob.ar/descargas/geodatos/catalog.xlsx, «/energia/catalog.xlsx».
- filter_in (dict) –
Devuelve los datasets cuyos atributos coinciden con los pasados en este diccionario. Ejemplo:
{ "dataset": { "publisher": {"name": "Ministerio de Ambiente"} } }
Sólo se devolverán los datasets de ese publisher_name.
- filter_out (dict) –
Devuelve los datasets cuyos atributos no coinciden con los pasados en este diccionario. Ejemplo:
{ "dataset": { "publisher": {"name": "Ministerio de Ambiente"} } }
Sólo se devolverán los datasets que no sean de ese publisher_name.
- meta_field (str) – Nombre de un metadato de Dataset. En lugar de devolver los objetos completos «Dataset», devuelve una lista de valores para ese metadato presentes en el catálogo.
- exclude_meta_fields (list) – Metadatos de Dataset que se quieren excluir de los objetos Dataset devueltos.
- only_time_series (bool) – Si es verdadero, sólo devuelve datasets que tengan por lo menos una distribución de series de tiempo.
-
get_field
(identifier=None, title=None, distribution_identifier=None)¶ Devuelve un Field del catálogo.
-
get_fields
(filter_in=None, filter_out=None, meta_field=None, only_time_series=False)¶ Devuelve lista de campos del catálogo o de uno de sus metadatos.
Parámetros: - catalog (dict, str or DataJson) – Representación externa/interna de un catálogo. Una representación _externa_ es un path local o una URL remota a un archivo con la metadata de un catálogo, en formato JSON o XLSX. La representación _interna_ de un catálogo es un diccionario. Ejemplos: http://datos.gob.ar/data.json, http://www.ign.gob.ar/descargas/geodatos/catalog.xlsx, «/energia/catalog.xlsx».
- filter_in (dict) –
Devuelve los campos cuyos atributos coinciden con los pasados en este diccionario. Ejemplo:
{ "dataset": { "publisher": {"name": "Ministerio de Ambiente"} } }
Sólo se devolverán los campos que pertenezcan a un dataset de ese publisher_name.
- filter_out (dict) –
Devuelve los campos cuyos atributos no coinciden con los pasados en este diccionario. Ejemplo:
{ "dataset": { "publisher": {"name": "Ministerio de Ambiente"} } }
Sólo se devolverán los campos que no pertenezcan a un dataset de ese publisher_name.
- meta_field (str) – Nombre de un metadato de Field. En lugar de devolver los objetos completos «Field», devuelve una lista de valores para ese metadato presentes en el catálogo.
- exclude_meta_fields (list) – Metadatos de Field que se quieren excluir de los objetos Field devueltos.
- only_time_series (bool) – Si es verdadero, sólo devuelve campos que sean series de tiempo.
-
Indicadores¶
-
class
pydatajson.core.
DataJson
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente] Objeto que representa un catálogo de activos de datos.
Reportes¶
-
class
pydatajson.core.
DataJson
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente] Objeto que representa un catálogo de activos de datos.
-
generate_catalog_readme
(catalog, export_path=None)[fuente]¶ Genera una descripción textual en formato Markdown sobre los metadatos generales de un catálogo (título, editor, fecha de publicación, et cetera), junto con:
- estado de los metadatos a nivel catálogo,
- estado global de los metadatos,
- cantidad de datasets federados y no federados,
- detalles de los datasets no federados
- cantidad de datasets y distribuciones incluidas
Es utilizada por la rutina diaria de libreria-catalogos para generar un README con información básica sobre los catálogos mantenidos.
Parámetros: - catalog (str o dict) – Path a un catálogo en cualquier formato, JSON, XLSX, o diccionario de python.
- export_path (str) – Path donde exportar el texto generado (en formato Markdown). Si se especifica, el método no devolverá nada.
Devuelve: Texto de la descripción generada.
Tipo del valor devuelto: str
-
generate_datasets_summary
(catalog, export_path=None)[fuente]¶ Genera un informe sobre los datasets presentes en un catálogo, indicando para cada uno:
- Índice en la lista catalog[«dataset»]
- Título
- Identificador
- Cantidad de distribuciones
- Estado de sus metadatos [«OK»|»ERROR»]
Es utilizada por la rutina diaria de libreria-catalogos para reportar sobre los datasets de los catálogos mantenidos.
Parámetros: - catalog (str o dict) – Path a un catálogo en cualquier formato, JSON, XLSX, o diccionario de python.
- export_path (str) – Path donde exportar el informe generado (en formato XLSX o CSV). Si se especifica, el método no devolverá nada.
Devuelve: Contiene tantos dicts como datasets estén presentes en catalogs, con los datos antes mencionados.
Tipo del valor devuelto: list
-
Federación¶
-
class
pydatajson.core.
DataJson
(catalog=None, schema_filename=None, schema_dir=None, default_values=None)[fuente] Objeto que representa un catálogo de activos de datos.
-
harvest_catalog_to_ckan
(portal_url, apikey, catalog_id, dataset_list=None, owner_org=None)¶ Federa los datasets de un catálogo al portal pasado por parámetro.
Parámetros: - catalog (DataJson) – El catálogo de origen que se federa.
- portal_url (str) – La URL del portal CKAN de destino.
- apikey (str) – La apikey de un usuario con los permisos que le permitan crear o actualizar el dataset.
- catalog_id (str) – El prefijo con el que va a preceder el id del dataset en catálogo destino.
- dataset_list (list(str)) – Los ids de los datasets a federar. Si no se pasa una lista, todos los datasests se federan.
- owner_org (str) – La organización a la cual pertencen los datasets. Si no se pasa, se utiliza el catalog_id.
Devuelve: El id del dataset en el catálogo de destino.
Tipo del valor devuelto: str
-
harvest_dataset_to_ckan
(owner_org, dataset_origin_identifier, portal_url, apikey, catalog_id)¶ Federa la metadata de un dataset en el portal pasado por parámetro.
Parámetros: - catalog (DataJson) – El catálogo de origen que contiene el dataset.
- owner_org (str) – La organización a la cual pertence el dataset.
- dataset_origin_identifier (str) – El id del dataset que se va a restaurar.
- portal_url (str) – La URL del portal CKAN de destino.
- apikey (str) – La apikey de un usuario con los permisos que le permitan crear o actualizar el dataset.
- catalog_id (str) – El id que prep
Devuelve: El id del dataset restaurado.
Tipo del valor devuelto: str
-
push_new_themes
(portal_url, apikey)¶ Toma un catálogo y escribe los temas de la taxonomía que no están presentes.
- Args:
- catalog (DataJson): El catálogo de origen que contiene la
- taxonomía.
portal_url (str): La URL del portal CKAN de destino. apikey (str): La apikey de un usuario con los permisos que le
permitan crear o actualizar el dataset.- Returns:
- str: Los ids de los temas creados.
-
push_theme_to_ckan
(portal_url, apikey, identifier=None, label=None)¶ Escribe la metadata de un theme en el portal pasado por parámetro.
Parámetros: - catalog (DataJson) – El catálogo de origen que contiene el theme.
- portal_url (str) – La URL del portal CKAN de destino.
- apikey (str) – La apikey de un usuario con los permisos que le permitan crear o actualizar el dataset.
- identifier (str) – El identificador para buscar el theme en la taxonomia.
- label (str) – El label para buscar el theme en la taxonomia.
Devuelve: El name del theme en el catálogo de destino.
Tipo del valor devuelto: str
-
restore_catalog_to_ckan
(owner_org, portal_url, apikey, dataset_list=None)¶ Restaura los datasets de un catálogo al portal pasado por parámetro. Si hay temas presentes en el DataJson que no están en el portal de CKAN, los genera.
Parámetros: - catalog (DataJson) – El catálogo de origen que se restaura.
- portal_url (str) – La URL del portal CKAN de destino.
- apikey (str) – La apikey de un usuario con los permisos que le permitan crear o actualizar el dataset.
- dataset_list (list(str)) – Los ids de los datasets a restaurar. Si no se pasa una lista, todos los datasests se restauran.
- owner_org (str) – La organización a la cual pertencen los datasets. Si no se pasa, se utiliza el catalog_id.
Devuelve: El id del dataset en el catálogo de destino.
Tipo del valor devuelto: str
-
restore_dataset_to_ckan
(owner_org, dataset_origin_identifier, portal_url, apikey)¶ Restaura la metadata de un dataset en el portal pasado por parámetro.
Parámetros: - catalog (DataJson) – El catálogo de origen que contiene el dataset.
- owner_org (str) – La organización a la cual pertence el dataset.
- dataset_origin_identifier (str) – El id del dataset que se va a restaurar.
- portal_url (str) – La URL del portal CKAN de destino.
- apikey (str) – La apikey de un usuario con los permisos que le permitan crear o actualizar el dataset.
Devuelve: El id del dataset restaurado.
Tipo del valor devuelto: str
-