A Python interface to odc
for encoding/decoding ODB-2 files.
The package contains two different implementations of the same library:
pyodc
is a pure-python encoder and decoder for ODB-2 data, which encodes data from, and decodes it into pandas data framescodc
is an implementation of the same API aspyodc
that depends on the ECMWFodc
library, and comes with much better performance
- Python 3.x
For codc
to work, odc
library must be compiled and installed on the system and made available to Python (through the CFFI mechanism) as a shared library. There are multiple ways to make the library visible to CFFI: it can be installed as a system library, the installation prefix can be passed in the odc_DIR
or ODC_DIR
environment variables, or the library directory can be included in LD_LIBRARY_PATH
.
pip install --user pyodc
Check if the module was installed correctly:
python
>>> import pyodc
>>> import codc # optional
An introductory Jupyter Notebook with helpful usage examples is provided in the root of this repository:
git clone git@github.com:ecmwf/pyodc.git
cd pyodc
jupyter notebook Introduction.ipynb
To run the unit tests, make sure that the pytest
module is installed first:
python -m pytest
To build the documentation locally, please install the Python dependencies first:
cd docs
pip install -r requirements.txt
make html
The built HTML documentation will be available under the docs/_build/html/index.html
path.
This software is licensed under the terms of the Apache Licence Version 2.0 which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
In applying this licence, ECMWF does not waive the privileges and immunities granted to it by virtue of its status as an intergovernmental organisation nor does it submit to any jurisdiction.