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
+
+- 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"^$")
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(''), "")
@@ -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("