Skip to main content

Python 3.6+ compatible interface to ECMWF's ODB API

Project description

build codecov PyPI Python docs

py3odb

Python 3.6+ compatible interface to ECMWF’s ODB API

Overview

ODB API was developed by the European Centre for Medium-Range Weather Forecasts for “encoding and processing of observational data.” The ODB API provides an SQL-like interface called odbsql, along with a Python 2 compatible API.

This module was written to provide an interface to ODB API using Python >=3.6. It requires access to libOdb provided by ODB API.

Usage

py3odb follows the Python Database API Specification:

import py3odb
connection = py3odb.connect('foo.db')
cursor = connection.cursor()
cursor.execute('SELECT * FROM "foo.db"')
for row in cursor:
    print(row)
connection.close()

For single queries, there is a Reader context manager and <odb> tag:

import py3odb
with py3odb.Reader('foo.db', 'SELECT * FROM <odb>') as odb_reader:
    for row in odb_reader:
        print(row)

Known Limitations

The intent of this library is to read odb2 files generated by the Unified Model for the purpose of observation monitoring. The underlying odbql interface to the ODB API provided by ECMWF does not support database operations in a traditional sense. For example: * as of ODB API version 17.6, odbql only supports 8 character strings * only the most recent INSERT command is accepted * you cannot open an existing odb file and do an INSERT

References

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

py3odb-0.3.tar.gz (56.1 kB view hashes)

Uploaded Source

Built Distribution

py3odb-0.3-py3-none-any.whl (37.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page