Hello community,

here is the log from the commit of package python-Pympler for openSUSE:Factory 
checked in at 2019-11-29 15:55:40
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Pympler (Old)
 and      /work/SRC/openSUSE:Factory/.python-Pympler.new.26869 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Pympler"

Fri Nov 29 15:55:40 2019 rev:2 rq:750650 version:0.8

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Pympler/python-Pympler.changes    
2019-08-14 11:37:29.488695578 +0200
+++ /work/SRC/openSUSE:Factory/.python-Pympler.new.26869/python-Pympler.changes 
2019-11-29 15:55:43.345012804 +0100
@@ -1,0 +2,14 @@
+Mon Nov 25 00:39:27 UTC 2019 - Steve Kowalik <[email protected]>
+
+- Update to 0.8:
+  Added
+  * Python 3.8 support
+  * Compatibility with Django Debug Toolbar 2.x
+  Removed
+  * Python 3.3 support
+  * Compatibility with Django Debug Toolbar 1.x
+  Fixed
+  * Include dicts which aren't tracked by garbage collector in summary diff
+  * Fix formatting of Python 3 class names in summary diff
+
+-------------------------------------------------------------------

Old:
----
  Pympler-0.7.tar.gz

New:
----
  Pympler-0.8.tar.gz

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

Other differences:
------------------
++++++ python-Pympler.spec ++++++
--- /var/tmp/diff_new_pack.Nj8Dke/_old  2019-11-29 15:55:44.361012221 +0100
+++ /var/tmp/diff_new_pack.Nj8Dke/_new  2019-11-29 15:55:44.365012219 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-Pympler
 #
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,7 +18,7 @@
 
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-Pympler
-Version:        0.7
+Version:        0.8
 Release:        0
 Summary:        A tool to analyze the memory behavior of Python objects
 License:        Apache-2.0

++++++ Pympler-0.7.tar.gz -> Pympler-0.8.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/PKG-INFO new/Pympler-0.8/PKG-INFO
--- old/Pympler-0.7/PKG-INFO    2019-04-05 21:45:31.000000000 +0200
+++ new/Pympler-0.8/PKG-INFO    2019-11-12 20:30:59.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: Pympler
-Version: 0.7
+Version: 0.8
 Summary: A development tool to measure, monitor and analyze the memory 
behavior of Python objects.
 Home-page: https://github.com/pympler/pympler
 Author: Jean Brouwers, Ludwig Haehne, Robert Schuppenies
@@ -24,8 +24,8 @@
         visualisation and class tracker statistics.
         
         Pympler is written entirely in Python, with no dependencies to
-        external libraries. It has been tested with Python 2.7, 3.3, 3.4,
-        3.5, 3.6, 3.7 on Linux, Windows and MacOS X.
+        external libraries. It has been tested with Python 2.7, 3.4, 3.5, 3.6,
+        3.7, 3.8 on Linux, Windows and MacOS X.
         
 Platform: any
 Classifier: Development Status :: 4 - Beta
@@ -37,9 +37,9 @@
 Classifier: Programming Language :: Python :: 2
 Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.3
 Classifier: Programming Language :: Python :: 3.4
 Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
 Classifier: Topic :: Software Development :: Bug Tracking
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/README.md new/Pympler-0.8/README.md
--- old/Pympler-0.7/README.md   2018-09-02 11:16:32.000000000 +0200
+++ new/Pympler-0.8/README.md   2019-11-12 20:26:23.000000000 +0100
@@ -11,8 +11,8 @@
 
 If any errors are reported, check whether your Python version is supported.
 Pympler is written entirely in Python, with no dependencies other than standard
-Python modules and libraries. Pympler works with Python 2.7, 3.3, 3.4, 3.5, 3.6
-and 3.7.
+Python modules and libraries. Pympler works with Python 2.7, 3.4, 3.5, 3.6, 3.7
+and 3.8.
 
 Installation
 ------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/pympler/metadata.py 
new/Pympler-0.8/pympler/metadata.py
--- old/Pympler-0.7/pympler/metadata.py 2019-04-05 21:44:55.000000000 +0200
+++ new/Pympler-0.8/pympler/metadata.py 2019-11-12 20:30:21.000000000 +0100
@@ -5,7 +5,7 @@
 """
 
 project_name = 'Pympler'
-version      = '0.7'
+version      = '0.8'
 url          = 'https://github.com/pympler/pympler'
 license      = 'Apache License, Version 2.0'
 author       = 'Jean Brouwers, Ludwig Haehne, Robert Schuppenies'
@@ -31,6 +31,6 @@
 visualisation and class tracker statistics.
 
 Pympler is written entirely in Python, with no dependencies to
-external libraries. It has been tested with Python 2.7, 3.3, 3.4,
-3.5, 3.6, 3.7 on Linux, Windows and MacOS X.
+external libraries. It has been tested with Python 2.7, 3.4, 3.5, 3.6,
+3.7, 3.8 on Linux, Windows and MacOS X.
 '''
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/pympler/muppy.py 
new/Pympler-0.8/pympler/muppy.py
--- old/Pympler-0.7/pympler/muppy.py    2017-03-18 21:40:59.000000000 +0100
+++ new/Pympler-0.8/pympler/muppy.py    2019-11-12 20:26:23.000000000 +0100
@@ -44,7 +44,7 @@
         # the objects referenced by them
         refs = get_referents(o)
         for ref in refs:
-            if not _is_containerobject(ref):
+            if not gc.is_tracked(ref):
                 # we already got the container objects, now we only add
                 # non-container objects
                 res.append(ref)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/pympler/panels.py 
new/Pympler-0.8/pympler/panels.py
--- old/Pympler-0.7/pympler/panels.py   2018-09-02 13:01:24.000000000 +0200
+++ new/Pympler-0.8/pympler/panels.py   2019-11-10 22:55:24.000000000 +0100
@@ -58,13 +58,13 @@
             self._tracker.track_class(cls)
         self._tracker.create_snapshot('before')
         self.record_stats({'before': ProcessMemoryInfo()})
-
-    def process_response(self, request, response):
+        response = super(MemoryPanel, self).process_request(request)
         self.record_stats({'after': ProcessMemoryInfo()})
         self._tracker.create_snapshot('after')
         stats = self._tracker.stats
         stats.annotate()
         self.record_stats({'stats': stats})
+        return response
 
     def enable_instrumentation(self):
         self._tracker = ClassTracker()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/pympler/summary.py 
new/Pympler-0.8/pympler/summary.py
--- old/Pympler-0.7/pympler/summary.py  2018-02-11 12:47:14.000000000 +0100
+++ new/Pympler-0.8/pympler/summary.py  2019-11-10 22:56:00.000000000 +0100
@@ -248,9 +248,8 @@
 
 
 # regular expressions used by _repr to replace default type representations
-type_prefix = re.compile(r"^<type '")
+type_repr = re.compile(r"^<(type|class) '(\S+)'>$")
 address = re.compile(r' at 0x[0-9a-f]+')
-type_suffix = re.compile(r"'>$")
 
 
 def _repr(o, verbosity=1):
@@ -276,8 +275,7 @@
         res = representations[t][verbosity](o)
 
     res = address.sub('', res)
-    res = type_prefix.sub('', res)
-    res = type_suffix.sub('', res)
+    res = type_repr.sub(r'\2', res)
 
     return res
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/pympler/tracker.py 
new/Pympler-0.8/pympler/tracker.py
--- old/Pympler-0.7/pympler/tracker.py  2017-01-04 08:35:15.000000000 +0100
+++ new/Pympler-0.8/pympler/tracker.py  2019-11-12 20:26:23.000000000 +0100
@@ -213,7 +213,7 @@
             # the objects referenced by them
             refs = muppy.get_referents(o)
             for ref in refs:
-                if not muppy._is_containerobject(ref):
+                if not gc.is_tracked(ref):
                     # we already got the container objects, now we only add
                     # non-container objects
                     res.append(ref)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/setup.py new/Pympler-0.8/setup.py
--- old/Pympler-0.7/setup.py    2018-05-16 09:17:26.000000000 +0200
+++ new/Pympler-0.8/setup.py    2019-11-12 20:26:23.000000000 +0100
@@ -114,11 +114,11 @@
                        'Programming Language :: Python :: 2',
                        'Programming Language :: Python :: 2.7',
                        'Programming Language :: Python :: 3',
-                       'Programming Language :: Python :: 3.3',
                        'Programming Language :: Python :: 3.4',
                        'Programming Language :: Python :: 3.5',
                        'Programming Language :: Python :: 3.6',
                        'Programming Language :: Python :: 3.7',
+                       'Programming Language :: Python :: 3.8',
                        'Topic :: Software Development :: Bug Tracking',
                        ],
           cmdclass={'try': PreinstallTestCommand,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/test/asizeof/test_asizeof.py 
new/Pympler-0.8/test/asizeof/test_asizeof.py
--- old/Pympler-0.7/test/asizeof/test_asizeof.py        2019-04-05 
21:30:20.000000000 +0200
+++ new/Pympler-0.8/test/asizeof/test_asizeof.py        2019-11-10 
22:56:00.000000000 +0100
@@ -63,18 +63,13 @@
                 i += 1
 
         gen = infinite_gen()
+        asizeof.asizeof(gen, code=True)
+        self.assertEqual(next(gen), 1)
         s1 = asizeof.asizeof(gen, code=True)
-        for i in gen:
-            self.assertEqual(i, 1)
-            break
-        for i in gen:
-            self.assertEqual(i, 2)
-            break
+        self.assertEqual(next(gen), 2)
         s2 = asizeof.asizeof(gen, code=True)
         s3 = asizeof.asizeof(gen, code=False)
-        for i in gen:
-            self.assertEqual(i, 3)
-            break
+        self.assertEqual(next(gen), 3)
         self.assertEqual(s1, s2)
         self.assertNotEqual(s3, 0)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/test/muppy/test_muppy.py 
new/Pympler-0.8/test/muppy/test_muppy.py
--- old/Pympler-0.7/test/muppy/test_muppy.py    2016-10-01 19:47:59.000000000 
+0200
+++ new/Pympler-0.8/test/muppy/test_muppy.py    2019-11-12 20:26:23.000000000 
+0100
@@ -206,6 +206,16 @@
         self.assertEqual(gc.collect(), 0)
         gc.enable()
 
+    def test_untracked_containers(self):
+        """Test whether untracked container objects are detected.
+        """
+        untracked = {}
+        tracked = {'untracked': untracked}
+        self.assertTrue(gc.is_tracked(tracked))
+        self.assertFalse(gc.is_tracked(untracked))
+        objects = [id(o) for o in muppy.get_objects()]
+        self.assertTrue(id(untracked) in objects)
+
 
 def suite():
     suite = unittest.makeSuite(MuppyTest,'test')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Pympler-0.7/test/muppy/test_summary.py 
new/Pympler-0.8/test/muppy/test_summary.py
--- old/Pympler-0.7/test/muppy/test_summary.py  2016-10-01 19:47:59.000000000 
+0200
+++ new/Pympler-0.8/test/muppy/test_summary.py  2019-11-10 22:56:00.000000000 
+0100
@@ -5,14 +5,11 @@
 from sys import getsizeof
 
 from pympler import summary, muppy
+from pympler.util.compat import StringIO
 
 
 class SummaryTest(unittest.TestCase):
 
-    class DevNull(object):
-        def write(self, text):
-            pass
-
     def test_repr(self):
         """Test that the right representation is returned. """
         self.assert_(summary._repr(''), "<type 'str'>")
@@ -57,11 +54,14 @@
         """Test summary can be printed."""
         try:
             self._stdout = sys.stdout
-            sys.stdout = self.DevNull()
+            stream = StringIO()
+            sys.stdout = stream
             sum1 = summary.summarize(muppy.get_objects())
             sum2 = summary.summarize(muppy.get_objects())
             sumdiff = summary.get_diff(sum1, sum2)
             summary.print_(sumdiff)
+            self.assertIn('str', stream.getvalue())
+            self.assertNotIn("<class 'str", stream.getvalue())
         finally:
             sys.stdout = self._stdout
 


Reply via email to