macOS
brew install gpgmelocal Homebrew formula metadata
sudo port install gpgmeMacPorts ports tree · devel/gpgme/Portfile · source: api.github.com
brew
Library access to GnuPG. Version 2.1.2 via Homebrew; verified 2026-06-30.
install
brew install gpgmelocal Homebrew formula metadata
sudo port install gpgmeMacPorts ports tree · devel/gpgme/Portfile · source: api.github.com
sudo apk add gpgmeAlpine Linux edge package indexes · gpgme · source: dl-cdn.alpinelinux.org
sudo dnf install gpgmeFedora Rawhide package metadata · gpgme · source: dl.fedoraproject.org
nix profile install nixpkgs#gpgmenixpkgs package indexes · pkgs/by-name/gp/gpgme/package.nix · source: api.github.com
sudo pacman -S gpgmeArch Linux sync databases · gpgme · source: geo.mirror.pkgbuild.com
sudo zypper install gpgmeopenSUSE Tumbleweed package metadata · gpgme · source: download.opensuse.org
sudo apt install gpgme-jsonDebian stable package indexes · gpgme-json · source: deb.debian.org
overview
Library access to GnuPG
history
GPGME, short for GnuPG Made Easy, is the official C API for integrating applications with the GnuPG crypto stack. It gives programs a stable high-level interface for encryption, decryption, signing, verification, and key management instead of scripting the `gpg` command line.
GPGME was created inside the GnuPG ecosystem to make public-key crypto engines easier for applications to use. The reference manual describes it as a C library that uses GnuPG and GpgSM as backends for OpenPGP and CMS.
The NEWS file records a 1.0.0 release on 2004-09-30, described by the project as a thoroughly tested stable library branch. Shortly after that, version 1.0.2 on 2004-12-28 changed the library license to LGPL-2.1-or-later, a significant packaging and application-integration decision.
Over time GPGME grew beyond its C surface. The GnuPG wiki documents official bindings for C++, Qt, Python, and Common Lisp, and the NEWS file records later work on Python bindings, `gpgme-json`, and a 2.0.0 release in 2025 that split the C++, Qt, and Python bindings into separately released projects.
The GnuPG project recommends GPGME as the way applications should use the GnuPG crypto stack, because command-line options and textual output are not the same thing as an official API. That recommendation is why GPGME shows up as a dependency under mail user agents, desktop key managers, package-signing tools, and language bindings.
Distribution adoption follows from that API role. Homebrew packages the library together with command-line helper tools such as `gpgme-config`, `gpgme-json`, `gpgme-tool`, and `gnupg-key-manage`; Debian and Ubuntu expose `gpgme-json`; and other package systems carry the core `gpgme` library.
Applications create a GPGME context and use library calls for encryption, decryption, signing, signature verification, key listing, import, export, and key management. GPGME invokes GnuPG or GpgSM behind the API, so application code does not need to parse `gpg` status output directly.
The library is especially important for mail user agents and GUI tools that need OpenPGP or S/MIME support without becoming cryptographic engines themselves.
GPGME is packaging glue with security consequences. It hides command-line churn behind ABI and API promises, which lets desktop applications, TUI tools, mail clients, and language bindings depend on GnuPG while still integrating with normal shared-library packaging.
For maintainers, GPGME also explains why many packages pull in the GnuPG stack even when they are not named `gpg`: they need the supported API, the engine binaries, libgpg-error, and sometimes Assuan or language binding packages.
security posture
No matching local secret-handling manifest was found for gpgme. Nucleus package metadata is still published here so future coverage has a stable package URL.
Before unattended agent use, check whether the tool reads plaintext credentials, writes remote state, publishes artifacts, or shells out to plugins.
executables
| Command | Kind | Exposure | Note |
|---|---|---|---|
gnupg-key-manage | cli | global executable | |
gpgme-config | cli | global executable | |
gpgme-json | cli | global executable | |
gpgme-tool | cli | global executable |
freshness
These signals separate page generation age, package-manager activity, and upstream release comparison. Version lag is warned only when an evidence URL and comparable versions are present.
https://www.gnupg.org/related_software/gpgme/
install metadata
| Package key | brew:gpgme |
|---|---|
| Version | 2.1.2 |
| Package manager | Homebrew |
| Package manager page | https://formulae.brew.sh/formula/gpgme |
| Homepage | https://www.gnupg.org/related_software/gpgme/ |
| Repository | https://dev.gnupg.org/source/gpgme.git |
| Upstream docs | https://www.gnupg.org/documentation/manuals/gpgme |
| License | LGPL-2.1-or-later |
| Source archive | https://www.gnupg.org/ftp/gcrypt/gpgme/gpgme-2.1.2.tar.bz2 |
| Last updated | 2026-06-30T15:25:23Z |
| Pulse | updated |
| Dependencies | gnupg, libassuan, libgpg-error |
| Bottle | available (on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux) |
| Homebrew post-install | not defined |
| Service | none declared |
registry facts
| Source Database | Homebrew formula API |
|---|---|
| Tap | homebrew/core |
| Full Name | gpgme |
| Version Scheme | 0 |
| Revision | 0 |
| Bottle Stable Root URL | https://ghcr.io/v2/homebrew/core |
| Deprecated | no |
| Disabled | no |
| Keg Only | no |
| URL Keys |
|
source database matches
Matches are pulled from external package-manager indexes and kept separate from local Automic Vault package links.
gpgme
nix profile install nixpkgs#gpgmegpgme 2.0.1-r1
gnupg made easy
https://www.gnupg.org/related_software/gpgme/
sudo apk add gpgmegpgme-dev 2.0.1-r1
gnupg made easy (development files)
https://www.gnupg.org/related_software/gpgme/
sudo apk add gpgme-devgpgme-doc 2.0.1-r1
gnupg made easy (documentation)
https://www.gnupg.org/related_software/gpgme/
sudo apk add gpgme-docgpgme-lisp 2.0.1-r1
Common Lisp bindings for GPGME
https://www.gnupg.org/related_software/gpgme/
sudo apk add gpgme-lispgpgme 2.0.1-4.fc45
GnuPG Made Easy - high level crypto API
https://gnupg.org/related_software/gpgme/
sudo dnf install gpgmegpgme-devel 2.0.1-4.fc45
Development headers and libraries for gpgme
https://gnupg.org/related_software/gpgme/
sudo dnf install gpgme-develgpgme 2.1.0-1
C wrapper library for GnuPG
https://www.gnupg.org/related_software/gpgme/
sudo pacman -S gpgmegpgme 2.1.0-1.1
Programmatic library interface to GnuPG
https://www.gnupg.org/related_software/gpgme/
sudo zypper install gpgmegpgme-devel 2.1.0-1.1
Development files for GPGME, a C library for accessing GnuPG
https://www.gnupg.org/related_software/gpgme/
sudo zypper install gpgme-devellibgpgme45 2.1.0-1.1
Programmatic library interface to GnuPG
https://www.gnupg.org/related_software/gpgme/
sudo zypper install libgpgme45libgpgme45-32bit 2.1.0-1.1
Programmatic library interface to GnuPG
https://www.gnupg.org/related_software/gpgme/
sudo zypper install libgpgme45-32bitgpgme
sudo port install gpgmegpgme-json 1.24.2-3
Use GnuPG with web browser extensions
https://gnupg.org/software/gpgme/
sudo apt install gpgme-jsongpgme-json 1.18.0-4.1ubuntu4
json interface to the GPGME GnuPG encryption library
https://www.gnupg.org/related_software/gpgme/
sudo apt install gpgme-jsonsource trail
This page is generated by av-web from the private package SQLite artifact built by scripts/generate-pkg-sqlite.py.
View the package source record on GitHub.