* Rename gpghome to homedir. * Rename gpgbinary to binary. * Add setting to append '--no-use-agent' to the command string in an attempt to overcome bugs resulting on systems where the user has gpg-agent running in the background (with some configurations, this is run before X is started, and killing the agent can result in X dying) and GnuPG tries to call the program specified by the symlink at /usr/bin/pinentry, result in encryption and decryption failing due to the '--batch' option blasting through pinentry without input. This results in a complaint from GnuPG: gpg: Sorry, no terminal at all requested - can't get input This bug also prevents symmetric encryption/decryption from working in a similar manner. Daniel Kahn Gilmor's monkeysphere, if I am recalling correctly, has a hack to remove the $DISPLAY variable from the users environment, and then add it back in, but frankly this option frightens me, as unsetting the display could result in all X applications failing. Werner Koch's suggestions, from the gnupg-devel mailing list are: http://lists.gnupg.org/pipermail/gnupg-users/2007-April/030927.html And, for the record, '--no-use-agent' doesn't disable pinentry. |
||
---|---|---|
.pc | ||
docs | ||
gnupg | ||
patches | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
Makefile | ||
PKG-INFO | ||
README.md | ||
report-a-bug | ||
requirements.txt | ||
setup.py |
README.md
python-gnupg
================
Fork of python-gnupg-0.3.2, patched to remove Popen([...], shell=True)
.
Installation
From this git repository
To install this package from this git repository, do:
git clone https://github.com/isislovecruft/python-gnupg.git
cd python-gnupg
make install
make test
Optionally to build the documentation after installation, do:
make docs
To get started using python-gnupg's API, see the online documentation, and import the module like so:
>>> import gnupg
The primary interface class you'll likely want to interact with is
gnupg.GPG
:
>>> gpg = gnupg.GPG(gpgbinary='/usr/bin/gpg',
... gpghome='./keys',
... pubring='pubring.gpg',
... secring='secring.gpg')
>>> batch_key_input = gpg.gen_key_input()
>>> print batch_key_input
Key-Type: RSA
Name-Email: isis@wintermute
Name-Comment: Generated by gnupg.py
Key-Length: 4096
Name-Real: Autogenerated Key
%pubring /home/isis/code/python-gnupg/keys/pubring.gpg
%secring /home/isis/code/python-gnupg/keys/secring.gpg
%commit
>>> key = gpg.gen_key(batch_key_input)
>>> print key.fingerprint
245D8FA30F543B742053949F553C0E154F2E7A98
From PyPI
Hold your horses, boy. I haven't finished development, so the packages on PyPI are still the old versions belonging to the other authors.
Bug Reports & Feature Requests
Our bugtracker is here.
Please use that for bug reports and feature requests instead of github's tracker. We're using github for code commenting and review between collaborators.