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