gpgme/lang/python
Justus Winter 6af7bee076 python: Release the GIL during calls into GPGME.
* lang/python/helpers.c (pyme_raise_callback_exception): Re-acquire
the Global Interpreter Lock.
(pyPassphraseCb, pyme_set_passphrase_cb, pyProgressCb,
pyme_set_progress_cb, pyStatusCb, pyme_set_status_cb,
_pyme_interact_cb, pyDataReadCb, pyDataWriteCb, pyDataSeekCb,
pyDataReleaseCb, pyme_data_new_from_cbs, _pyme_assuan_data_cb,
_pyme_assuan_inquire_cb, _pyme_assuan_status_cb): Likewise.
* lang/python/setup.py.in: Make 'gpgme-config' emit the correct
cflags, and SWIG generate code to release the GIL before calling us.

Co-authored-by: Kai Michaelis <kai@gnupg.org>
Signed-off-by: Justus Winter <justus@g10code.com>
2016-09-16 15:56:47 +02:00
..
docs Merge branch 'justus/pyme3' 2016-05-17 15:10:28 +02:00
examples python: Adapt to 'gpgme_op_interact'. 2016-09-16 14:56:29 +02:00
pyme python: Adapt to 'gpgme_op_interact'. 2016-09-16 14:56:29 +02:00
tests python: Adapt to 'gpgme_op_interact'. 2016-09-16 14:56:29 +02:00
gpgme-h-clean.py python: Import from __future__ to align behavior of Python 2.7. 2016-09-14 12:15:57 +02:00
gpgme.i python: Adapt to 'gpgme_op_interact'. 2016-09-16 14:56:29 +02:00
helpers.c python: Release the GIL during calls into GPGME. 2016-09-16 15:56:47 +02:00
helpers.h python: Add a flag identifying in-tree builds. 2016-08-02 18:45:10 +02:00
Makefile.am python: Build for both Python2 and Python3. 2016-09-14 12:18:15 +02:00
MANIFEST.in python: Fix out-of-tree build. 2016-07-28 18:14:08 +02:00
private.h python: Adapt to 'gpgme_op_interact'. 2016-09-16 14:56:29 +02:00
README python: Clarify that we support Python 2.7 too. 2016-09-14 14:36:29 +02:00
setup.py.in python: Release the GIL during calls into GPGME. 2016-09-16 15:56:47 +02:00

PyME - GPGME for Python          emacs, please switch to -*- org -*- mode
=======================

PyMe is a python interface to the GPGME library:
https://www.gnupg.org/related_software/gpgme/

PyMe uses SWIG to create wrapper functions with automatic type
conversions.  This way most of the functions and types are converted
from C into Python automatically by SWIG, reducing the maintenance
cost of the binginds.

* Authors

PyME has been created by John Goerzen, and maintained, developed, and
cherished by Igor Belyi, Martin Albrecht, Ben McGinnes, and everyone
who contributed to it in any way.

In 2016 we merged a port of PyME to into the GPGME repository, and
development will continue there.  Please see the VCS history for the
list of contributors, and if you do find bugs, or want to contribute,
please get in touch and help maintain PyME.

Please see the section 'History' further down this document for
references to previous versions.

* Mailing List

For general discussion and help see the gnupg-users mailing list:
https://lists.gnupg.org/mailman/listinfo/gnupg-users

For development see the gnupg-devel mailing list:
https://lists.gnupg.org/mailman/listinfo/gnupg-devel

* Bugs

Please report bugs using our bug tracker using the category 'gpgme',
and topic 'python':
https://bugs.gnupg.org/gnupg/

* History

 - The bindings have been merged into the GPGME repository in 2016.

 - The latest version of PyME for Python 3.2 and above (as of
   May, 2015) is v0.9.1.
   https://git.gnupg.org/gpgme.git/lang/py3-pyme

 - The latest version of PyME for Python 2.6 and 2.7 (as of this
   writing) is v0.9.0.  https://bitbucket.org/malb/pyme

 - A previous version of PyME v0.8.0 can be found on sourceforge:
   http://pyme.sourceforge.net/

 - A previous version of PyME v0.5.1 which works with GPGME v0.3.15
   can be found on John Goerzen's PyMe page:
   http://quux.org/devel/pyme/
   http://www.complete.org/JohnGoerzen