Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!feeds.phibee-telecom.net!newsfeed.xs4all.nl!newsfeed2a.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.000 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'python.': 0.02; 'url:pypi': 0.03; 'from:addr:yahoo.co.uk': 0.04; 'skip:[ 20': 0.04; 'encoding': 0.05; 'url:bitbucket': 0.05; '(especially': 0.07; 'skip:\\ 20': 0.07; 'skip:` 10': 0.07; 'subject:ANN': 0.07; 'steve': 0.09; 'default.': 0.09; 'derived': 0.09; 'expired': 0.09; 'keys,': 0.09; 'methods,': 0.09; 'parameter': 0.09; 'pgp': 0.09; 'prefix': 0.09; 'release,': 0.09; 'skip:g 60': 0.09; 'subject:version': 0.09; 'unittest': 0.09; 'python': 0.11; 'bug': 0.12; 'cheers': 0.12; 'windows': 0.15; '(code': 0.16; '-----end': 0.16; '[3],': 0.16; 'dove': 0.16; 'fingerprint:': 0.16; 'gnupg': 0.16; 'gpg': 0.16; 'key)': 0.16; 'keys.': 0.16; 'patches': 0.16; 'reply-to:addr:yahoo.co.uk': 0.16; 'skip:[ 30': 0.16; 'specifying': 0.16; 'to:addr:python-announce-list': 0.16; 'url:issues': 0.16; 'v1.4.9': 0.16; 'valueerror': 0.16; 'wraps': 0.16; 'subject:python': 0.16; 'skip:= 10': 0.16; 'module': 0.19; 'skip:g 40': 0.19; '>>>': 0.22; 'import': 0.22; 'to:name:python- list@python.org': 0.22; 'print': 0.22; 'either.': 0.24; 'module,': 0.24; 'specify': 0.24; 'earlier': 0.24; 'versions': 0.24; 'file.': 0.24; 'source': 0.25; 'options': 0.25; 'signed': 0.27; 'fixed': 0.29; 'skip:p 30': 0.29; '[1]': 0.29; 'points': 0.29; 'subject:) ': 0.29; '[2]': 0.30; 'andrew': 0.30; 'newer': 0.30; 'skip:( 40': 0.30; 'skip:g 30': 0.30; 'specified': 0.30; 'included': 0.31; 'code': 0.31; "skip:' 10": 0.31; 'encouraged': 0.31; 'keys': 0.31; 'raised': 0.31; "skip:' 40": 0.31; 'allows': 0.31; 'handled': 0.32; 'url:python': 0.33; 'updated': 0.34; 'skip:d 20': 0.34; 'message.': 0.35; 'subject: (': 0.35; 'classes': 0.35; 'common': 0.35; 'test': 0.35; 'but': 0.35; 'version': 0.36; 'data,': 0.36; 'functions.': 0.36; 'keyword': 0.36; 'reflect': 0.36; 'method': 0.36; 'url:org': 0.36; 'reports': 0.37; 'searching': 0.37; 'list': 0.37; 'project': 0.37; 'expected': 0.38; 'feedback': 0.38; 'subject:new': 0.38; 'skip:& 10': 0.38; 'richard': 0.38; 'to:addr :python-list': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'changed': 0.39; 'mailing': 0.39; 'skip:p 20': 0.39; 'users': 0.40; 'release': 0.40; 'skip:u 10': 0.60; 'received:212.82': 0.60; 'most': 0.60; 'recipients': 0.61; 'new': 0.61; 'privacy': 0.61; 'url:3': 0.61; 'digital': 0.61; 'simple': 0.61; 'more': 0.64; 'to:2**2': 0.65; 'url:0': 0.67; 'header:Reply-To:1': 0.67; 'default': 0.69; 'request.': 0.70; '"not': 0.84; '#2:': 0.84; "'true'": 0.84; 'avoids': 0.84; 'idiom': 0.84; 'improvement,': 0.84; 'encrypted': 0.91; 'pfxlen:2': 0.91; 'enhancement': 0.95 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.co.uk; s=s2048; t=1417992240; bh=YjSrIGqQmlL+OEDEF0Ym787VhMKBHKspUIIXJcidQ1c=; h=Date:From:Reply-To:To:Subject:From:Subject; b=rUrvpKwpBhix2Ik+hi2Ez+rgKs91elms8j2+LFdvoyLJAD3oPQ9uIi91lrX5QGCyfnK4awknsnKtf8m8D4wYreXNyRJm9t6vJw329Wdz2J5jkoOISHhr6r+4diMUroQzCZxUGtsTN/Mjnv1nTNsYkUObpAp1wyOhLSWJt/TBQmMj0daWr1oxaz1RYxSxXf85N0Gt71IImS5tX9JeYOSNcp9/awAb/di2p+RZT3yh0dEsqawky9nO+E1jM9vif9e/KhnKQ+alTuk6vxHZk8HDLWI+tHHB7OpHjT9sLDZ6vCyLQanAn3unP60lqgBd9FXvZLnbVlpFUB4nQvsUlJelIg== DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s2048; d=yahoo.co.uk; b=oHqRIGfQINubJwkaQPUjcZ3FLXL770kRDzl9UzGixDm3h/7k0vis/k1o7Oo+pU++68RQhYUgHyqfF6rIRPoSmLTtS3Id4+8++Rb3BaNhmrIBPHQ6oqckuEuDRFSSco+c5SrCqXtdsuj/d/pKo6CA0EhBBOr64x6mWBgSG4E9xIHrwMjCFtIE47dQ0MBMMBqcJU2KPiUVx1gubTe6Eiq4H2FJ4wEILsbRWLpE4/0d66hqpg1EWtghYV5JaJDIn2vWjXpqFC+2k7WN2Xh3GRwybtiMgy8ff3SYtCxUYA+NtC+mxNLPAzn96fV/iTqTUNpyCEASFTmbuCYzU+zW7k8nYA==; X-Yahoo-Newman-Property: ymail-3 X-Yahoo-Newman-Id: 137786.52577.bm@omp1022.mail.ir2.yahoo.com X-YMail-OSG: Va01ZlEVM1nkqEpiv1oW7DswIqW.kUJ.espfOqpbwyc7.1QY9fQCI_OhSCFLRxI xyzBeoLu8l4DfgeEow6Sz70u4QvofjYWAn8DIXqpQIYL_S61XUvVeFo37qzRHOILHcZO.CKPzdk1 PTnZLyn2wRIubeeiPag4YWh3efOuvJ0Jy3_DwbxcJ4tjMOEGAnVqp3BWzadVfwRVnj6HDUIN5iGn 30y4_AFJvpnOVdT1aO8ELvauPvAAL3a7TX8w.XFfGp.L87cf0ZVu48ijKQBKW2BiJl7VqQgFj3T8 9Hx32Rj190l20qRtZKuzW3PxcR.BmbAzNtRGEgyEDYsDkj9SMs.JoRBoQeYvwYzUkiULt2RSdcIE 7m.oPkxeKW125YhQ9oliQJTkM0SVM.iYTf8mXe9tKmv_q.kW7zVVkhCijN5aodCBLnYSiksJwLrC 3IXeoMjsHyn_AR8x0J9NoKm8.n8RVTjmzjI.icF0Kd7QTXkSBuVJBaxMr2vlyJI9GzlpHXHWkX4b MJS34eVbuhvSm3T5rRba.Ru8ZzrrYjDYPMzJYEec7Qz4LpNbxAaLsIF46ng9ZgUVhT4kD2neE91z 5fgOIKGC.olrTwxdPv4xqorIrsCfAibfnVbPxcHNBUTvTNI3Th7Sygu6FMnqyEsyw.VRIHAD_79l AkpcDpLueBrIb4cDq2kfQDcperoKcS.6zRHBwJT6mkUpeMP0m4UohIM5yrJYoiydn5kHp9dREDY. w5_7hjmOuk7__2y_wgRas910pBC_LZVFFhT1UT02yGxqB3u9G_5LSAecYfIBSSn50yBWmENbKgDo Pbj_Ok5Xf Date: Sun, 7 Dec 2014 22:43:59 +0000 (UTC) From: Vinay Sajip To: "python-list@python.org" , "python-announce-list@python.org" , "python-gnupg@googlemail.com" Subject: ANN: A new version (0.3.7) of python-gnupg has been released. MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_6830355_2111960345.1417992239226" X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list Reply-To: Vinay Sajip List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 249 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1417992251 news.xs4all.nl 2834 [2001:888:2000:d::a6]:43968 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:82079 ------=_Part_6830355_2111960345.1417992239226 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable A new version of the Python module which wraps GnuPG has been released. What Changed? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D This is an enhancement and bug-fix release, but the bug-fixes include some security improvements, so all users are encouraged to upgrade. See the project website [1] for more information. Brief summary: * Added an 'output' keyword parameter to the 'sign' and =C2=A0 'sign_file' methods, to allow writing the signature to a file. =C2=A0 * Allowed specifying 'True' for the 'sign' keyword parameter, =C2=A0 which allows use of the default key for signing and avoids =C2=A0 having to specify a key id when it's desired to use the default. =C2=A0 * Used a uniform approach with subprocess on Windows and POSIX: =C2=A0 shell=3DTrue is not used on either. =C2=A0 * When signing/verifying, the status is updated to reflect any =C2=A0 expired or revoked keys or signatures. * Handled 'NOTATION_NAME' and 'NOTATION_DATA' during verification. * Fixed #1, #16, #18, #20: Quoting approach changed, since now =C2=A0 shell=3DFalse. =C2=A0 * Fixed #14: Handled 'NEED_PASSPHRASE_PIN' message. * Fixed #8: Added a scan_keys method to allow scanning of keys =C2=A0 without the need to import into a keyring. * Fixed #5: Added '0x' prefix when searching for keys. * Fixed #4: Handled 'PROGRESS' message during encryption. * Fixed #3: Changed default encoding to Latin-1. =C2=A0 * Fixed #2: Raised ValueError if no recipients were specified =C2=A0 for an asymmetric encryption request. * Handled 'UNEXPECTED' message during verification. =C2=A0 * Replaced old range(len(X)) idiom with enumerate(). =C2=A0 * Refactored ``ListKeys`` / ``SearchKeys`` classes to maximise =C2=A0 use of common functions. =C2=A0 * Fixed GC94: Added ``export-minimal`` and ``armor`` options =C2=A0 when exporting keys. This addition was inadvertently left out =C2=A0 of 0.3.6. This release [2] has been signed with my code signing key: Vinay Sajip (CODE SIGNING KEY) Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B477 339A 9B86 What Does It Do? =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D 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 >=3D 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 =3D gnupg.GPG(gnupghome=3D'/path/to/keyring/directory') >>> gpg.list_keys() [{ =C2=A0 ... =C2=A0 'fingerprint': 'F819EE7705497D73E3CCEE65197D5DAC68F1AAB2', =C2=A0 'keyid': '197D5DAC68F1AAB2', =C2=A0 'length': '1024', =C2=A0 'type': 'pub', =C2=A0 'uids': ['', 'Gary Gross (A test user) ']}, =C2=A0{ =C2=A0 ... =C2=A0 'fingerprint': '37F24DD4B918CC264D4F31D60C5FEFA7A921FC4A', =C2=A0 'keyid': '0C5FEFA7A921FC4A', =C2=A0 'length': '1024', =C2=A0 ... =C2=A0 'uids': ['', 'Danny Davis (A test user) ']= }] >>> encrypted =3D 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 =3D gpg.decrypt(str(encrypted), passphrase=3D'secret') >>> str(decrypted) 'Hello, world!' >>> signed =3D gpg.sign("Goodbye, world!", passphrase=3D'secret') >>> verified =3D 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]). 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.3.7 [3] https://bitbucket.org/vinay.sajip/python-gnupg/issues [4] https://groups.google.com/forum/#!forum/python-gnupg ------=_Part_6830355_2111960345.1417992239226 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
A new= version of the Python module which wraps GnuPG has been
released.

What Ch= anged?
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
This is an enhancement and bug-fix release, but the b= ug-fixes
include some security improvements, so al= l users are encouraged
to upgrade. See the project= website [1] for more information.

Brief summary:

* Added an 'output' keyword parameter to the 'sign' and
  'sign_file' methods, to allow writing the = signature to a file.
 
* Allowed specify= ing 'True' for the 'sign' keyword parameter,
  which allows use of the default key for si= gning and avoids
  having to specify a key id= when it's desired to use the default.
 
* Used a uniform = approach with subprocess on Windows and POSIX:
&nb= sp; shell=3DTrue is not used on either.
 
* When signing/ve= rifying, the status is updated to reflect any
&nbs= p; expired or revoked keys or signatures.

* Handled 'NOTATION_NAME' and 'NOTATION_DATA' during veri= fication.

* Fixed #1, #1= 6, #18, #20: Quoting approach changed, since now
&= nbsp; shell=3DFalse.
 
* Fixed #14: Hand= led 'NEED_PASSPHRASE_PIN' message.

* Fixed #8: Added a scan_keys method to allow scanning of keys  without the need to import into a keyring.
* Fixed #5: Added '0x' pr= efix when searching for keys.

* Fixed #4: Handled 'PROGRESS' message during encryption.

* Fixed #3: Changed default encodin= g to Latin-1.
 
* Fi= xed #2: Raised ValueError if no recipients were specified
  for an asymmetric encryption request.

* Handled 'UNEXPECTED' = message during verification.
 
* Replaced old ra= nge(len(X)) idiom with enumerate().
 
* Refactored ``Li= stKeys`` / ``SearchKeys`` classes to maximise
&nbs= p; use of common functions.
 
* Fixed GC94: Add= ed ``export-minimal`` and ``armor`` options
 = when exporting keys. This addition was inadvertently left out
  of 0.3.6.

This release [2] has be= en signed with my code signing key:

Vinay Sajip (CODE SIGNING KEY) <vinay_sajip@yahoo.co.uk><= br style=3D"" class=3D"">Fingerprint: CA74 9061 914E AC13 8E66 EADB 9147 B4= 77 339A 9B86


What Does It Do?
=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
The gnupg module= allows Python programs to make use of the
functio= nality provided by the Gnu Privacy Guard (abbreviated GPG or
GnuPG). Using this module, Python programs can encrypt and decry= pt
data, digitally sign documents and verify digit= al signatures, manage
(generate, list and delete) = encryption keys, using proven Public Key
Infrastru= cture (PKI) encryption technology based on OpenPGP.

This module is expected to be used with Python = versions >=3D 2.4, as it
makes use of the subpr= ocess module which appeared in that version of
Pyt= hon. 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 = =3D gnupg.GPG(gnupghome=3D'/path/to/keyring/directory')
>>> gpg.list_keys()
[{
  ...
  'fingerprint': 'F81= 9EE7705497D73E3CCEE65197D5DAC68F1AAB2',
  'ke= yid': '197D5DAC68F1AAB2',
  'length': '1024',=
  'type': 'pub',
&n= bsp; 'uids': ['', 'Gary Gross (A test user) <gary.gr... at gamma.com>= ']},
 {
  ...  'fingerprint': '37F24DD4B918CC264D4F31D60C5F= EFA7A921FC4A',
  'keyid': '0C5FEFA7A921FC4A',=
  'length': '1024',
  ...
  'uids': ['', 'Danny Davis (A te= st user) <danny.da... at delta.com>']}]
>= >> encrypted =3D gpg.encrypt("Hello, world!", ['0C5FEFA7A921FC4A'])>>> str(encrypted)
'-----BEGIN PGP MESSAGE-----\nVersion: GnuPG v1.4.9 (GNU/Linux)\n
\nhQIOA/6NHMDTXUwcEAf
...
-----END PGP MESSAGE-----\n'
&g= t;>> decrypted =3D gpg.decrypt(str(encrypted), passphrase=3D'secret')=
>>> str(decrypted)
'Hello, world!'
>>> signed =3D gpg.= sign("Goodbye, world!", passphrase=3D'secret')
>= ;>> verified =3D gpg.verify(str(signed))
>= ;>> print "Verified" if verified else "Not verified"
'Verified'

As a= lways, your feedback is most welcome (especially bug reports [3],
patches and suggestions for improvement, or any other poin= ts via the
mailing list/discussion group [4]).

Enjoy!

Cheers

Vinay Sajip
Red Dove Consultants = Ltd.

[1] https://bitbuck= et.org/vinay.sajip/python-gnupg
[2] https://pypi.p= ython.org/pypi/python-gnupg/0.3.7
[3] https://bitb= ucket.org/vinay.sajip/python-gnupg/issues
[4] http= s://groups.google.com/forum/#!forum/python-gnupg
<= br>

------=_Part_6830355_2111960345.1417992239226--