A new version of the Python module which wraps GnuPG has been released. 
What Changed? ============= This is an enhancement and bug-fix release, and all 
users are encouraged to upgrade. See the project website [1] for more 
information. 
Brief summary: 
* Subkey information is now collected and returned in a subkey_info  dictionary 
keyed by the subkey's ID.
* GPG2 version is now correctly detected on OS X.
* Added expect_passphrase keyword argument for use on GnuPG >= 2.1 when  
passing passphrase to gpg via pinentry.
* Provided a trust_keys method to allow setting the trust level  for keys. 
Thanks to William Foster for a suggested implementation.
* Made the exception message when the gpg executable is not found contain the  
path of the executable that was tried. Thanks to Kostis Anagnostopoulos for  
the suggestion.
* Made the error message less categorical in the case of a failure with an  
unspecified reason, adding some information from gpg error codes when  
available.
This release [2] has been signed with my code signing key: 
Vinay Sajip (CODE SIGNING KEY) <vina... at yahoo.co.uk> Fingerprint: CA74 9061 
914E AC13 8E66 EADB 9147 B477 339A 9B86 
What Does It Do? ================ The gnupg module allows Python programs to 
make use of the functionality provided by the Gnu Privacy Guard (abbreviated 
GPG or GnuPG). Using this module, Python programs can encrypt and decrypt data, 
digitally sign documents and verify digital signatures, manage (generate, list 
and delete) encryption keys, using proven Public Key Infrastructure (PKI) 
encryption technology based on OpenPGP. 
This module is expected to be used with Python versions >= 2.4, as it makes use 
of the subprocess module which appeared in that version of Python. This module 
is a newer version derived from earlier work by Andrew Kuchling, Richard Jones 
and Steve Traugott. 
A test suite using unittest is included with the source distribution. 
Simple usage: 
>>> import gnupg >>> gpg = gnupg.GPG(gnupghome='/path/to/keyring/directory') 
>>> >>> gpg.list_keys() 
[{ ... 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', 'keyid': 
'197D5DAC68F1AAB2', 'length': '1024', 'type': 'pub', 'uids': ['', 'Gary Gross 
(A test user) <gary.gr... at gamma.com>']}, { ... 'fingerprint': 
'37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', 'keyid': '0C5FEFA7A921FC4A', 
'length': '1024', ... 'uids': ['', 'Danny Davis (A test user) <danny.da... at 
delta.com>']}] >>> encrypted = gpg.encrypt("Hello, world!", 
['0C5FEFA7A921FC4A']) >>> str(encrypted) 
'-----BEGIN PGP MESSAGE-----\nVersion: GnuPG v1.4.9 (GNU/Linux)\n 
\nhQIOA/6NHMDTXUwcEAf . -----END PGP MESSAGE-----\n' >>> decrypted = 
gpg.decrypt(str(encrypted), passphrase='secret') >>> str(decrypted) 
'Hello, world!' >>> signed = gpg.sign("Goodbye, world!", passphrase='secret') 
>>> verified = gpg.verify(str(signed)) >>> print "Verified" if verified else 
"Not verified" 
'Verified' 
As always, your feedback is most welcome (especially bug reports [3], patches 
and suggestions for improvement, or any other points via the mailing 
list/discussion group [4]). 
Please refer to the documentation [5] for more information. 
Enjoy! 
Cheers 
Vinay Sajip Red Dove Consultants Ltd. 
[1] https://bitbucket.org/vinay.sajip/python-gnupg [2] 
https://pypi.python.org/pypi/python-gnupg/0.4.2 [3] 
https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] 
https://groups.google.com/forum/#!forum/python-gnupg [5] 
https://gnupg.readthedocs.io/en/latest/ 
-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to