[Python-modules-commits] [python-keyring] 01/04: Import python-keyring_10.4.0.orig.tar.gz

Dmitry Shachnev mitya57 at moszumanska.debian.org
Tue Jun 27 11:04:48 UTC 2017


This is an automated email from the git hooks/post-receive script.

mitya57 pushed a commit to branch master
in repository python-keyring.

commit 3fd847fa6c0701902415733fb883d83271c4be06
Author: Dmitry Shachnev <mitya57 at gmail.com>
Date:   Tue Jun 27 13:56:22 2017 +0300

    Import python-keyring_10.4.0.orig.tar.gz
---
 .readthedocs.yml                       |  5 +++++
 CHANGES.rst                            | 20 +++++++++++++++++
 PKG-INFO                               | 40 +++++++++++++++++++++++++++++-----
 README.rst                             | 38 ++++++++++++++++++++++++++++----
 appveyor.yml                           |  2 +-
 docs/conf.py                           | 34 +++++------------------------
 docs/requirements.txt                  |  1 -
 keyring.egg-info/PKG-INFO              | 40 +++++++++++++++++++++++++++++-----
 keyring.egg-info/SOURCES.txt           |  3 +--
 keyring.egg-info/requires.txt          | 11 +++++++++-
 keyring/backends/kwallet.py            |  5 +++--
 keyring/core.py                        |  1 -
 keyring/tests/backends/test_Windows.py | 10 +++++++++
 keyring/util/escape.py                 |  2 +-
 setup.cfg                              |  1 -
 setup.py                               | 13 ++++++++++-
 tests/requirements.txt                 |  2 --
 tox.ini                                |  7 +++---
 18 files changed, 177 insertions(+), 58 deletions(-)

diff --git a/.readthedocs.yml b/.readthedocs.yml
new file mode 100644
index 0000000..8ae4468
--- /dev/null
+++ b/.readthedocs.yml
@@ -0,0 +1,5 @@
+python:
+  version: 3
+  extra_requirements:
+    - docs
+  pip_install: true
diff --git a/CHANGES.rst b/CHANGES.rst
index 9e7ee49..afb8a77 100644
--- a/CHANGES.rst
+++ b/CHANGES.rst
@@ -1,3 +1,23 @@
+10.4.0
+------
+
+* #279: In Kwallet, pass mainloop to SessionBus.
+
+* #278: Unpin pywin32-ctypes, but blacklist known
+  incompatible versions.
+
+10.3.3
+------
+
+* #278: Pin to pywin32-ctypes 0.0.1 to avoid apparent
+  breakage introduced in 0.1.0.
+
+10.3.2
+------
+
+* #267: More leniently unescape lowercased characters as
+  they get re-cased by ConfigParser.
+
 10.3.1
 ------
 
diff --git a/PKG-INFO b/PKG-INFO
index 98289e6..5b5be44 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: keyring
-Version: 10.3.1
+Version: 10.4.0
 Summary: Store and access your passwords safely.
 Home-page: https://github.com/jaraco/keyring
 Author: Jason R. Coombs
@@ -45,8 +45,7 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         * `Windows Credential Vault
           <http://windows.microsoft.com/en-us/windows7/what-is-credential-manager>`_
         
-        Other keyring implementations are provided in the `keyrings.alt
-        package <https://pypi.python.org/pypi/keyrings.alt>`_.
+        Other keyring implementations are provided in the `keyrings.alt package`_.
         
         -------------------------
         Installation Instructions
@@ -151,6 +150,20 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
             default-keyring=simplekeyring.SimpleKeyring
             keyring-path=/home/kang/pyworkspace/python-keyring-lib/demo/
         
+        Third-Party Backends
+        ====================
+        
+        In addition to the backends provided by the core keyring package for
+        the most common and secure use cases, there
+        are additional keyring backend implementations available for other
+        use-cases. Simply install them to make them available:
+        
+        - `keyrings.alt <https://pypi.org/project/keyrings.alt>`_ - "alternate",
+          less common backends, originally part of the core package, but now
+          available for opt-in.
+        - `keyring_jeepney <https://pypi.python.org/pypi/keyring_jeepney>`__ - a
+          pure Python backend using the secret service DBus API for desktop
+          Linux.
         
         Write your own keyring backend
         ==============================
@@ -162,6 +175,18 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         
         See the ``backend`` module for more detail on the interface of this class.
         
+        Keyring employs entry points to allow any third-party package to implement
+        backends without any modification to the keyring itself. Those interested in
+        creating new backends are encouraged to create new, third-party packages
+        in the ``keyrings`` namespace, in a manner modeled by the `keyrings.alt
+        package <https://github.com/jaraco/keyrings.alt>`_. See the ``setup.py`` file
+        in that project for a hint on how to create the requisite entry points.
+        Backends that prove essential may be considered for inclusion in the core
+        library, although the ease of installing these third-party packages should
+        mean that extensions may be readily available.
+        
+        If you've created an extension for Keyring, please submit a pull request to
+        have your extension mentioned as an available extension.
         
         Set the keyring in runtime
         ==========================
@@ -223,7 +248,6 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
           'password'
         
         
-        
         Using Keyring on headless Linux systems
         =======================================
         
@@ -265,6 +289,12 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         * ``delete_password(service, username)``: Delete the password stored in
           keyring. If the password does not exist, it will raise an exception.
         
+        In all cases, the parameters (``service``, ``username``, ``password``)
+        should be Unicode text. On Python 2, these parameters are accepted as
+        simple ``str`` in the default encoding as they will be implicitly
+        decoded to text. Some backends may accept ``bytes`` for these parameters,
+        but such usage is discouraged.
+        
         ------------
         Get involved
         ------------
@@ -301,7 +331,7 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         Using tox
         ---------
         
-        Keyring prefers use of `tox <https://pypi.org/project/tox>` to run tests.
+        Keyring prefers use of `tox <https://pypi.org/project/tox>`_ to run tests.
         Simply install and invoke ``tox``.
         
         This technique is the one used by the Travis-CI script.
diff --git a/README.rst b/README.rst
index f0b97a1..5cbcb9a 100644
--- a/README.rst
+++ b/README.rst
@@ -37,8 +37,7 @@ These recommended keyring backends are supported by the Python keyring lib:
 * `Windows Credential Vault
   <http://windows.microsoft.com/en-us/windows7/what-is-credential-manager>`_
 
-Other keyring implementations are provided in the `keyrings.alt
-package <https://pypi.python.org/pypi/keyrings.alt>`_.
+Other keyring implementations are provided in the `keyrings.alt package`_.
 
 -------------------------
 Installation Instructions
@@ -143,6 +142,20 @@ directory in the project checkout::
     default-keyring=simplekeyring.SimpleKeyring
     keyring-path=/home/kang/pyworkspace/python-keyring-lib/demo/
 
+Third-Party Backends
+====================
+
+In addition to the backends provided by the core keyring package for
+the most common and secure use cases, there
+are additional keyring backend implementations available for other
+use-cases. Simply install them to make them available:
+
+- `keyrings.alt <https://pypi.org/project/keyrings.alt>`_ - "alternate",
+  less common backends, originally part of the core package, but now
+  available for opt-in.
+- `keyring_jeepney <https://pypi.python.org/pypi/keyring_jeepney>`__ - a
+  pure Python backend using the secret service DBus API for desktop
+  Linux.
 
 Write your own keyring backend
 ==============================
@@ -154,6 +167,18 @@ attribute and three functions: ``get_password()``, ``set_password()``, and
 
 See the ``backend`` module for more detail on the interface of this class.
 
+Keyring employs entry points to allow any third-party package to implement
+backends without any modification to the keyring itself. Those interested in
+creating new backends are encouraged to create new, third-party packages
+in the ``keyrings`` namespace, in a manner modeled by the `keyrings.alt
+package <https://github.com/jaraco/keyrings.alt>`_. See the ``setup.py`` file
+in that project for a hint on how to create the requisite entry points.
+Backends that prove essential may be considered for inclusion in the core
+library, although the ease of installing these third-party packages should
+mean that extensions may be readily available.
+
+If you've created an extension for Keyring, please submit a pull request to
+have your extension mentioned as an available extension.
 
 Set the keyring in runtime
 ==========================
@@ -215,7 +240,6 @@ virtual environment on Ubuntu 16.04.  No config file was used.::
   'password'
 
 
-
 Using Keyring on headless Linux systems
 =======================================
 
@@ -257,6 +281,12 @@ The keyring lib has a few functions:
 * ``delete_password(service, username)``: Delete the password stored in
   keyring. If the password does not exist, it will raise an exception.
 
+In all cases, the parameters (``service``, ``username``, ``password``)
+should be Unicode text. On Python 2, these parameters are accepted as
+simple ``str`` in the default encoding as they will be implicitly
+decoded to text. Some backends may accept ``bytes`` for these parameters,
+but such usage is discouraged.
+
 ------------
 Get involved
 ------------
@@ -293,7 +323,7 @@ in which it can be tested. Recommended technique is described below.
 Using tox
 ---------
 
-Keyring prefers use of `tox <https://pypi.org/project/tox>` to run tests.
+Keyring prefers use of `tox <https://pypi.org/project/tox>`_ to run tests.
 Simply install and invoke ``tox``.
 
 This technique is the one used by the Travis-CI script.
diff --git a/appveyor.yml b/appveyor.yml
index df671b0..d15473b 100644
--- a/appveyor.yml
+++ b/appveyor.yml
@@ -3,7 +3,7 @@ environment:
   APPVEYOR: true
 
   matrix:
-    - PYTHON: "C:\\Python35-x64"
+    - PYTHON: "C:\\Python36-x64"
     - PYTHON: "C:\\Python27-x64"
 
 install:
diff --git a/docs/conf.py b/docs/conf.py
index 7402c7a..8bc8298 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -1,52 +1,30 @@
 #!/usr/bin/env python3
 # -*- coding: utf-8 -*-
 
-import os
-import sys
-import subprocess
-
-if 'check_output' not in dir(subprocess):
-	import subprocess32 as subprocess
-
 extensions = [
     'sphinx.ext.autodoc',
+    'jaraco.packaging.sphinx',
     'rst.linker',
 ]
 
-# General information about the project.
-
-root = os.path.join(os.path.dirname(__file__), '..')
-setup_script = os.path.join(root, 'setup.py')
-fields = ['--name', '--version', '--url', '--author']
-dist_info_cmd = [sys.executable, setup_script] + fields
-output_bytes = subprocess.check_output(dist_info_cmd, cwd=root)
-project, version, url, author = output_bytes.decode('utf-8').strip().split('\n')
-
-copyright = '2016 ' + author
-
-# The full version, including alpha/beta/rc tags.
-release = version
-
 master_doc = 'index'
 
 link_files = {
 	'../CHANGES.rst': dict(
 		using=dict(
 			GH='https://github.com',
-			project=project,
-			url=url,
 		),
 		replace=[
 			dict(
-				pattern=r"(Issue )?#(?P<issue>\d+)",
-				url='{url}/issues/{issue}',
+				pattern=r'(Issue )?#(?P<issue>\d+)',
+				url='{package_url}/issues/{issue}',
 			),
 			dict(
-				pattern=r"^(?m)((?P<scm_version>v?\d+(\.\d+){1,2}))\n[-=]+\n",
-				with_scm="{text}\n{rev[timestamp]:%d %b %Y}\n",
+				pattern=r'^(?m)((?P<scm_version>v?\d+(\.\d+){1,2}))\n[-=]+\n',
+				with_scm='{text}\n{rev[timestamp]:%d %b %Y}\n',
 			),
 			dict(
-				pattern=r"PEP[- ](?P<pep_number>\d+)",
+				pattern=r'PEP[- ](?P<pep_number>\d+)',
 				url='https://www.python.org/dev/peps/pep-{pep_number:0>4}/',
 			),
 		],
diff --git a/docs/requirements.txt b/docs/requirements.txt
deleted file mode 100644
index 442df9f..0000000
--- a/docs/requirements.txt
+++ /dev/null
@@ -1 +0,0 @@
-rst.linker
diff --git a/keyring.egg-info/PKG-INFO b/keyring.egg-info/PKG-INFO
index 98289e6..5b5be44 100644
--- a/keyring.egg-info/PKG-INFO
+++ b/keyring.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: keyring
-Version: 10.3.1
+Version: 10.4.0
 Summary: Store and access your passwords safely.
 Home-page: https://github.com/jaraco/keyring
 Author: Jason R. Coombs
@@ -45,8 +45,7 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         * `Windows Credential Vault
           <http://windows.microsoft.com/en-us/windows7/what-is-credential-manager>`_
         
-        Other keyring implementations are provided in the `keyrings.alt
-        package <https://pypi.python.org/pypi/keyrings.alt>`_.
+        Other keyring implementations are provided in the `keyrings.alt package`_.
         
         -------------------------
         Installation Instructions
@@ -151,6 +150,20 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
             default-keyring=simplekeyring.SimpleKeyring
             keyring-path=/home/kang/pyworkspace/python-keyring-lib/demo/
         
+        Third-Party Backends
+        ====================
+        
+        In addition to the backends provided by the core keyring package for
+        the most common and secure use cases, there
+        are additional keyring backend implementations available for other
+        use-cases. Simply install them to make them available:
+        
+        - `keyrings.alt <https://pypi.org/project/keyrings.alt>`_ - "alternate",
+          less common backends, originally part of the core package, but now
+          available for opt-in.
+        - `keyring_jeepney <https://pypi.python.org/pypi/keyring_jeepney>`__ - a
+          pure Python backend using the secret service DBus API for desktop
+          Linux.
         
         Write your own keyring backend
         ==============================
@@ -162,6 +175,18 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         
         See the ``backend`` module for more detail on the interface of this class.
         
+        Keyring employs entry points to allow any third-party package to implement
+        backends without any modification to the keyring itself. Those interested in
+        creating new backends are encouraged to create new, third-party packages
+        in the ``keyrings`` namespace, in a manner modeled by the `keyrings.alt
+        package <https://github.com/jaraco/keyrings.alt>`_. See the ``setup.py`` file
+        in that project for a hint on how to create the requisite entry points.
+        Backends that prove essential may be considered for inclusion in the core
+        library, although the ease of installing these third-party packages should
+        mean that extensions may be readily available.
+        
+        If you've created an extension for Keyring, please submit a pull request to
+        have your extension mentioned as an available extension.
         
         Set the keyring in runtime
         ==========================
@@ -223,7 +248,6 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
           'password'
         
         
-        
         Using Keyring on headless Linux systems
         =======================================
         
@@ -265,6 +289,12 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         * ``delete_password(service, username)``: Delete the password stored in
           keyring. If the password does not exist, it will raise an exception.
         
+        In all cases, the parameters (``service``, ``username``, ``password``)
+        should be Unicode text. On Python 2, these parameters are accepted as
+        simple ``str`` in the default encoding as they will be implicitly
+        decoded to text. Some backends may accept ``bytes`` for these parameters,
+        but such usage is discouraged.
+        
         ------------
         Get involved
         ------------
@@ -301,7 +331,7 @@ Description: .. image:: https://img.shields.io/pypi/v/keyring.svg
         Using tox
         ---------
         
-        Keyring prefers use of `tox <https://pypi.org/project/tox>` to run tests.
+        Keyring prefers use of `tox <https://pypi.org/project/tox>`_ to run tests.
         Simply install and invoke ``tox``.
         
         This technique is the one used by the Travis-CI script.
diff --git a/keyring.egg-info/SOURCES.txt b/keyring.egg-info/SOURCES.txt
index 45b9cca..b73f966 100644
--- a/keyring.egg-info/SOURCES.txt
+++ b/keyring.egg-info/SOURCES.txt
@@ -1,4 +1,5 @@
 .gitignore
+.readthedocs.yml
 .travis-osx
 .travis.yml
 CHANGES.rst
@@ -13,7 +14,6 @@ tox.ini
 docs/conf.py
 docs/history.rst
 docs/index.rst
-docs/requirements.txt
 keyring/__init__.py
 keyring/__main__.py
 keyring/backend.py
@@ -52,5 +52,4 @@ keyring/util/__init__.py
 keyring/util/escape.py
 keyring/util/platform_.py
 keyring/util/properties.py
-tests/requirements.txt
 tests/test_packaging.py
\ No newline at end of file
diff --git a/keyring.egg-info/requires.txt b/keyring.egg-info/requires.txt
index 61ab707..0187da2 100644
--- a/keyring.egg-info/requires.txt
+++ b/keyring.egg-info/requires.txt
@@ -3,4 +3,13 @@
 secretstorage
 
 [:sys_platform=="win32"]
-pywin32-ctypes
+pywin32-ctypes!=0.1.0,!=0.1.1
+
+[docs]
+sphinx
+jaraco.packaging>=3.2
+rst.linker>=1.9
+
+[testing]
+pytest>=2.8
+pytest-sugar
diff --git a/keyring/backends/kwallet.py b/keyring/backends/kwallet.py
index 21a2309..559f263 100644
--- a/keyring/backends/kwallet.py
+++ b/keyring/backends/kwallet.py
@@ -7,6 +7,7 @@ from ..util import properties
 
 try:
     import dbus
+    from dbus.mainloop.glib import DBusGMainLoop
 except ImportError:
     pass
 
@@ -27,7 +28,7 @@ class DBusKeyring(KeyringBackend):
         if 'dbus' not in globals():
             raise RuntimeError('python-dbus not installed')
         try:
-            bus = dbus.SessionBus()
+            bus = dbus.SessionBus(mainloop=DBusGMainLoop())
         except dbus.DBusException as exc:
             raise RuntimeError(exc.get_dbus_message())
         try:
@@ -67,7 +68,7 @@ class DBusKeyring(KeyringBackend):
     def connected(self, service):
         if self.handle >= 0:
             return True
-        bus = dbus.SessionBus()
+        bus = dbus.SessionBus(mainloop=DBusGMainLoop())
         wId = 0
         try:
             remote_obj = bus.get_object(self.bus_name, self.object_path)
diff --git a/keyring/core.py b/keyring/core.py
index 293cb4c..1ccd883 100644
--- a/keyring/core.py
+++ b/keyring/core.py
@@ -13,7 +13,6 @@ from .py33compat import max
 from . import logger
 from . import backend
 from .util import platform_ as platform
-from .util import once
 from .backends import fail
 
 
diff --git a/keyring/tests/backends/test_Windows.py b/keyring/tests/backends/test_Windows.py
index 24cce66..60821c7 100644
--- a/keyring/tests/backends/test_Windows.py
+++ b/keyring/tests/backends/test_Windows.py
@@ -3,6 +3,8 @@ from __future__ import print_function
 import sys
 import unittest
 
+import pytest
+
 import keyring.backends.Windows
 from ..test_backend import BackendBasicTests
 
@@ -20,3 +22,11 @@ class WinVaultKeyringTestCase(BackendBasicTests, unittest.TestCase):
 
     def init_keyring(self):
         return keyring.backends.Windows.WinVaultKeyring()
+
+
+ at pytest.mark.skipif('sys.platform != "win32"')
+def test_winvault_always_viable():
+    """
+    The WinVault backend should always be viable on Windows.
+    """
+    assert keyring.backends.Windows.WinVaultKeyring.viable
diff --git a/keyring/util/escape.py b/keyring/util/escape.py
index cbfd32a..3bfbeb8 100644
--- a/keyring/util/escape.py
+++ b/keyring/util/escape.py
@@ -55,6 +55,6 @@ def unescape(value):
     """
     re_esc = re.compile(
         # the pattern must be bytes to operate on bytes
-        ESCAPE_FMT.replace('%02X', '(?P<code>[0-9A-F]{2})').encode('ascii')
+        ESCAPE_FMT.replace('%02X', '(?P<code>[0-9A-Fa-f]{2})').encode('ascii')
     )
     return re_esc.sub(_unescape_code, value.encode('ascii')).decode('utf-8')
diff --git a/setup.cfg b/setup.cfg
index 447e8f2..b72bd8e 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -8,5 +8,4 @@ universal = 1
 [egg_info]
 tag_build = 
 tag_date = 0
-tag_svn_revision = 0
 
diff --git a/setup.py b/setup.py
index a886061..d90977b 100644
--- a/setup.py
+++ b/setup.py
@@ -28,10 +28,21 @@ params = dict(
     install_requires=[
     ],
     extras_require={
-        ':sys_platform=="win32"': ['pywin32-ctypes'],
+        ':sys_platform=="win32"': [
+            'pywin32-ctypes!=0.1.0,!=0.1.1',
+        ],
         ':sys_platform=="linux2" or sys_platform=="linux"': [
             "secretstorage",
         ],
+        'testing': [
+            'pytest>=2.8',
+            'pytest-sugar',
+        ],
+        'docs': [
+            'sphinx',
+            'jaraco.packaging>=3.2',
+            'rst.linker>=1.9',
+        ],
     },
     setup_requires=[
         'setuptools_scm>=1.15.0',
diff --git a/tests/requirements.txt b/tests/requirements.txt
deleted file mode 100644
index ab48405..0000000
--- a/tests/requirements.txt
+++ /dev/null
@@ -1,2 +0,0 @@
-pytest >= 2.8
-subprocess32; python_version=="2.6"
diff --git a/tox.ini b/tox.ini
index d740130..1ae06ef 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,6 +1,7 @@
-[testenv]
-deps =
-	-rtests/requirements.txt
+[tox]
+minversion = 2.4
 
+[testenv]
 commands = py.test {posargs}
 usedevelop = True
+extras = testing

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-keyring.git



More information about the Python-modules-commits mailing list