* Reshaping the history file to fit Org Mode's structuring for docs.
* Also said history needs to be a bit more clear (it was kind of
  unfinished).
This commit is contained in:
Ben McGinnes 2018-02-14 22:44:27 +11:00
parent fccd2ea387
commit a1bc710c5f

View File

@ -1,56 +1,72 @@
#+TITLE: A Short History of gpg bindings for Python #+TITLE: A Short History of the GPGME bindings for Python
In 2002 John Goerzen released PyME; Python bindings for the GPGME module * Overview
which utilised the current release of Python of the time (Python 2.2 or :PROPERTIES:
2.3) and SWIG. Shortly after creating it and ensuring it worked he :CUSTOM_ID: overview
stopped supporting it, though left his work available on his Gopher :END:
site.
A couple of years later the project was picked up by Igor Belyi and The GPGME Python bindings passed through many hands and numerous
actively developed and maintained by him from 2004 to 2008. Igor's phases before, after a fifteen year journey, coming full circle to
whereabouts at the time of this document's creation are unknown, but the return to the source. This is a short explanation of that journey.
current authors do hope he is well. We're assuming (or hoping) that life
did what life does and made continuing untenable.
In 2014 Martin Albrecht wanted to patch a bug in the PyME code and ** In the beginning
discovered the absence of Igor. Following a discussion on the PyME :PROPERTIES:
mailing list he became the new maintainer for PyME, releasing version :CUSTOM_ID: in-the-begining
0.9.0 in May of that year. He remains the maintainer of the original :END:
PyME release in Python 2.6 and 2.7 (available via PyPI).
In 2015 Ben McGinnes approached Martin about a Python 3 version, while In 2002 John Goerzen released PyME; Python bindings for the GPGME
investigating how complex a task this would be the task ended up being module which utilised the current release of Python of the time
completed. A subsequent discussion with Werner Koch led to the decision (Python 2.2 or 2.3) and SWIG. Shortly after creating it and
to fold the Python 3 port back into the original GPGME release in the ensuring it worked he stopped supporting it, though he left his
languages subdirectory for non-C bindings. Ben is the maintainer of the work available on his Gopher site.
Python 3 port within GPGME.
In 2016 PyME was renamed to "gpg" and adopted by the upstream GnuPG A couple of years later the project was picked up by Igor Belyi and
team. actively developed and maintained by him from 2004 to 2008. Igor's
whereabouts at the time of this document's creation are unknown,
but the current authors do hope he is well. We're assuming (or
hoping) that life did what life does and made continuing untenable.
* The Annoyances of Git In 2014 Martin Albrecht wanted to patch a bug in the PyME code and
discovered the absence of Igor. Following a discussion on the PyME
mailing list he became the new maintainer for PyME, releasing
version 0.9.0 in May of that year. He remains the maintainer of
the original PyME release in Python 2.6 and 2.7 (available via
PyPI).
In 2015 Ben McGinnes approached Martin about a Python 3 version,
while investigating how complex a task this would be the task ended
up being completed. A subsequent discussion with Werner Koch led to
the decision to fold the Python 3 port back into the original GPGME
release in the languages subdirectory for non-C bindings. Ben is
the maintainer of the Python 3 port within GPGME.
In 2016 PyME was renamed to "gpg" and adopted by the upstream GnuPG
team.
** The Annoyances of Git
:PROPERTIES: :PROPERTIES:
:CUSTOM_ID: the-annoyances-of-git :CUSTOM_ID: the-annoyances-of-git
:END: :END:
As anyone who has ever worked with git knows, submodules are horrible As anyone who has ever worked with git knows, submodules are
way to deal with pretty much anything. In the interests of avoiding horrible way to deal with pretty much anything. In the interests
migraines, that is being skipped with addition of PyME to GPGME. Instead of avoiding migraines, that is being skipped with addition of PyME
the files will be added to the subdirectory, along with a copy of the to GPGME. Instead the files will be added to the subdirectory,
entire git log up to that point as a separate file within the docs along with a copy of the entire git log up to that point as a
directory (old-commits.log). As the log for PyME is nearly 100KB and the separate file within the docs directory (old-commits.log). As the
log for GPGME is approximately 1MB, this would cause considerable bloat, log for PyME is nearly 100KB and the log for GPGME is approximately
as well as some confusion, should the two be merged. Hence the 1MB, this would cause considerable bloat, as well as some
unfortunate, but necessary, step to simply move the files. A regular confusion, should the two be merged. Hence the unfortunate, but
repository version will be maintained should it be possible to implement necessary, step to simply move the files. A regular repository
this better in the future. version will be maintained should it be possible to implement this
better in the future.
* The Perils of PyPI ** The Perils of PyPI
:PROPERTIES: :PROPERTIES:
:CUSTOM_ID: the-perils-of-pypi :CUSTOM_ID: the-perils-of-pypi
:END: :END:
At the current time the Python 3 fork is not available via PyPI and the At the current time the Python 3 fork is not available via PyPI and
pip installer. The recommended installation method is to follow the the pip installer. The recommended installation method is to follow
instructions in lang/py3-pyme/INSTALL. This will build the necessary the instructions in lang/py3-pyme/INSTALL. This will build the
SWIG portions against the installed version of GPGME. necessary SWIG portions against the installed version of GPGME.