gnupg package ============= gnupg module ------------ This module contains public classes for working with GnuPG_. To get started, do: >>> import gnupg >>> gpg = gnupg.GPG() .. automodule:: gnupg :members: :undoc-members: :private-members: :show-inheritance: meta module ----------- Contains the meta and base classes which :class:`gnupg.GPG` inherits from. Mostly, you shouldn't ever need to touch anything in here, unless you're doing some serious hacking. .. automodule:: gnupg._meta :members: :undoc-members: :private-members: :show-inheritance: parsers module -------------- These are classes for parsing both user inputs and status file descriptor flags from GnuPG's output. The latter are used in order to determine what our GnuPG process is doing and retrieve information about its operations, which are stored in corresponding classes in :attr:`gnupg.GPG._result_dict`. Some status flags aren't handled yet -- infomation on *all* of the flags (well, at least the documented ones…) can be found in the docs/DETAILS file in GnuPG's source_, which has been included here_ as well. .. automodule:: gnupg._parsers :members: :undoc-members: :private-members: :show-inheritance: util module ----------- You shouldn't really need to mess with this module either, it mostly deals with low-level IO and file handling operations, de-/en- coding issues, and setting up basic package facilities such as logging. .. automodule:: gnupg._util :members: :undoc-members: :private-members: :show-inheritance: About this fork --------------- This is a modified version of python-gnupg_, (forked from version 0.3.2) which was created by Vinay Sajip, which itself is a modification of GPG.py written by Steve Traugott, which in turn is a modification of the pycrypto GnuPG interface written by A.M. Kuchling. This version is patched to sanitize untrusted inputs, due to the necessity of executing :class:`subprocess.Popen([...], shell=True)` in order to communicate with GnuPG. Several speed improvements were also made based on code profiling, and the API has been cleaned up to support an easier, more Pythonic, interaction. Previous Authors' Documentation ------------------------------- Steve Traugott's documentation: | Portions of this module are derived from A.M. Kuchling's well-designed | GPG.py, using Richard Jones' updated version 1.3, which can be found in | the pycrypto CVS repository on Sourceforge: | | http://pycrypto.cvs.sourceforge.net/viewvc/pycrypto/gpg/GPG.py | | This module is *not* forward-compatible with amk's; some of the old | interface has changed. For instance, since I've added decrypt | functionality, I elected to initialize with a 'gpghome' argument instead | of 'keyring', so that gpg can find both the public and secret keyrings. | I've also altered some of the returned objects in order for the caller to | not have to know as much about the internals of the result classes. | | While the rest of ISconf is released under the GPL, I am releasing this | single file under the same terms that A.M. Kuchling used for pycrypto. | | Steve Traugott, stevegt@terraluna.org | Thu Jun 23 21:27:20 PDT 2005 Vinay Sajip's documentation: | This version of the module has been modified from Steve Traugott's version | (see http://trac.t7a.org/isconf/browser/trunk/lib/python/isconf/GPG.py) by | Vinay Sajip to make use of the subprocess module (Steve's version uses | os.fork() and so does not work on Windows). Renamed to gnupg.py to avoid | confusion with the previous versions. | | A unittest harness (test_gnupg.py) has also been added. | | Modifications Copyright (C) 2008-2012 Vinay Sajip. All rights reserved. .. _GnuPG: http://gnupg.org .. _python-gnupg: https://code.google.com/p/python-gnupg/ .. _source: http://http://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg.git;a=shortlog;h=refs/heads/master .. _here: ./DETAILS.html