python gpg bindings
Project description
gpg python binding (incomplete functionality)
A python gpg
module written from scratch.
The goals are:
- Reduced functionality to reduce maintenance costs
- Use custom functions for keyserver access (inconsistent behaviour of the gpg binary accross versions)
- Support for 🐧, 🍏, Windows
- Support as many gpg versions as possible
Installation
From PyPI
It's simple. Just do:
[sudo] pip install [--user] gpg-lite
From git
To install this package from this git repository, do:
git clone https://gitlab.com/biomedit/gpg-lite.git
cd gpg-lite
./setup.py install [--user]
To get started using python-gnupg's API, see the documentation, and import the module like:
import gpg_lite
The primary interface class you'll likely want to interact with is gpg_lite.GPGStore
gpg_store = gpg_lite.GPGStore(config_dir='/home/user/.gnupg')
gpg_store.gen_key(
key_type='RSA',
key_length=4096,
full_name="Chuck Norris",
email="chuck.norris@roundhouse.gov",
passphrase="Chuck Norris does not need one - the password needs him")
keys = gpg_store.list_pub_keys()
print(keys)
Note: Make sure that the /home/user/.gnupg
directory exists.
Bug Reports / Feature Requests / Contributing
Our bugtracker can be found on GitLab https://gitlab.com/biomedit/gpg-lite/issues.
Public comments and discussions are also welcome on the bugtracker.
Patches are always welcome 🤗! Take into account that we use a special format for commit messages. This is due to our release management and to auto generate our changelog. Here are our guidelines. Also each change has to pass our CI pipeline including:
- black code formatting
- pylint lints
- unit / integration tests
- bandit vulnerability checks (each security warning which cannot be avoided has to be justified)
- mypy type checking
Supported GPG versions
We officially support all GPG versions starting from v2.2.8. Inofficially, we also try to support v2.0.22.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.