[git] GPGME - branch, ben/python-docs-01, created. gpgme-1.10.0-23-g6f15d82

by Ben McGinnes cvs at cvs.gnupg.org
Thu Feb 15 15:31:14 CET 2018


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GnuPG Made Easy".

The branch, ben/python-docs-01 has been created
        at  6f15d821404742ac2683f54ca4102ee4aaedacf2 (commit)

- Log -----------------------------------------------------------------
commit 6f15d821404742ac2683f54ca4102ee4aaedacf2
Author: Ben McGinnes <ben at adversary.org>
Date:   Fri Feb 16 01:26:20 2018 +1100

    LaTeX margins
    
    * Added LaTeX header for 1 inch margins in the quite likely event that
      all PDF output ultimately uses LaTeX.

diff --git a/lang/python/docs/Short_History.org b/lang/python/docs/Short_History.org
index e0cd877..89bb21e 100644
--- a/lang/python/docs/Short_History.org
+++ b/lang/python/docs/Short_History.org
@@ -1,4 +1,6 @@
 #+TITLE: A Short History of the GPGME bindings for Python
+#+LATEX_CLASS: article
+#+LATEX_HEADER: \usepackage[margin=1in]{geometry}
 
 * Overview
   :PROPERTIES:
diff --git a/lang/python/docs/TODO.org b/lang/python/docs/TODO.org
index 1ddd394..10324e6 100644
--- a/lang/python/docs/TODO.org
+++ b/lang/python/docs/TODO.org
@@ -1,6 +1,11 @@
 #+TITLE: Stuff To Do
+#+LATEX_CLASS: article
+#+LATEX_HEADER: \usepackage[margin=1in]{geometry}
 
 * Project Task List
+  :PROPERTIES:
+  :CUSTOM_ID: task-list
+  :END:
 
 ** DONE Documentation default format
    CLOSED: [2018-02-15 Thu 21:29]
@@ -19,6 +24,25 @@
    to produce reST versions via Pandoc and DITA XML can be reached
    through converting to either Markdown or XHTML first.
 
+** TODO Documentation HOWTO
+   :PROPERTIES:
+   :CUSTOM_ID: todo-docs-howto
+   :END:
+
+   Write a HOWTO style guide for the current Python bindings.
+
+** TODO Documentation SWIG
+   :PROPERTIES:
+   :CUSTOM_ID: todo-docs-swig
+   :END:
+
+   Write documentation for the complete SWIG bindings demonstrating
+   the correspondence with GPGME itself.
+
+   Note: it is likely that this will be more in the nature of
+   something to be used in conjunction with the existing GPGME
+   documentation which makes it easier for Python developers to use.
+
 ** TODO GUI examples
    :PROPERTIES:
    :CUSTOM_ID: todo-gui-examples
@@ -28,7 +52,48 @@
    to either match or be similar to the old GTK2 examples available
    with PyME.
 
+** TODO Replace SWIG
+   :PROPERTIES:
+   :CUSTOM_ID: todo-replace-swig
+   :END:
+
+   Selecting SWIG for this project in 2002 was understandable and
+   effectively the only viable option.  The options available now,
+   however, are significantly improved and some of those would resolve
+   a number of existing problems with using SWIG, particularly when
+   running code on both POSIX compliant and Windows platforms.
+
+   The long term goal is to replace SWIG by reimplementing the Python
+   bindings using a more suitable means of interfacing with the GPGME
+   C source code.
+
+*** TODO Replacement for SWIG
+    :PROPERTIES:
+    :CUSTOM_ID: todo-replace-swig-replacement
+    :END:
+
+    Decide on a replacement for SWIG.  Currently CFFI is looking like
+    the most viable candidate, but some additional testing and checks
+    are yet to be completed.
+
+** TODO API for an API
+   :PROPERTIES:
+   :CUSTOM_ID: todo-api-squared
+   :END:
+
+   A C API like GPGME is not what most modern developers think of when
+   they hear the term API. Normally they think of something they can
+   interact with like a RESTful web API.  Though RESTful is unlikely
+   given the nature of GPGME and the process of encryption, it may be
+   possible to provide a more familiar interface which can be utilised
+   by developers of other languages for which bindings are not
+   available or for which it is too difficult to create proper
+   bindings.
+
 * Project Task Details
+  :PROPERTIES:
+  :CUSTOM_ID: detailed-tasks
+  :END:
 
 ** Working examples
    :PROPERTIES:

commit 235d899a5fc24cdf9c856adbc021a69c43985c99
Author: Ben McGinnes <ben at adversary.org>
Date:   Thu Feb 15 21:30:32 2018 +1100

    TODO Documentation
    
    * Checked off the decision to stick with Org Mode.

diff --git a/lang/python/docs/TODO.org b/lang/python/docs/TODO.org
index c0ec556..1ddd394 100644
--- a/lang/python/docs/TODO.org
+++ b/lang/python/docs/TODO.org
@@ -2,7 +2,8 @@
 
 * Project Task List
 
-** TODO Documentation default format
+** DONE Documentation default format
+   CLOSED: [2018-02-15 Thu 21:29]
    :PROPERTIES:
    :CUSTOM_ID: todo-docs-default
    :END:

commit 40da5022922172ed898172956a8ccf5622e5638d
Author: Ben McGinnes <ben at adversary.org>
Date:   Thu Feb 15 21:28:07 2018 +1100

    TODO
    
    * Beginning to turn the first part of this into something kind of like
      an actual TODO list as Org Mode uses it (maybe).

diff --git a/lang/python/docs/TODO.org b/lang/python/docs/TODO.org
index 74b478d..c0ec556 100644
--- a/lang/python/docs/TODO.org
+++ b/lang/python/docs/TODO.org
@@ -1,6 +1,33 @@
 #+TITLE: Stuff To Do
 
-* TODO
+* Project Task List
+
+** TODO Documentation default format
+   :PROPERTIES:
+   :CUSTOM_ID: todo-docs-default
+   :END:
+
+   Decide on a default file format for documentation.  The two main
+   contenders being Org Mode, the default for the GnuPG Project and
+   reStructuredText, the default for Python projects.  A third option
+   of DITA XML was considered due to a number of beneficial features
+   it provides.
+
+   The decision was made to use Org Mode in order to fully integrate
+   with the rest of the GPGME and GnuPG documentation.  It is possible
+   to produce reST versions via Pandoc and DITA XML can be reached
+   through converting to either Markdown or XHTML first.
+
+** TODO GUI examples
+   :PROPERTIES:
+   :CUSTOM_ID: todo-gui-examples
+   :END:
+
+   Create some examples of using Python bindings in a GUI application
+   to either match or be similar to the old GTK2 examples available
+   with PyME.
+
+* Project Task Details
 
 ** Working examples
    :PROPERTIES:
@@ -27,12 +54,12 @@
    bindings has been removed.
 
    Current and future documentation will adhere to the GnuPG standard
-   of using Org Mode and not use the reST more commonly associated
-   with Python documentation.  The reasons for this are that this
-   project is best served as shipping with the rest of GPGME and the
-   documentation ought to match that.  Furthermore, there are aspects
-   of Org Mode's publishing features which are superior to the
-   defaults of reST, including the capacity to generate fully
+   of using Org Mode and not use the reStructuredText (reST) format
+   more commonly associated with Python documentation.  The reasons
+   for this are that this project is best served as shipping with the
+   rest of GPGME and the documentation ought to match that.  There are
+   also aspects of Org Mode's publishing features which are superior
+   to the defaults of reST, including the capacity to generate fully
    validating strict XHTML output.
 
    If reST files are required at a later point for future inclusion

commit 3c3b149996036e7ff4cc4c77ef2d97062d880409
Author: Ben McGinnes <ben at adversary.org>
Date:   Thu Feb 15 04:19:15 2018 +1100

    Short History
    
    * Fixed or updated the most fundamental errors.
    * Also included some details on which modules are available on PyPI,
      as well as what happened to the PyME commit log.

diff --git a/lang/python/docs/Short_History.org b/lang/python/docs/Short_History.org
index 2295499..e0cd877 100644
--- a/lang/python/docs/Short_History.org
+++ b/lang/python/docs/Short_History.org
@@ -50,13 +50,30 @@ return to the source.  This is a short explanation of that journey.
 
    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.
+   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
+   under the module name of =pyme3=.
 
-   In 2016 PyME was renamed to "gpg" and adopted by the upstream GnuPG
-   team.
+   In 2016 this PyME module was integrated back into the GPGME project
+   by Justus Winter.  During the course of this work Justus adjusted
+   the port to restore limited support for Python 2, but not as many
+   minor point releases as the original PyME package supports.  During
+   the course of this integration the package was renamed to more
+   accurately reflect its status as a component of GPGME.  The =pyme3=
+   module was renamed to =gpg= and adopted by the upstream GnuPG team.
+
+   In 2017 Justus departed G10code and the GnuPG team.  Following this
+   Ben returned to maintain of gpgme Python bindings and continue
+   building them from that point.
+
+* Relics of the past
+  :PROPERTIES:
+  :CUSTOM_ID: relics-past
+  :END:
+
+There are a few things, in addition to code specific factors, such as
+SWIG itself, which are worth noting here.
 
 ** The Annoyances of Git
    :PROPERTIES:
@@ -65,23 +82,82 @@ return to the source.  This is a short explanation of that journey.
 
    As anyone who has ever worked with git knows, submodules are
    horrible way to deal with pretty much anything.  In the interests
-   of avoiding migraines, that is being skipped with addition of PyME
-   to GPGME.  Instead the files will be added to the subdirectory,
-   along with a copy of the entire git log up to that point as a
-   separate file within the docs directory (old-commits.log).  As the
-   log for PyME is nearly 100KB and the log for GPGME is approximately
-   1MB, this would cause considerable bloat, as well as some
-   confusion, should the two be merged.  Hence the unfortunate, but
-   necessary, step to simply move the files.  A regular repository
-   version will be maintained should it be possible to implement this
-   better in the future.
+   of avoiding migraines, that was skipped with addition of the PyME
+   code to GPGME.
+
+   Instead the files were added to a subdirectory of the =lang/=
+   directory, along with a copy of the entire git log up to that point
+   as a separate file within the =lang/python/docs/= directory.[fn:1]
+   As the log for PyME is nearly 100KB and the log for GPGME is
+   approximately 1MB, this would cause considerable bloat, as well as
+   some confusion, should the two be merged.
+
+   Hence the unfortunate, but necessary, step to simply move the
+   files.  A regular repository version has been maintained should it
+   be possible to implement this better in the future.
 
 ** The Perils of PyPI
    :PROPERTIES:
    :CUSTOM_ID: the-perils-of-pypi
    :END:
 
-   At the current time the Python 3 fork is not available via PyPI and
-   the pip installer.  The recommended installation method is to follow
-   the instructions in lang/py3-pyme/INSTALL.  This will build the
-   necessary SWIG portions against the installed version of GPGME.
+   The early port of the Python 2 =pyme= module as =pyme3= was never
+   added to PyPI while the focus remained on development and testing
+   during 2015 and early 2016.  Later in 2016, however, when Justus
+   completed his major integration work and subsequently renamed the
+   module from =pyme3= to =gpg=, some prior releases were also
+   provided through PyPI.
+
+   Since these bindings require a matching release of the GPGME
+   libraries in order to function, it was determined that there was
+   little benefit in also providing a copy through PyPI since anyone
+   obtaining the GPGME source code would obtain the Python bindings
+   source code at the same time.  Whereas there was the potential to
+   sew confusion amongst Python users installing the module from PyPI,
+   only to discover that without the relevant C files, header files or
+   SWIG compiled binaries, the Python module did them little good.
+
+   There are only two files on PyPI which might turn up in a search
+   for this module or a sample of its content:
+
+   1. gpg (1.8.0) - Python bindings for GPGME GnuPG cryptography library
+   2. pyme (0.9.0) - Python support for GPGME GnuPG cryptography library
+
+*** GPG 1.8.0 - Python bindings for GPGME GnuPG cryptography library
+    :PROPERTIES:
+    :CUSTOM_ID: pypi-gpgme-180
+    :END:
+
+    This is the most recent version to reach PyPI and is the version
+    of the official Pyhon bindings which shipped with GPGME 1.8.0.  If
+    you have GPGME 1.8.0 installed and /only/ 1.8.0 installed, then it
+    is probably safe to use this copy from PyPI.
+
+    As there have been a lot of changes since the release of GPGME
+    1.8.0, the GnuPG Project recommends not using this version of the
+    module and instead installing the current version of GPGME along
+    with the Python bindings included with that package.
+
+*** PyME 0.9.0 - Python support for GPGME GnuPG cryptography library
+    :PROPERTIES:
+    :CUSTOM_ID: pypi-gpgme-90
+    :END:
+
+    This is the last release of the PyME bindings maintained by Martin
+    Albrecht and is only compatible with Python 2, it will not work
+    with Python 3.  This is the version of the software from which the
+    port from Python 2 to Python 3 code was made in 2015.
+
+    Users of the more recent Python bindings will recognise numerous
+    points of similarity, but also significant differences.  It is
+    likely that the more recent official bindings will feel "more
+    pythonic."
+
+    For those using Python 2, there is essentially no harm in using
+    this module, but it may lack a number of more recent features
+    added to GPGME.
+
+* Footnotes
+
+[fn:1] The entire PyME git log and other preceding VCS logs are
+located in the =gpgme/lanf/python/docs/old-commits.log= file.

commit 7c662d22a8f7d2e6ad6532014f2ecc1769de16fb
Author: Ben McGinnes <ben at adversary.org>
Date:   Thu Feb 15 01:03:12 2018 +1100

    Subsectioned history
    
    * Split the main parts down into subsections.
    * Still need to cull the incorrect stuff towards the end and add more
      recent changes.

diff --git a/lang/python/docs/Short_History.org b/lang/python/docs/Short_History.org
index 11a87c6..2295499 100644
--- a/lang/python/docs/Short_History.org
+++ b/lang/python/docs/Short_History.org
@@ -20,12 +20,22 @@ return to the source.  This is a short explanation of that journey.
    ensuring it worked he stopped supporting it, though he left his
    work available on his Gopher site.
 
+** Keeping the flame alive
+   :PROPERTIES:
+   :CUSTOM_ID: keeping-the-flame-alive
+   :END:
+
    A couple of years later the project was picked up by Igor Belyi and
    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.
 
+** Passing the torch
+   :PROPERTIES:
+   :CUSTOM_ID: passing-the-torch
+   :END:
+
    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
@@ -33,6 +43,11 @@ return to the source.  This is a short explanation of that journey.
    the original PyME release in Python 2.6 and 2.7 (available via
    PyPI).
 
+** Coming full circle
+   :PROPERTIES:
+   :CUSTOM_ID: ouroboros 
+   :END:
+
    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

commit a1bc710c5fb7a7d2253434c1443e33e019020a55
Author: Ben McGinnes <ben at adversary.org>
Date:   Wed Feb 14 22:44:27 2018 +1100

    History
    
    * 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).

diff --git a/lang/python/docs/Short_History.org b/lang/python/docs/Short_History.org
index fa40d6e..11a87c6 100644
--- a/lang/python/docs/Short_History.org
+++ b/lang/python/docs/Short_History.org
@@ -1,56 +1,72 @@
-#+TITLE: A Short History of gpg bindings for Python
-
-In 2002 John Goerzen released PyME; Python bindings for the GPGME module
-which utilised the current release of Python of the time (Python 2.2 or
-2.3) and SWIG. Shortly after creating it and ensuring it worked he
-stopped supporting it, though left his work available on his Gopher
-site.
-
-A couple of years later the project was picked up by Igor Belyi and
-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.
-
-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:
-  :CUSTOM_ID: the-annoyances-of-git
-  :END:
+#+TITLE: A Short History of the GPGME bindings for Python
 
-As anyone who has ever worked with git knows, submodules are horrible
-way to deal with pretty much anything. In the interests of avoiding
-migraines, that is being skipped with addition of PyME to GPGME. Instead
-the files will be added to the subdirectory, along with a copy of the
-entire git log up to that point as a separate file within the docs
-directory (old-commits.log). As the log for PyME is nearly 100KB and the
-log for GPGME is approximately 1MB, this would cause considerable bloat,
-as well as some confusion, should the two be merged. Hence the
-unfortunate, but necessary, step to simply move the files. A regular
-repository version will be maintained should it be possible to implement
-this better in the future.
-
-* The Perils of PyPI
+* Overview
   :PROPERTIES:
-  :CUSTOM_ID: the-perils-of-pypi
+  :CUSTOM_ID: overview
   :END:
 
-At the current time the Python 3 fork is not available via PyPI and the
-pip installer. The recommended installation method is to follow the
-instructions in lang/py3-pyme/INSTALL. This will build the necessary
-SWIG portions against the installed version of GPGME.
+The GPGME Python bindings passed through many hands and numerous
+phases before, after a fifteen year journey, coming full circle to
+return to the source.  This is a short explanation of that journey.
+
+** In the beginning
+   :PROPERTIES:
+   :CUSTOM_ID: in-the-begining
+   :END:
+
+   In 2002 John Goerzen released PyME; Python bindings for the GPGME
+   module which utilised the current release of Python of the time
+   (Python 2.2 or 2.3) and SWIG.  Shortly after creating it and
+   ensuring it worked he stopped supporting it, though he left his
+   work available on his Gopher site.
+
+   A couple of years later the project was picked up by Igor Belyi and
+   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.
+
+   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:
+   :CUSTOM_ID: the-annoyances-of-git
+   :END:
+
+   As anyone who has ever worked with git knows, submodules are
+   horrible way to deal with pretty much anything.  In the interests
+   of avoiding migraines, that is being skipped with addition of PyME
+   to GPGME.  Instead the files will be added to the subdirectory,
+   along with a copy of the entire git log up to that point as a
+   separate file within the docs directory (old-commits.log).  As the
+   log for PyME is nearly 100KB and the log for GPGME is approximately
+   1MB, this would cause considerable bloat, as well as some
+   confusion, should the two be merged.  Hence the unfortunate, but
+   necessary, step to simply move the files.  A regular repository
+   version will be maintained should it be possible to implement this
+   better in the future.
+
+** The Perils of PyPI
+   :PROPERTIES:
+   :CUSTOM_ID: the-perils-of-pypi
+   :END:
+
+   At the current time the Python 3 fork is not available via PyPI and
+   the pip installer.  The recommended installation method is to follow
+   the instructions in lang/py3-pyme/INSTALL.  This will build the
+   necessary SWIG portions against the installed version of GPGME.

commit fccd2ea3871f5d63fb038db0733a34f9c5d550c3
Author: Ben McGinnes <ben at adversary.org>
Date:   Wed Feb 14 22:28:50 2018 +1100

    TODO
    
    * Updated TODO.
    * The entirety of the old TODO has been replaced with either more
      relevant tasks or goals for the examples and a more measured
      approach to the docs and why, in this project, Org Mode trumps reST,
      even though it's Python through and through.

diff --git a/lang/python/docs/TODO.org b/lang/python/docs/TODO.org
index 8930b80..74b478d 100644
--- a/lang/python/docs/TODO.org
+++ b/lang/python/docs/TODO.org
@@ -1,22 +1,47 @@
 #+TITLE: Stuff To Do
 
-* Working examples
-  :PROPERTIES:
-  :CUSTOM_ID: working-examples
-  :END:
-
-The examples from the Python 2 code base do not work and it appears that
-they don't under Python 2 either. These ought to be replaced or updated
-with examples from the GPGME documentation.
-
-* Documentation
-  :PROPERTIES:
-  :CUSTOM_ID: documentation
-  :END:
-
-Currently this appears to be buried in the debian/ directory for some
-unknown reason, probably pertaining to one of the other developers.
-Documentation is to be moved to a more appropriate docs/ directory and
-produced using reST in preparation for inevitable publication by way of
-Sphinx and the existing infrastructure at readthedocs.org or the
-projects new home at gnupg.org.
+* TODO
+
+** Working examples
+   :PROPERTIES:
+   :CUSTOM_ID: working-examples
+   :END:
+
+   The old GUI examples were unable to be retained since they depended
+   on GTK2 and Python 2's integration with GTK2.
+
+   Current GPGME examples so far only include command line tools or
+   basic Python code for use with either Python 2.7 or Python 3.4 and
+   above.
+
+   Future GUI examples ought to utilise available GUI modules and
+   libraries supported by Python 3.  This may include Qt frameworks,
+   Tkinter, GTK3 or something else entirely.
+
+** Documentation
+   :PROPERTIES:
+   :CUSTOM_ID: documentation
+   :END:
+
+   The legacy documentation which no longer applies to the Python
+   bindings has been removed.
+
+   Current and future documentation will adhere to the GnuPG standard
+   of using Org Mode and not use the reST more commonly associated
+   with Python documentation.  The reasons for this are that this
+   project is best served as shipping with the rest of GPGME and the
+   documentation ought to match that.  Furthermore, there are aspects
+   of Org Mode's publishing features which are superior to the
+   defaults of reST, including the capacity to generate fully
+   validating strict XHTML output.
+
+   If reST files are required at a later point for future inclusion
+   with other Python packages, then that format can be generated from
+   the .org files with Pandoc before being leveraged by either
+   Docutils, Sphinx or something else.
+
+   While there are some advanced typesetting features of reST which
+   are not directly available to Org Mode, more often than not those
+   features are best implemented with either HTML and CSS, with LaTeX
+   to produce a PDF or via a number of XML solutions.  Both reST and
+   Org Mode have multiple paths by which to achieve all of these.

commit 487ed9337e8e07d1c63e53b785cc39e3bd35ff6e
Author: Ben McGinnes <ben at adversary.org>
Date:   Wed Feb 14 21:25:45 2018 +1100

    TODO
    
    * Removed reST version of file.

diff --git a/lang/python/docs/TODO.rst b/lang/python/docs/TODO.rst
deleted file mode 100644
index a398ccd..0000000
--- a/lang/python/docs/TODO.rst
+++ /dev/null
@@ -1,23 +0,0 @@
-===========
-Stuff To Do
-===========
-
-----------------
-Working examples
-----------------
-
-The examples from the Python 2 code base do not work and it appears
-that they don't under Python 2 either.  These ought to be replaced or
-updated with examples from the GPGME documentation.
-
-
--------------
-Documentation
--------------
-
-Currently this appears to be buried in the debian/ directory for some
-unknown reason, probably pertaining to one of the other developers.
-Documentation is to be moved to a more appropriate docs/ directory and
-produced using reST in preparation for inevitable publication by way
-of Sphinx and the existing infrastructure at readthedocs.org or the
-projects new home at gnupg.org.

commit c4fa4216199b16c1f169725c0a1e0a40764b1ebb
Author: Ben McGinnes <ben at adversary.org>
Date:   Wed Feb 14 21:24:54 2018 +1100

    TODO
    
    * Converted document from reST to org-mode.

diff --git a/lang/python/docs/TODO.org b/lang/python/docs/TODO.org
new file mode 100644
index 0000000..8930b80
--- /dev/null
+++ b/lang/python/docs/TODO.org
@@ -0,0 +1,22 @@
+#+TITLE: Stuff To Do
+
+* Working examples
+  :PROPERTIES:
+  :CUSTOM_ID: working-examples
+  :END:
+
+The examples from the Python 2 code base do not work and it appears that
+they don't under Python 2 either. These ought to be replaced or updated
+with examples from the GPGME documentation.
+
+* Documentation
+  :PROPERTIES:
+  :CUSTOM_ID: documentation
+  :END:
+
+Currently this appears to be buried in the debian/ directory for some
+unknown reason, probably pertaining to one of the other developers.
+Documentation is to be moved to a more appropriate docs/ directory and
+produced using reST in preparation for inevitable publication by way of
+Sphinx and the existing infrastructure at readthedocs.org or the
+projects new home at gnupg.org.

commit 1d48b04cfb3d1de654f3995578e9434a6b7b2fed
Author: Ben McGinnes <ben at adversary.org>
Date:   Wed Feb 14 21:23:04 2018 +1100

    Short History
    
    * Removed reST version.

diff --git a/lang/python/docs/Short_History.rst b/lang/python/docs/Short_History.rst
deleted file mode 100644
index 8f60927..0000000
--- a/lang/python/docs/Short_History.rst
+++ /dev/null
@@ -1,57 +0,0 @@
-==========================================
-A Short History of gpg bindings for Python
-==========================================
-
-In 2002 John Goerzen released PyME; Python bindings for the GPGME
-module which utilised the current release of Python of the time
-(Python 2.2 or 2.3) and SWIG.  Shortly after creating it and ensuring
-it worked he stopped supporting it, though left his work available on
-his Gopher site.
-
-A couple of years later the project was picked up by Igor Belyi and
-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.
-
-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
----------------------
-
-As anyone who has ever worked with git knows, submodules are horrible
-way to deal with pretty much anything.  In the interests of avoiding
-migraines, that is being skipped with addition of PyME to GPGME.
-Instead the files will be added to the subdirectory, along with a copy
-of the entire git log up to that point as a separate file within the
-docs directory (old-commits.log).  As the log for PyME is nearly 100KB
-and the log for GPGME is approximately 1MB, this would cause
-considerable bloat, as well as some confusion, should the two be
-merged.  Hence the unfortunate, but necessary, step to simply move the
-files.  A regular repository version will be maintained should it be
-possible to implement this better in the future.
-
-
-------------------
-The Perils of PyPI
-------------------
-
-At the current time the Python 3 fork is not available via PyPI and
-the pip installer.  The recommended installation method is to follow
-the instructions in lang/py3-pyme/INSTALL.  This will build the
-necessary SWIG portions against the installed version of GPGME.

commit d86fd7c54c462ef23c70370624e07fcc1bc15121
Author: Ben McGinnes <ben at adversary.org>
Date:   Wed Feb 14 21:21:58 2018 +1100

    Short History
    
    * Converted document from reST to org-mode.

diff --git a/lang/python/docs/Short_History.org b/lang/python/docs/Short_History.org
new file mode 100644
index 0000000..fa40d6e
--- /dev/null
+++ b/lang/python/docs/Short_History.org
@@ -0,0 +1,56 @@
+#+TITLE: A Short History of gpg bindings for Python
+
+In 2002 John Goerzen released PyME; Python bindings for the GPGME module
+which utilised the current release of Python of the time (Python 2.2 or
+2.3) and SWIG. Shortly after creating it and ensuring it worked he
+stopped supporting it, though left his work available on his Gopher
+site.
+
+A couple of years later the project was picked up by Igor Belyi and
+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.
+
+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:
+  :CUSTOM_ID: the-annoyances-of-git
+  :END:
+
+As anyone who has ever worked with git knows, submodules are horrible
+way to deal with pretty much anything. In the interests of avoiding
+migraines, that is being skipped with addition of PyME to GPGME. Instead
+the files will be added to the subdirectory, along with a copy of the
+entire git log up to that point as a separate file within the docs
+directory (old-commits.log). As the log for PyME is nearly 100KB and the
+log for GPGME is approximately 1MB, this would cause considerable bloat,
+as well as some confusion, should the two be merged. Hence the
+unfortunate, but necessary, step to simply move the files. A regular
+repository version will be maintained should it be possible to implement
+this better in the future.
+
+* The Perils of PyPI
+  :PROPERTIES:
+  :CUSTOM_ID: the-perils-of-pypi
+  :END:
+
+At the current time the Python 3 fork is not available via PyPI and the
+pip installer. The recommended installation method is to follow the
+instructions in lang/py3-pyme/INSTALL. This will build the necessary
+SWIG portions against the installed version of GPGME.

-----------------------------------------------------------------------


hooks/post-receive
-- 
GnuPG Made Easy
http://git.gnupg.org




More information about the Gnupg-commits mailing list