#gpg #crypto #cryptography #gpgme

bin+lib gpgme

GPGme bindings for Rust

11 releases (7 breaking)

0.8.0 Jun 14, 2018
0.7.2 Feb 6, 2018
0.7.1 Jan 16, 2018
0.7.0 Dec 21, 2017
0.4.0 Jul 14, 2015

#2 in #gpg

Download history 14/week @ 2019-01-19 17/week @ 2019-01-26 11/week @ 2019-02-02 29/week @ 2019-02-09 60/week @ 2019-02-16 24/week @ 2019-02-23 34/week @ 2019-03-02 15/week @ 2019-03-09 31/week @ 2019-03-16 91/week @ 2019-03-23 33/week @ 2019-03-30 50/week @ 2019-04-06 40/week @ 2019-04-13 55/week @ 2019-04-20 31/week @ 2019-04-27

190 downloads per month
Used in 12 crates (10 directly)

LGPL-2.1

3.5MB
95K SLoC

C 54K SLoC // 0.1% comments Shell 16K SLoC // 0.1% comments C++ 12K SLoC // 0.1% comments Rust 7K SLoC // 0.0% comments Python 4.5K SLoC // 0.3% comments Lisp 1.5K SLoC // 0.2% comments

gpgme-rs

Build Status LGPL-2.1 licensed Crates.io

GPGME bindings for Rust.

Documentation

Requirements

The wrapper is usable with GPGME 1.2.0 or later. Some features may require a more recent version.

By default, the gpgme-sys crate will attempt to build the bundled version of the library from source using autoconf, automake and various C build tools. The bundled feature flag controls this functionality and can be disabled by using default-features = false in dependent crates and/or overridden by setting the environment variable GPGME_USE_BUNDLED to the empty string, no, off, or false to disable or anything else to enable. An existing installation may be specified using GPGME_LIB_DIR, GPGME_LIBS, GPGME_STATIC (optional) and GPGME_INCLUDE. Alternatively the path to the gpgme configuration program (gpgme-config) may be specified using GPGME_CONFIG.

Usage

Put this in your Cargo.toml:

[dependencies]
gpgme = "0.8"

And this in your crate root:

extern crate gpgme;

Examples

Some simple example programs based on those in the GPGME sources can be found in examples.

They can be run with cargo:

$ cargo run --example keylist --
keyid   : 89ABCDEF01234567
fpr     : 0123456789ABCDEF0123456789ABCDEF01234567
caps    : esc
flags   :
userid 0: Example <example@example.org>
valid  0: Unknown

Dependencies

~2MB
~50K SLoC