Extension ISO 19115


Extension Basics

Title
ISO 19115
Name
ckanext-iso19115
Type
Public extension
Description
Export CKAN datasets into ISO 19115 XML format with customizable metadata conversion
CKAN versions

~2.9, ~2.10, ~2.11

Show details
Download-Url (zip)
Download-Url commit date
2024-12-16
Url to repo
Category
Data Management & Quality


Background Infos

Description (long)
Show details

The iso19115 extension enables exporting CKAN datasets into ISO 19115 XML format, an international standard for geographic metadata. The extension provides an IIso19115 interface for customizing metadata conversion by implementing custom Converter classes that extend ckanext.iso19115.converter.Converter. It includes basic conversion logic as a starting point and supports multiple export formats (XML, JsonML). Configuration allows specifying a cache directory for pre-compiled schema definitions. API actions include iso19115_package_show for exporting datasets (with optional format parameter) and iso19115_package_check for validating if datasets can be rendered as valid ISO 19115 documents. Dependencies include xmlschema, faker, exrex, ckanapi, typing_extensions, and pycountry.

Version
0.2.1
Version release date
2024-12-16
Contact name
DataShades
Contakt email
Contact Url
(not set)


Installation Guide

Configuration hints

Requirements: - xmlschema - faker - exrex - ckanapi - typing_extensions - pycountry

Installation: pip install ckanext-iso19115

Add to ckan.plugins: iso19115

Configuration:

Storage path for pre-compiled schema definitions

(optional, default: somewhere inside system’s tempdir)

ckanext.iso19115.misc.cache_dir = /var/data/iso19115_cache

Customization via IIso19115 interface:

from ckanext.iso19115.interfaces import IIso19115 from ckanext.iso19115.converter import Converter

class Iso19115Plugin(p.SingletonPlugin): p.implements(IIso19115, inherit=True)

def iso19115_metadata_converter(self, data_dict: dict[str, Any]):
    return CustomConverter(data_dict)

class CustomConverter(Converter): # Implement custom conversion logic # Base Converter class provides starting point pass

API Actions:

  1. iso19115_package_show: Export dataset into ISO 19115 format Optional ‘format’ parameter (default: JsonML) Alternative formats: xml

Example: ckanapi action iso19115_package_show id=my-dataset format=xml

  1. iso19115_package_check: Check if dataset can be rendered as valid ISO 19115 document

Example: ckanapi action iso19115_package_check id=my-dataset

Testing: pytest –ckan-ini=test.ini

Plugins to configure (ckan.ini)
iso19115
CKAN Settings (ckan.ini)
# ckanext.iso19115.misc.cache_dir = /var/data/iso19115_cache
DB migration to be executed
(not set)
<< back to Extensions