GPGME has a couple of advantages over other libraries doing a similar job, and over implementing support for GnuPG or other crypto engines into your application directly.
Anybody can use, modify, and redistribute it under the terms of the GNU Lesser General Public License (see GNU Lesser General Public License).
GPGME provides transparent support for several cryptographic protocols by different engines. Currently, GPGME supports the OpenPGP protocol using GnuPG as the backend, and the Cryptographic Message Syntax using GpgSM as the backend.
GPGME hides the differences between the protocols and engines from the programmer behind an easy-to-use interface. This way the programmer can focus on the other parts of the program, and still integrate strong cryptography in his application. Once support for GPGME has been added to a program, it is easy to add support for other crypto protocols once GPGME backends provide them.
GPGME comes with languages bindings for several common programming languages: Common Lisp, C++, Python 2, and Python 3.