1Metadata-Version: 1.1
2Name: eccodes
3Version: 1.3.3
4Summary: Python interface to the ecCodes GRIB and BUFR decoder/encoder
5Home-page: https://github.com/ecmwf/eccodes-python
6Author: European Centre for Medium-Range Weather Forecasts (ECMWF)
7Author-email: software.support@ecmwf.int
8License: Apache License Version 2.0
9Description:
10        Python 3 interface to decode and encode GRIB and BUFR files via the
11        `ECMWF ecCodes library <https://software.ecmwf.int/wiki/display/ECC/>`_.
12
13        Features:
14
15        - reads and writes GRIB 1 and 2 files,
16        - reads and writes BUFR 3 and 4 files,
17        - supports all modern versions of Python 3.8, 3.7, 3.6, 3.5 and PyPy3,
18        - works on most *Linux* distributions and *MacOS*, the *ecCodes* C-library
19        - is the only system dependency,
20        - PyPI package can be installed without compiling,
21          at the cost of being twice as slow as the original *ecCodes* module,
22        - an optional compile step makes the code as fast as the original module
23          but it needs the recommended (the most up-to-date) version of *ecCodes*.
24
25        Limitations:
26
27        - Microsoft Windows support is untested.
28
29
30        Installation
31        ============
32
33        The package is installed from PyPI with::
34
35            $ pip install eccodes
36
37
38        System dependencies
39        -------------------
40
41        The Python module depends on the ECMWF *ecCodes* library
42        that must be installed on the system and accessible as a shared library.
43
44        On a MacOS with HomeBrew use::
45
46            $ brew install eccodes
47
48        Or if you manage binary packages with *Conda* use::
49
50            $ conda install -c conda-forge eccodes
51
52        As an alternative you may install the official source distribution
53        by following the instructions at
54        https://software.ecmwf.int/wiki/display/ECC/ecCodes+installation
55
56        You may run a simple selfcheck command to ensure that your system is set up correctly::
57
58            $ python -m eccodes selfcheck
59            Found: ecCodes v2.21.0.
60            Your system is ready.
61
62
63        Usage
64        -----
65
66        Refer to the *ecCodes* `documentation pages <https://confluence.ecmwf.int/display/ECC/Documentation>`_
67        for usage.
68
69
70        Experimental features
71        =====================
72
73        Fast bindings
74        -------------
75
76        To test the much faster *CFFI* API level, out-of-line mode you need the
77        *ecCodes* header files.
78        Then you need to clone the repo in the same folder as your *ecCodes*
79        source tree, make a ``pip`` development install and custom compile
80        the binary bindings::
81
82            $ git clone https://github.com/ecmwf/eccodes-python
83            $ cd eccodes-python
84            $ pip install -e .
85            $ python builder.py
86
87        To revert back to ABI level, in-line more just remove the compiled bindings::
88
89            $ rm gribapi/_bindings.*
90
91
92        Project resources
93        =================
94
95        ============= =========================================================
96        Development   https://github.com/ecmwf/eccodes-python
97        Download      https://pypi.org/project/eccodes
98        ============= =========================================================
99
100
101        Contributing
102        ============
103
104        The main repository is hosted on GitHub,
105        testing, bug reports and contributions are highly welcomed and appreciated:
106
107        https://github.com/ecmwf/eccodes-python
108
109        Please see the CONTRIBUTING.rst document for the best way to help.
110
111        Maintainer:
112
113        - `Shahram Najm <https://github.com/shahramn>`_ - `ECMWF <https://ecmwf.int>`_
114
115        Contributors:
116
117        - `Alessandro Amici <https://github.com/alexamici>`_ - `B-Open <https://bopen.eu>`_
118
119        See also the list of `contributors <https://github.com/ecmwf/eccodes-python/contributors>`_
120        who participated in this project.
121
122        .. |copy|   unicode:: U+000A9 .. COPYRIGHT SIGN
123
124        License
125        =======
126
127        |copy| Copyright 2017- ECMWF.
128
129        This software is licensed under the terms of the Apache Licence Version 2.0
130        which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
131
132        In applying this licence, ECMWF does not waive the privileges and immunities
133        granted to it by virtue of its status as an intergovernmental organisation nor
134        does it submit to any jurisdiction.
135
136        Changelog for eccodes-python
137        ============================
138
139        1.3.3 (2021-mm-dd)
140        --------------------
141
142        - ECC-1246: UnicodeDecodeError when parsing BUFR file
143
144
145        1.3.2 (2021-04-16)
146        --------------------
147
148        - Restore the experimental high-level interface
149
150
151        1.3.1 (2021-04-16)
152        --------------------
153
154        - Fix the recommended version
155
156
157        1.3.0 (2021-04-09)
158        --------------------
159
160        - ECC-1231: Remove the experimental high-level interface
161        - Added the "findlibs" module
162        - Fix tests/test_high_level_api.py when MEMFS enabled
163        - ECC-1226: Python3 bindings: Typo causes AttributeError when calling codes_index_get_double
164
165
166        1.2.0 (2021-03-23)
167        --------------------
168
169        - Added test for multi-field GRIBs
170        - Fix deprecation warning: `np.float` is a deprecated alias for the builtin `float`
171        - Experimental feature: grib_nearest_find
172
173
174        1.1.0 (2021-01-20)
175        --------------------
176
177        - ECC-1171: Performance: Python bindings: remove assert statements
178        - ECC-1161: Python3 bindings: Do not raise exception on first failed attempt
179        - ECC-1176: Python3 bindings: float32 recognised as int instead of float
180        - GitHub pull request #41: Remove the apparent support for Python 2
181        - GitHub pull request #44: Fix CFFI crash on windows
182        - GitHub pull request #42: Add unit testing with GitHub actions (linux, macos and windows)
183
184
185        1.0.0 (2020-10-14)
186        --------------------
187
188        - ECC-1143: CMake: Migration to ecbuild v3.4
189        - ECC-1133: C API: Propagate const char* for codes_index_new_from_file and codes_index_select_string
190
191
192        0.9.9 (2020-08-04)
193        -------------------
194
195        - Support for ecmwflibs. An additional way to find ECMWF libraries (if available)
196        - ECC-1140: Segfault from invalid pointer reference in grib_set_double_array()
197
198
199        0.9.8 (2020-06-26)
200        -------------------
201
202        - ECC-1110: Removed obsolete function codes_close_file()
203        - Provide missing argument to exceptions
204        - Fix codes_set_definitions_path() typo
205        - Fix grib_get_double_element(). Missing last argument
206        - Add more tests to increase coverage
207        - GitHub pull request #15: Add .__next__() method to eccodes.CodesFile class
208        - ECC-1113: Python3 bindings under Windows: codes_get_long_array returns incorrect values
209        - ECC-1108: Python3 bindings under Windows: use of handle causes crash
210        - ECC-1121: Segfault when closing GribFile if messages are closed manually
211
212
213        0.9.6 (2020-03-10)
214        -------------------
215
216        - Update Copyright notices
217        - Function-argument type checks: Improve error message
218        - Fix C function calls for codes_gribex_mode_on/codes_gribex_mode_off
219
220
221        0.9.5 (2020-01-15)
222        -------------------
223
224        - ECC-1029: Function-argument type-checking should be disabled by default.
225                    To enable these checks, export ECCODES_PYTHON_ENABLE_TYPE_CHECKS=1
226        - ECC-1032: Added codes_samples_path() and codes_definition_path()
227        - ECC-1042: Python3 interface writes integer arrays incorrectly
228        - ECC-794: Python3 interface: Expose the grib_get_data function
229
230
231        0.9.4 (2019-11-27)
232        ------------------
233
234        - Added new function: codes_get_version_info
235        - ECC-753: Expose the codes_grib_nearest_find_multiple function in Python
236        - ECC-1007: Python3 interface for eccodes cannot write large arrays
237
238
239        0.9.3 (2019-10-04)
240        ------------------
241
242        - New exception added: FunctionalityNotEnabledError
243        - BUFR decoding: support for multi-element constant arrays (ECC-428)
244
245
246        0.9.2 (2019-07-09)
247        ------------------
248
249        - All ecCodes tests now pass
250        - Simplify the xx_new_from_file calls
251        - Fix for grib_set_string_array
252        - Use ECCODES_DIR to locate the library
253        - Remove the new-style high-level interface. It is still available in
254          `cfgrib <https://github.com/ecmwf/cfgrib>`_.
255
256        0.9.1 (2019-06-06)
257        ------------------
258
259        - ``codes_get_long_array`` and ``codes_get_double_array`` now return a ``np.ndarray``.
260          See: `#3 <https://github.com/ecmwf/eccodes-python/issues/3>`_.
261
262
263        0.9.0 (2019-05-07)
264        ------------------
265
266        - Declare the project as **Beta**.
267
268
269        0.8.0 (2019-04-08)
270        ------------------
271
272        - First public release.
273
274Keywords: ecCodes GRIB BUFR
275Platform: UNKNOWN
276Classifier: Development Status :: 4 - Beta
277Classifier: Intended Audience :: Developers
278Classifier: License :: OSI Approved :: Apache Software License
279Classifier: Programming Language :: Python :: 3.6
280Classifier: Programming Language :: Python :: 3.7
281Classifier: Programming Language :: Python :: 3.8
282Classifier: Programming Language :: Python :: 3.9
283Classifier: Programming Language :: Python :: Implementation :: CPython
284Classifier: Programming Language :: Python :: Implementation :: PyPy
285Classifier: Operating System :: OS Independent
286