Metadata-Version: 2.1
Name: py3odb
Version: 0.2
Summary: Python 3.6+ compatible interface to ECMWF's ODB API
Home-page: https://github.com/opus49/py3odb
Author: Mike Puskar
Author-email: puskar49@gmail.com
License: MIT
Project-URL: Documentation, https://py3odb.readthedocs.io
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
        ----------
        
        -  https://py3odb.readthedocs.io
        -  https://www.python.org/dev/peps/pep-0249
        -  https://confluence.ecmwf.int/display/ODBAPI
        
        .. _European Centre for Medium-Range Weather Forecasts: https://www.ecmwf.int/
        .. _ODB API: https://confluence.ecmwf.int/display/ODBAPI
        .. _Python Database API Specification: https://www.python.org/dev/peps/pep-0249
        .. _Unified Model: https://www.metoffice.gov.uk/
        
        .. |build| image:: https://img.shields.io/circleci/build/github/opus49/py3odb
           :target: https://circleci.com/gh/opus49/py3odb
        .. |codecov| image:: https://img.shields.io/codecov/c/github/opus49/py3odb
           :target: https://codecov.io/gh/opus49/py3odb
        .. |PyPI| image:: https://img.shields.io/pypi/v/py3odb?color=blue
           :target: https://pypi.org/project/py3odb/
        .. |Python| image:: https://img.shields.io/pypi/pyversions/py3odb
           :target: https://www.python.org/downloads/release/python-360/
        .. |docs| image:: https://readthedocs.org/projects/py3odb/badge/?version=latest
           :target: https://py3odb.readthedocs.io
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
