ecmwf / eccodes-python

Python interface to the ecCodes GRIB/BUFR decoder/encoder
Apache License 2.0
113 stars 33 forks source link

What is the difference between the eccodes and python-eccodes conda-forge packages ? #56

Open jypeter opened 2 years ago

jypeter commented 2 years ago

Apologies for a possibly stupid question, but I'm a python+netcdf user, and not a grib user

One of our users needs a/the python wrapper for eccodes and I see on conda-forge that there is

What is the difference between the packages? Does eccodes provides the binaries, and python-eccodes the python wrapper around the binaries. python-eccodes would be a conda-forge replacement of the pip python bindings mentioned in How to install ecCodes with Python bindings in conda - ecCodes FAQ

Needless to say I'd rather use conda than pip for installing the bindings, if possible :)

This kind of reminds me of a problem I had with cdo: https://github.com/Try2Code/cdo-bindings/issues/33

shahramn commented 2 years ago

ecCodes is the main engine (library + command line tools) and eccodes-python is the Python3 bindings (which uses the library)

jypeter commented 2 years ago

Thanks!

So, the bindings we get with import eccodes actually comes from the python-eccodes package?

About the python documentation, is the ecCodes Namespace Reference page the right/best page to check?

blaylockbk commented 2 years ago

I am also confused about the names and different versions that are installed.

In an environment where eccodes is installed from conda forge...

> conda list eccodes
# Name                    Version                   Build  Channel
eccodes                   2.23.0               h11d1a29_3    conda-forge
python-eccodes            2021.03.0        py38h6c62de6_1    conda-forge

In a separate conda environment, I installed just pdbufr from pip (did not install eccodes from conda-forge, yet). Is this different than python-eccodes?

> conda list eccodes
# Name                    Version                   Build  Channel
eccodes                   1.3.3                    pypi_0    pypi