Git Product home page Git Product logo

eccodes-sys's Introduction

eccodes-sys

License Crates.io dependency status GitHub Workflow Status

This is a -sys crate with raw, unsafe bindings to the library and its API should not be used directly. See the eccodes crate for high-level, safe bindings.

Due to the complexity of ecCodes library the decision has been made that this crate will not build ecCodes from source. See sections below for additional information how to install ecCodes on your system.

ecCodes is an open-source library for reading and writing GRIB and BUFR files developed by European Centre for Medium-Range Weather Forecasts.

Usage

This crate will look for existing libeccodes installation using pkg-config. The ecCodes library is then linked and bindings are generated using bindgen. If the library is not found, the build will fail.

ecCodes installation

The recommended way to install ecCodes on your computer is using your package manager. For example, on Ubuntu you can use apt-get:

sudo apt-get install libeccodes-dev

Alternatively, you can install the library manually from source in suitable directory following this instructions.

Then add the lib/pkgconfig directory from your ecCodes installation directory to the PKG_CONFIG_PATH environmental variable. If ecCodes have been compiled as shared library you will also need to specify LD_LIBRARY_PATH. For example:

export PKG_CONFIG_PATH=<your_eccodes_path>/lib/pkgconfig
export LD_LIBRARY_PATH=<your_eccodes_path>/lib

Features

There are two development features available:

  • docs - for documentation building, does not link ecCodes and includes bindings-docs.rs into lib.rs
  • tests - turns on generation of layout tests by bindgen, should not be used in production. Layout tests are off by default as they dereference null pointers causing undefined behavior

License

The ecCodes library and these bindings are licensed under the Apache License Version 2.0

eccodes-sys's People

Contributors

quba1 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

hugopendlebury

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.