Hello community,

here is the log from the commit of package python-daiquiri for 
openSUSE:Leap:15.2 checked in at 2020-04-08 12:48:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:15.2/python-daiquiri (Old)
 and      /work/SRC/openSUSE:Leap:15.2/.python-daiquiri.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-daiquiri"

Wed Apr  8 12:48:54 2020 rev:12 rq:790949 version:2.1.1

Changes:
--------
--- /work/SRC/openSUSE:Leap:15.2/python-daiquiri/python-daiquiri.changes        
2020-03-09 18:04:25.744789622 +0100
+++ 
/work/SRC/openSUSE:Leap:15.2/.python-daiquiri.new.3248/python-daiquiri.changes  
    2020-04-08 12:49:23.334373681 +0200
@@ -1,0 +2,10 @@
+Thu Apr  2 09:11:34 UTC 2020 - Marketa Calabkova <[email protected]>
+
+- Update to 2.1.1
+  * Add missing Python 3.8 to setup, tox and Mergify
+  * build(setup): replace pbr by setuptools_scm
+  * Parameterizes overwriting `sys.excepthook` to allow it to be turned 
+    off in environments where a different excepthook is needed.
+  * fix(journal): handle extra keys correctly
+
+-------------------------------------------------------------------

Old:
----
  daiquiri-1.6.0.tar.gz

New:
----
  daiquiri-2.1.1.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-daiquiri.spec ++++++
--- /var/tmp/diff_new_pack.4DQ9Nh/_old  2020-04-08 12:49:23.826373938 +0200
+++ /var/tmp/diff_new_pack.4DQ9Nh/_new  2020-04-08 12:49:23.830373939 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-daiquiri
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,16 +18,17 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-daiquiri
-Version:        1.6.0
+Version:        2.1.1
 Release:        0
 Summary:        Library to configure Python logging
 License:        Apache-2.0
 Group:          Development/Languages/Python
 URL:            https://github.com/jd/daiquiri
 Source:         
https://files.pythonhosted.org/packages/source/d/daiquiri/daiquiri-%{version}.tar.gz
-BuildRequires:  %{python_module pbr}
+BuildRequires:  %{python_module mock}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module python-json-logger}
+BuildRequires:  %{python_module setuptools_scm}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module six}
 BuildRequires:  fdupes
@@ -55,7 +56,7 @@
 
 %files %{python_files}
 %license LICENSE
-%doc AUTHORS ChangeLog README.rst
+%doc README.rst
 %{python_sitelib}/*
 
 %changelog

++++++ daiquiri-1.6.0.tar.gz -> daiquiri-2.1.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/.circleci/config.yml 
new/daiquiri-2.1.1/.circleci/config.yml
--- old/daiquiri-1.6.0/.circleci/config.yml     2019-08-06 18:42:24.000000000 
+0200
+++ new/daiquiri-2.1.1/.circleci/config.yml     2019-12-16 09:30:18.000000000 
+0100
@@ -1,51 +1,48 @@
-version: 2
+version: 2.1
 
-jobs:
-  pep8:
-    docker:
-      - image: circleci/python:3.7
+commands:
+  tox:
+    parameters:
+      target:
+        type: string
     steps:
       - checkout
       - run:
           command: |
             sudo pip install tox
-            tox -e pep8
+            tox -e << parameters.target >>
+
+jobs:
+  pep8:
+    docker:
+      - image: circleci/python:3.8
+    steps:
+      - tox: {target: pep8}
   docs:
     docker:
-      - image: circleci/python:3.7
+      - image: circleci/python:3.8
     steps:
-      - checkout
-      - run:
-          command: |
-            sudo pip install tox
-            tox -e docs
+      - tox: {target: docs}
   py27:
     docker:
       - image: circleci/python:2.7
     steps:
-      - checkout
-      - run:
-          command: |
-            sudo pip install tox
-            tox -e py27
+      - tox: {target: py27}
   py36:
     docker:
       - image: circleci/python:3.6
     steps:
-      - checkout
-      - run:
-          command: |
-            sudo pip install tox
-            tox -e py36
+      - tox: {target: py36}
   py37:
     docker:
       - image: circleci/python:3.7
     steps:
-      - checkout
-      - run:
-          command: |
-            sudo pip install tox
-            tox -e py37
+      - tox: {target: py37}
+  py38:
+    docker:
+      - image: circleci/python:3.8
+    steps:
+      - tox: {target: py38}
 
 
 workflows:
@@ -57,3 +54,5 @@
       - py27
       - py36
       - py37
+      - py38
+      - docs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/.gitignore 
new/daiquiri-2.1.1/.gitignore
--- old/daiquiri-1.6.0/.gitignore       1970-01-01 01:00:00.000000000 +0100
+++ new/daiquiri-2.1.1/.gitignore       2020-02-27 10:41:05.000000000 +0100
@@ -0,0 +1,8 @@
+*.py[cod]
+# Packages
+*.egg*
+*.egg-info
+dist
+.tox
+doc/build
+build
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/.mergify.yml 
new/daiquiri-2.1.1/.mergify.yml
--- old/daiquiri-1.6.0/.mergify.yml     2019-08-06 18:42:24.000000000 +0200
+++ new/daiquiri-2.1.1/.mergify.yml     2019-12-16 09:33:55.000000000 +0100
@@ -7,6 +7,7 @@
       - "status-success=ci/circleci: py27"
       - "status-success=ci/circleci: py36"
       - "status-success=ci/circleci: py37"
+      - "status-success=ci/circleci: py38"
       - "#approved-reviews-by>=1"
       - label!=work-in-progress
     actions:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/AUTHORS new/daiquiri-2.1.1/AUTHORS
--- old/daiquiri-1.6.0/AUTHORS  2019-08-06 19:18:33.000000000 +0200
+++ new/daiquiri-2.1.1/AUTHORS  1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-Blake VandeMerwe <[email protected]>
-Chris Lamb <[email protected]>
-Dave Brochu <[email protected]>
-Fridolin Pokorny <[email protected]>
-John Still <[email protected]>
-Julien Danjou <[email protected]>
-Kurt Wheeler <[email protected]>
-Martín Gaitán <[email protected]>
-Tristan Cacqueray <[email protected]>
-davebrochu <[email protected]>
-mergify[bot] <mergify[bot]@users.noreply.github.com>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/ChangeLog new/daiquiri-2.1.1/ChangeLog
--- old/daiquiri-1.6.0/ChangeLog        2019-08-06 19:18:33.000000000 +0200
+++ new/daiquiri-2.1.1/ChangeLog        1970-01-01 01:00:00.000000000 +0100
@@ -1,128 +0,0 @@
-CHANGES
-=======
-
-1.6.0
------
-
-* Fix getLogger when called twice and passing different extras
-* Replace Travis by CircleCI
-* Add documentation for the ExtrasFormatter class
-* Move to Mergify v2
-
-1.5.0
------
-
-* formatter: enable extra keywords by default
-
-1.4.0
------
-
-* Fix JSON encoding with extra keys
-* Support Python 3.7
-* Add build to .gitignore
-* Fix Mergify conf
-* Enable Mergify
-* Switch to pytest
-
-1.3.0
------
-
-* Add tests for color and extras formatters
-* Add formatter.ExtrasFormatter and formatter.ColorExtrasFormatter
-* Add KeywordArgumentAdapter.setLevel method for Python 2
-* Fix example flake8
-* Remove useless ignore in flake8
-* Use flake8-import-order
-* Ignore eggs directory
-* Remove hacking as a pep8 dependency
-
-1.2.2
------
-
-* Use Travis to push source and wheel on tag on PyPI
-* Remove doc path hack
-* doc: add missing import
-* doc: add rootdir to sys.path
-* Document JournalHandler
-* Document outputs
-* Use autodoc do publish documentation
-
-1.2.1
------
-
-* Fix wrong constructor call
-
-1.2.0
------
-
-* string configuration shortcuts (#18)
-
-1.1.0
------
-
-* Add RotatingFile and TimedRotatingFile output classes (#14)
-* Add missing dot
-* fixing gramatical errors and typos for readthedocs
-* changing logging level explicitly for examples (#11)
-* Update index.rst
-* Mention flavor
-* Clarify that the JSON formatter requires the python-json-logger package
-* Indent levelname by default
-
-1.0.1
------
-
-* Make sure Stream is usable even if \`isatty\` is not exposed
-* Fix tests in Python 3
-
-1.0.0
------
-
-* Doc update
-* Add warning capture support
-* Keep using adapter variable
-* Simplify log setup
-
-0.1.1
------
-
-* Compute program\_logger before the closure
-
-0.1.0
------
-
-* Make default excepthook log the full traceback
-
-0.0.4
------
-
-* Fix test
-
-0.0.3
------
-
-* Set default log level to WARNING
-* Revert "Allow to specify log level for the app and root"
-
-0.0.2
------
-
-* Allow to specify log level for the app and root
-
-0.0.1
------
-
-* output: set the debug level to None by default
-* Improve documentation
-* Fix extra example
-* Add utility function to set default log levels
-* Rework output so color hints are not logged
-* Change program name handling
-* Improve README
-* Make JSON optional
-* Fix Python 2.7 test with StringIO
-* Rename target to output
-* Add a test for JSON formatter
-* Add daiquiri target to manage log target+formatter+level
-* Allow to log to any stream
-* Import
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/PKG-INFO new/daiquiri-2.1.1/PKG-INFO
--- old/daiquiri-1.6.0/PKG-INFO 2019-08-06 19:18:35.000000000 +0200
+++ new/daiquiri-2.1.1/PKG-INFO 2020-03-09 10:12:39.477614400 +0100
@@ -1,11 +1,11 @@
 Metadata-Version: 2.1
 Name: daiquiri
-Version: 1.6.0
+Version: 2.1.1
 Summary: Library to configure Python logging easily
 Home-page: https://github.com/jd/daiquiri
 Author: Julien Danjou
 Author-email: [email protected]
-License: UNKNOWN
+License: Apache 2.0
 Description: =======================================
         daiquiri -- Python logging setup helper
         =======================================
@@ -25,7 +25,6 @@
         * Free software: Apache license
         * Source: https://github.com/jd/daiquiri
         
-        
 Platform: UNKNOWN
 Classifier: Intended Audience :: Information Technology
 Classifier: Intended Audience :: System Administrators
@@ -37,6 +36,6 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
 Provides-Extra: test
 Provides-Extra: systemd
-Provides-Extra: json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri/__init__.py 
new/daiquiri-2.1.1/daiquiri/__init__.py
--- old/daiquiri-1.6.0/daiquiri/__init__.py     2019-08-06 19:17:54.000000000 
+0200
+++ new/daiquiri-2.1.1/daiquiri/__init__.py     2020-02-27 10:43:46.000000000 
+0100
@@ -68,7 +68,7 @@
 
 
 def setup(level=logging.WARNING, outputs=[output.STDERR], program_name=None,
-          capture_warnings=True):
+          capture_warnings=True, set_excepthook=True):
     """Setup Python logging.
 
     This will setup basic handlers for Python logging.
@@ -94,13 +94,14 @@
 
     root_logger.setLevel(level)
 
-    program_logger = logging.getLogger(program_name)
+    if set_excepthook:
+        program_logger = logging.getLogger(program_name)
 
-    def logging_excepthook(exc_type, value, tb):
-        program_logger.critical(
-            "".join(traceback.format_exception(exc_type, value, tb)))
+        def logging_excepthook(exc_type, value, tb):
+            program_logger.critical(
+                "".join(traceback.format_exception(exc_type, value, tb)))
 
-    sys.excepthook = logging_excepthook
+        sys.excepthook = logging_excepthook
 
     if capture_warnings:
         logging.captureWarnings(True)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri/formatter.py 
new/daiquiri-2.1.1/daiquiri/formatter.py
--- old/daiquiri-1.6.0/daiquiri/formatter.py    2018-07-18 17:30:54.000000000 
+0200
+++ new/daiquiri-2.1.1/daiquiri/formatter.py    2020-01-16 11:05:47.000000000 
+0100
@@ -11,10 +11,7 @@
 #    under the License.
 import logging
 
-try:
-    from pythonjsonlogger import jsonlogger
-except ImportError:
-    jsonlogger = None
+from pythonjsonlogger import jsonlogger
 
 
 DEFAULT_FORMAT = (
@@ -143,6 +140,28 @@
         return s
 
 
+class DatadogFormatter(jsonlogger.JsonFormatter):
+    def __init__(self):
+        super(DatadogFormatter, self).__init__(timestamp=True)
+
+    def add_fields(self, log_record, record, message_dict):
+        super(DatadogFormatter, self).add_fields(
+            log_record, record, message_dict
+        )
+        log_record["status"] = record.levelname.lower()
+        log_record["logger"] = {
+            "name": record.name,
+        }
+        if record.exc_info:
+            log_record["error"] = {
+                "kind":  record.exc_info[0].__name__,
+                "stack": message_dict.get("stack_info"),
+                "message": message_dict.get("exc_info"),
+            }
+            log_record.pop("exc_info", None)
+            log_record.pop("stack_info", None)
+
+
 TEXT_FORMATTER = ColorExtrasFormatter(fmt=DEFAULT_EXTRAS_FORMAT)
-if jsonlogger:
-    JSON_FORMATTER = jsonlogger.JsonFormatter()
+JSON_FORMATTER = jsonlogger.JsonFormatter()
+DATADOG_FORMATTER = DatadogFormatter()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri/handlers.py 
new/daiquiri-2.1.1/daiquiri/handlers.py
--- old/daiquiri-1.6.0/daiquiri/handlers.py     2018-07-16 19:28:28.000000000 
+0200
+++ new/daiquiri-2.1.1/daiquiri/handlers.py     2020-03-09 10:10:46.000000000 
+0100
@@ -89,7 +89,7 @@
             extras['EXCEPTION_INFO'] = record.exc_info
 
         if hasattr(record, "_daiquiri_extra_keys"):
-            for k, v in record._daiquiri_extra_keys:
+            for k in record._daiquiri_extra_keys:
                 if k != "_daiquiri_extra_keys":
                     extras[k.upper()] = getattr(record, k)
 
@@ -101,9 +101,24 @@
 
     def format(self, record):
         if hasattr(self.stream, "isatty"):
-            record._stream_is_a_tty = self.stream.isatty()
+            try:
+                record._stream_is_a_tty = self.stream.isatty()
+            except ValueError:
+                # Stream has been closed, usually during interpretor shutdown
+                record._stream_is_a_tty = False
         else:
             record._stream_is_a_tty = False
         s = super(TTYDetectorStreamHandler, self).format(record)
         del record._stream_is_a_tty
         return s
+
+
+class PlainTextSocketHandler(logging.handlers.SocketHandler):
+    """Socket handler that uses format and encode the record."""
+
+    def __init__(self, hostname, port, encoding="utf-8"):
+        self.encoding = encoding
+        super(PlainTextSocketHandler, self).__init__(hostname, port)
+
+    def makePickle(self, record):
+        return self.format(record).encode(self.encoding) + b"\n"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri/output.py 
new/daiquiri-2.1.1/daiquiri/output.py
--- old/daiquiri-1.6.0/daiquiri/output.py       2017-08-15 10:42:54.000000000 
+0200
+++ new/daiquiri-2.1.1/daiquiri/output.py       2020-01-16 11:05:47.000000000 
+0100
@@ -228,6 +228,15 @@
         return getattr(syslog, facility)
 
 
+class Datadog(Output):
+    def __init__(self, hostname="127.0.0.1", port=10518,
+                 formatter=formatter.DATADOG_FORMATTER, level=None):
+        super(Datadog, self).__init__(
+            handlers.PlainTextSocketHandler(hostname, port),
+            formatter=formatter, level=level,
+        )
+
+
 preconfigured = {
     'stderr': STDERR,
     'stdout': STDOUT,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri/tests/test_output.py 
new/daiquiri-2.1.1/daiquiri/tests/test_output.py
--- old/daiquiri-1.6.0/daiquiri/tests/test_output.py    2018-03-08 
18:17:19.000000000 +0100
+++ new/daiquiri-2.1.1/daiquiri/tests/test_output.py    2020-01-16 
11:05:47.000000000 +0100
@@ -9,13 +9,31 @@
 #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 #    License for the specific language governing permissions and limitations
 #    under the License.
+import json
+import logging
 import syslog
 import unittest
 from datetime import timedelta
 
+import mock
+
+import daiquiri
 from daiquiri import output
 
 
+class DatadogMatcher(object):
+    def __init__(self, expected):
+        self.expected = expected
+
+    def __eq__(self, other):
+        return json.loads(other.decode()[:-1]) == self.expected
+
+    def __repr__(self):
+        return "b'" + json.dumps(
+            self.expected, default=lambda x: "unserializable"
+        ) + "\\n'"
+
+
 class TestOutput(unittest.TestCase):
     def test_find_facility(self):
         self.assertEqual(syslog.LOG_USER,
@@ -70,3 +88,36 @@
         ]
         for t in error_cases:
             self.assertRaises(AttributeError, fn, t)
+
+    def test_datadog(self):
+        with mock.patch('socket.socket') as mock_socket:
+            socket_instance = mock_socket.return_value
+            daiquiri.setup(outputs=(daiquiri.output.Datadog(),),
+                           level=logging.DEBUG)
+            logger = daiquiri.getLogger()
+            logger.error("foo", bar=1)
+            logger.info("bar")
+            try:
+                1 / 0
+            except ZeroDivisionError:
+                logger = daiquiri.getLogger("saymyname")
+                logger.error("backtrace", exc_info=True)
+            socket_instance.connect.assert_called_once_with(
+                ("127.0.0.1", 10518)
+            )
+            socket_instance.sendall.assert_has_calls([
+                mock.call(DatadogMatcher({
+                    "status": "error", "message": "foo", "bar": 1,
+                    "logger": {"name": "root"}, "timestamp": mock.ANY,
+                })),
+                mock.call(DatadogMatcher({
+                    "status": "info", "message": "bar",
+                    "logger": {"name": "root"}, "timestamp": mock.ANY,
+                })),
+                mock.call(DatadogMatcher({
+                    "status": "error", "message": "backtrace",
+                    "logger": {"name": "saymyname"}, "timestamp": mock.ANY,
+                    "error": {"kind": "ZeroDivisionError", "stack": None,
+                              "message": mock.ANY}
+                })),
+            ])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri.egg-info/PKG-INFO 
new/daiquiri-2.1.1/daiquiri.egg-info/PKG-INFO
--- old/daiquiri-1.6.0/daiquiri.egg-info/PKG-INFO       2019-08-06 
19:18:33.000000000 +0200
+++ new/daiquiri-2.1.1/daiquiri.egg-info/PKG-INFO       2020-03-09 
10:12:39.000000000 +0100
@@ -1,11 +1,11 @@
 Metadata-Version: 2.1
 Name: daiquiri
-Version: 1.6.0
+Version: 2.1.1
 Summary: Library to configure Python logging easily
 Home-page: https://github.com/jd/daiquiri
 Author: Julien Danjou
 Author-email: [email protected]
-License: UNKNOWN
+License: Apache 2.0
 Description: =======================================
         daiquiri -- Python logging setup helper
         =======================================
@@ -25,7 +25,6 @@
         * Free software: Apache license
         * Source: https://github.com/jd/daiquiri
         
-        
 Platform: UNKNOWN
 Classifier: Intended Audience :: Information Technology
 Classifier: Intended Audience :: System Administrators
@@ -37,6 +36,6 @@
 Classifier: Programming Language :: Python :: 3
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
 Provides-Extra: test
 Provides-Extra: systemd
-Provides-Extra: json
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri.egg-info/SOURCES.txt 
new/daiquiri-2.1.1/daiquiri.egg-info/SOURCES.txt
--- old/daiquiri-1.6.0/daiquiri.egg-info/SOURCES.txt    2019-08-06 
19:18:34.000000000 +0200
+++ new/daiquiri-2.1.1/daiquiri.egg-info/SOURCES.txt    2020-03-09 
10:12:39.000000000 +0100
@@ -1,7 +1,6 @@
+.gitignore
 .mergify.yml
 .testr.conf
-AUTHORS
-ChangeLog
 LICENSE
 README.rst
 setup.cfg
@@ -15,7 +14,6 @@
 daiquiri.egg-info/PKG-INFO
 daiquiri.egg-info/SOURCES.txt
 daiquiri.egg-info/dependency_links.txt
-daiquiri.egg-info/not-zip-safe
 daiquiri.egg-info/pbr.json
 daiquiri.egg-info/requires.txt
 daiquiri.egg-info/top_level.txt
@@ -27,6 +25,7 @@
 doc/source/index.rst
 examples/advanced_extra.py
 examples/basic.py
+examples/excepthook.py
 examples/extra.py
 examples/files.py
 examples/formatter.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri.egg-info/not-zip-safe 
new/daiquiri-2.1.1/daiquiri.egg-info/not-zip-safe
--- old/daiquiri-1.6.0/daiquiri.egg-info/not-zip-safe   2017-09-29 
14:39:02.000000000 +0200
+++ new/daiquiri-2.1.1/daiquiri.egg-info/not-zip-safe   1970-01-01 
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri.egg-info/pbr.json 
new/daiquiri-2.1.1/daiquiri.egg-info/pbr.json
--- old/daiquiri-1.6.0/daiquiri.egg-info/pbr.json       2019-08-06 
19:18:33.000000000 +0200
+++ new/daiquiri-2.1.1/daiquiri.egg-info/pbr.json       2020-01-16 
11:06:41.000000000 +0100
@@ -1 +1 @@
-{"git_version": "d73e387", "is_release": true}
\ No newline at end of file
+{"git_version": "66933d7", "is_release": true}
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/daiquiri.egg-info/requires.txt 
new/daiquiri-2.1.1/daiquiri.egg-info/requires.txt
--- old/daiquiri-1.6.0/daiquiri.egg-info/requires.txt   2019-08-06 
19:18:33.000000000 +0200
+++ new/daiquiri-2.1.1/daiquiri.egg-info/requires.txt   2020-03-09 
10:12:39.000000000 +0100
@@ -1,5 +1,3 @@
-
-[json]
 python-json-logger
 
 [systemd]
@@ -8,3 +6,4 @@
 [test]
 pytest
 six
+mock
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/doc/source/index.rst 
new/daiquiri-2.1.1/doc/source/index.rst
--- old/daiquiri-1.6.0/doc/source/index.rst     2019-08-06 18:42:24.000000000 
+0200
+++ new/daiquiri-2.1.1/doc/source/index.rst     2020-02-27 10:43:46.000000000 
+0100
@@ -20,11 +20,6 @@
 
   pip install daiquiri
 
-If you want to enable support of JSON output, you must also install the `json`
-flavor::
-
-  pip install daiquiri[json]
-
 If you want to enable systemd support, you must install the `systemd` flavor::
 
   pip install daiquiri[systemd]
@@ -129,6 +124,18 @@
 
 .. literalinclude:: ../../examples/files.py
 
+
+Excepthook Integration
+----------------------
+
+The `daiquiri.setup` method accepts an optional `set_excepthook` keyword 
argument
+(defaults to `True`) which controls whether or not Daiquiri will override the
+global `sys.excepthook`. Disabling this can be useful when using Daiquiri 
alongside
+another library which requires setting the excepthook, e.g. an error reporting
+library.
+
+.. literalinclude:: ../../examples/excepthook.py
+
 API
 ===
 .. automodule:: daiquiri
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/examples/excepthook.py 
new/daiquiri-2.1.1/examples/excepthook.py
--- old/daiquiri-1.6.0/examples/excepthook.py   1970-01-01 01:00:00.000000000 
+0100
+++ new/daiquiri-2.1.1/examples/excepthook.py   2020-02-27 10:43:46.000000000 
+0100
@@ -0,0 +1,7 @@
+import daiquiri
+
+daiquiri.setup(set_excepthook=False)
+logger = daiquiri.getLogger(__name__)
+
+# This exception will not pass through Daiquiri:
+raise Exception("Something went wrong")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/setup.cfg new/daiquiri-2.1.1/setup.cfg
--- old/daiquiri-1.6.0/setup.cfg        2019-08-06 19:18:35.000000000 +0200
+++ new/daiquiri-2.1.1/setup.cfg        2020-03-09 10:12:39.478208500 +0100
@@ -1,8 +1,8 @@
 [metadata]
 name = daiquiri
+license = Apache 2.0
 summary = Library to configure Python logging easily
-description-file = 
-       README.rst
+long_description = file:README.rst
 author = Julien Danjou
 author-email = [email protected]
 home-page = https://github.com/jd/daiquiri
@@ -17,25 +17,22 @@
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3.6
        Programming Language :: Python :: 3.7
+       Programming Language :: Python :: 3.8
 
-[files]
+[options]
+install_requires = 
+       python-json-logger
 packages = 
        daiquiri
 
-[extras]
+[options.extras_require]
 test = 
        pytest
        six
-json = 
-       python-json-logger
+       mock
 systemd = 
        systemd-python>=234
 
-[build_sphinx]
-all_files = 1
-build-dir = doc/build
-source-dir = doc/source
-
 [wheel]
 universal = 1
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/setup.py new/daiquiri-2.1.1/setup.py
--- old/daiquiri-1.6.0/setup.py 2017-09-29 14:38:54.000000000 +0200
+++ new/daiquiri-2.1.1/setup.py 2020-02-27 10:41:05.000000000 +0100
@@ -1,5 +1,7 @@
+#!/usr/bin/env python
 import setuptools
 
 setuptools.setup(
-    setup_requires=['pbr'],
-    pbr=True)
+    setup_requires=['setuptools_scm'],
+    use_scm_version=True,
+)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/daiquiri-1.6.0/tox.ini new/daiquiri-2.1.1/tox.ini
--- old/daiquiri-1.6.0/tox.ini  2019-08-06 18:42:24.000000000 +0200
+++ new/daiquiri-2.1.1/tox.ini  2020-02-27 10:41:05.000000000 +0100
@@ -1,11 +1,11 @@
 [tox]
-envlist = py36,py35,py27,pep8,docs
+envlist = py27,py36,py37,py38,pep8,docs
 
 [testenv]
 whitelist_externals = sh
-deps = -e.[test,json]
+deps = -e.[test]
 commands =
-  pytest daiquiri
+  pytest {posargs}
   sh -c "for example in examples/*.py; do python $example; done"
   sh -c "rm errors.log everything.log"
 


Reply via email to