Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-intervaltree for openSUSE:Factory checked in at 2022-07-26 19:44:13 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-intervaltree (Old) and /work/SRC/openSUSE:Factory/.python-intervaltree.new.1533 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-intervaltree" Tue Jul 26 19:44:13 2022 rev:3 rq:990898 version:3.1.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-intervaltree/python-intervaltree.changes 2019-01-08 12:30:38.680130467 +0100 +++ /work/SRC/openSUSE:Factory/.python-intervaltree.new.1533/python-intervaltree.changes 2022-07-26 19:44:38.269826339 +0200 @@ -1,0 +2,11 @@ +Sun Jul 24 18:03:31 UTC 2022 - Dirk M??ller <dmuel...@suse.com> + +- update to 3.1.0: + - Dropped support for Python 3.4, added Python 3.8 + - Add `__slots__` optimization in Node class, should give performance improvement + - Fixed: + - Restore universal wheels + - Bytes/str type incompatibility in setup.py + - New version of distutils rejects version suffixes of `.postNN`, use `aNN` instead + +------------------------------------------------------------------- Old: ---- intervaltree-3.0.2.tar.gz New: ---- intervaltree-3.1.0.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-intervaltree.spec ++++++ --- /var/tmp/diff_new_pack.leGbYc/_old 2022-07-26 19:44:38.721756504 +0200 +++ /var/tmp/diff_new_pack.leGbYc/_new 2022-07-26 19:44:38.721756504 +0200 @@ -1,7 +1,7 @@ # # spec file for package python-intervaltree # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -18,12 +18,12 @@ %{?!python_module:%define python_module() python-%{**} python3-%{**}} Name: python-intervaltree -Version: 3.0.2 +Version: 3.1.0 Release: 0 Summary: Editable interval tree data structure for Python License: Apache-2.0 Group: Development/Languages/Python -Url: https://github.com/chaimleib/intervaltree +URL: https://github.com/chaimleib/intervaltree Source: https://files.pythonhosted.org/packages/source/i/intervaltree/intervaltree-%{version}.tar.gz BuildRequires: %{python_module setuptools} BuildRequires: fdupes ++++++ intervaltree-3.0.2.tar.gz -> intervaltree-3.1.0.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/CHANGELOG.md new/intervaltree-3.1.0/CHANGELOG.md --- old/intervaltree-3.0.2/CHANGELOG.md 2018-12-18 04:27:48.000000000 +0100 +++ new/intervaltree-3.1.0/CHANGELOG.md 2020-08-03 09:59:40.000000000 +0200 @@ -1,5 +1,13 @@ # Change log +## Version 3.1.0 +- Dropped support for Python 3.4, added Python 3.8 +- Add `__slots__` optimization in Node class, should give performance improvement +- Fixed: + - Restore universal wheels + - Bytes/str type incompatibility in setup.py + - New version of distutils rejects version suffixes of `.postNN`, use `aNN` instead + ## Version 3.0.2 - Fixed: - On some systems, setup.py opened README.md with a non-unicode encoding. My fault for leaving the encoding flapping in the breeze. It's been fixed. @@ -171,6 +179,3 @@ - Added tests - Bug fix: interval addition via [] was broken in Python 2.7 (see http://bugs.python.org/issue21785) - Added intervaltree.bio subpackage, adding some utilities for use in bioinformatics - -## Version 0.2.2b -- Forked from https://github.com/MusashiAharon/PyIntervalTree diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/PKG-INFO new/intervaltree-3.1.0/PKG-INFO --- old/intervaltree-3.0.2/PKG-INFO 2018-12-18 04:56:57.000000000 +0100 +++ new/intervaltree-3.1.0/PKG-INFO 2020-08-03 10:00:57.995398500 +0200 @@ -1,12 +1,12 @@ Metadata-Version: 2.1 Name: intervaltree -Version: 3.0.2 +Version: 3.1.0 Summary: Editable interval tree data structure for Python 2 and 3 Home-page: https://github.com/chaimleib/intervaltree Author: Chaim Leib Halbert, Konstantin Tretyakov Author-email: chaim.leib.halb...@gmail.com License: Apache License, Version 2.0 -Download-URL: https://github.com/chaimleib/intervaltree/tarball/3.0.2 +Download-URL: https://github.com/chaimleib/intervaltree/tarball/3.1.0 Description: [![Build status badge][]][build status] intervaltree @@ -35,7 +35,7 @@ Features -------- - * Supports Python 2.7 and Python 3.4+ (Tested under 2.7, and 3.4 thru 3.7) + * Supports Python 2.7 and Python 3.5+ (Tested under 2.7, and 3.5 thru 3.8) * Initializing * blank `tree = IntervalTree()` * from an iterable of `Interval` objects (`tree = IntervalTree(intervals)`) @@ -359,11 +359,12 @@ * [konstantint/Konstantin Tretyakov][Konstantin intervaltree] of the University of Tartu (Estonia) * [siniG/Avi Gabay][siniG intervaltree] * [lmcarril/Luis M. Carril][lmcarril intervaltree] of the Karlsruhe Institute for Technology (Germany) + * [depristo/MarkDePristo][depristo intervaltree] Copyright --------- - * [Chaim Leib Halbert][GH], 2013-2018 + * [Chaim Leib Halbert][GH], 2013-2020 * Modifications, [Konstantin Tretyakov][Konstantin intervaltree], 2014 Licensed under the [Apache License, version 2.0][Apache]. @@ -378,6 +379,7 @@ [Konstantin intervaltree]: https://github.com/konstantint/PyIntervalTree [siniG intervaltree]: https://github.com/siniG/intervaltree [lmcarril intervaltree]: https://github.com/lmcarril/intervaltree + [depristo intervaltree]: https://github.com/depristo/intervaltree [Confuzzled AVL tree]: http://www.eternallyconfuzzled.com/tuts/datastructures/jsw_tut_avl.aspx [Wiki intervaltree]: http://en.wikipedia.org/wiki/Interval_tree [Kahn intervaltree]: http://zurb.com/forrst/posts/Interval_Tree_implementation_in_python-e0K @@ -386,7 +388,7 @@ Keywords: interval-tree data-structure intervals tree Platform: UNKNOWN -Classifier: Development Status :: 4 - Beta +Classifier: Development Status :: 5 - Production/Stable Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Information Technology @@ -395,10 +397,10 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 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: License :: OSI Approved :: Apache Software License Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence Classifier: Topic :: Scientific/Engineering :: Bio-Informatics diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/README.md new/intervaltree-3.1.0/README.md --- old/intervaltree-3.0.2/README.md 2018-12-17 19:18:06.000000000 +0100 +++ new/intervaltree-3.1.0/README.md 2020-08-03 09:59:40.000000000 +0200 @@ -26,7 +26,7 @@ Features -------- -* Supports Python 2.7 and Python 3.4+ (Tested under 2.7, and 3.4 thru 3.7) +* Supports Python 2.7 and Python 3.5+ (Tested under 2.7, and 3.5 thru 3.8) * Initializing * blank `tree = IntervalTree()` * from an iterable of `Interval` objects (`tree = IntervalTree(intervals)`) @@ -350,11 +350,12 @@ * [konstantint/Konstantin Tretyakov][Konstantin intervaltree] of the University of Tartu (Estonia) * [siniG/Avi Gabay][siniG intervaltree] * [lmcarril/Luis M. Carril][lmcarril intervaltree] of the Karlsruhe Institute for Technology (Germany) + * [depristo/MarkDePristo][depristo intervaltree] Copyright --------- -* [Chaim Leib Halbert][GH], 2013-2018 +* [Chaim Leib Halbert][GH], 2013-2020 * Modifications, [Konstantin Tretyakov][Konstantin intervaltree], 2014 Licensed under the [Apache License, version 2.0][Apache]. @@ -369,6 +370,7 @@ [Konstantin intervaltree]: https://github.com/konstantint/PyIntervalTree [siniG intervaltree]: https://github.com/siniG/intervaltree [lmcarril intervaltree]: https://github.com/lmcarril/intervaltree +[depristo intervaltree]: https://github.com/depristo/intervaltree [Confuzzled AVL tree]: http://www.eternallyconfuzzled.com/tuts/datastructures/jsw_tut_avl.aspx [Wiki intervaltree]: http://en.wikipedia.org/wiki/Interval_tree [Kahn intervaltree]: http://zurb.com/forrst/posts/Interval_Tree_implementation_in_python-e0K diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/intervaltree/interval.py new/intervaltree-3.1.0/intervaltree/interval.py --- old/intervaltree-3.0.2/intervaltree/interval.py 2018-12-18 04:27:48.000000000 +0100 +++ new/intervaltree-3.1.0/intervaltree/interval.py 2020-06-30 03:12:01.000000000 +0200 @@ -53,6 +53,29 @@ except: return self.contains_point(begin) + def overlap_size(self, begin, end=None): + """ + Return the overlap size between two intervals or a point + :param begin: beginning point of the range, or the point, or an Interval + :param end: end point of the range. Optional if not testing ranges. + :return: Return the overlap size, None if not overlap is found + :rtype: depends on the given input (e.g., int will be returned for int interval and timedelta for + datetime intervals) + """ + overlaps = self.overlaps(begin, end) + if not overlaps: + return 0 + + if end is not None: + # case end is given + i0 = max(self.begin, begin) + i1 = min(self.end, end) + return i1 - i0 + # assume the type is interval, in other cases, an exception will be thrown + i0 = max(self.begin, begin.begin) + i1 = min(self.end, begin.end) + return i1 - i0 + def contains_point(self, p): """ Whether the Interval contains p. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/intervaltree/node.py new/intervaltree-3.1.0/intervaltree/node.py --- old/intervaltree-3.0.2/intervaltree/node.py 2018-12-18 04:27:48.000000000 +0100 +++ new/intervaltree-3.1.0/intervaltree/node.py 2020-08-03 09:59:40.000000000 +0200 @@ -35,6 +35,14 @@ class Node(object): + __slots__ = ( + 'x_center', + 's_center', + 'left_node', + 'right_node', + 'depth', + 'balance' + ) def __init__(self, x_center=None, s_center=set(), @@ -63,8 +71,17 @@ """ if not intervals: return None + return Node.from_sorted_intervals(sorted(intervals)) + + @classmethod + def from_sorted_intervals(cls, intervals): + """ + :rtype : Node + """ + if not intervals: + return None node = Node() - node = node.init_from_sorted(sorted(intervals)) + node = node.init_from_sorted(intervals) return node def init_from_sorted(self, intervals): @@ -82,8 +99,8 @@ s_right.append(k) else: self.s_center.add(k) - self.left_node = Node.from_intervals(s_left) - self.right_node = Node.from_intervals(s_right) + self.left_node = Node.from_sorted_intervals(s_left) + self.right_node = Node.from_sorted_intervals(s_right) return self.rotate() def center_hit(self, interval): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/intervaltree.egg-info/PKG-INFO new/intervaltree-3.1.0/intervaltree.egg-info/PKG-INFO --- old/intervaltree-3.0.2/intervaltree.egg-info/PKG-INFO 2018-12-18 04:56:56.000000000 +0100 +++ new/intervaltree-3.1.0/intervaltree.egg-info/PKG-INFO 2020-08-03 10:00:57.000000000 +0200 @@ -1,12 +1,12 @@ Metadata-Version: 2.1 Name: intervaltree -Version: 3.0.2 +Version: 3.1.0 Summary: Editable interval tree data structure for Python 2 and 3 Home-page: https://github.com/chaimleib/intervaltree Author: Chaim Leib Halbert, Konstantin Tretyakov Author-email: chaim.leib.halb...@gmail.com License: Apache License, Version 2.0 -Download-URL: https://github.com/chaimleib/intervaltree/tarball/3.0.2 +Download-URL: https://github.com/chaimleib/intervaltree/tarball/3.1.0 Description: [![Build status badge][]][build status] intervaltree @@ -35,7 +35,7 @@ Features -------- - * Supports Python 2.7 and Python 3.4+ (Tested under 2.7, and 3.4 thru 3.7) + * Supports Python 2.7 and Python 3.5+ (Tested under 2.7, and 3.5 thru 3.8) * Initializing * blank `tree = IntervalTree()` * from an iterable of `Interval` objects (`tree = IntervalTree(intervals)`) @@ -359,11 +359,12 @@ * [konstantint/Konstantin Tretyakov][Konstantin intervaltree] of the University of Tartu (Estonia) * [siniG/Avi Gabay][siniG intervaltree] * [lmcarril/Luis M. Carril][lmcarril intervaltree] of the Karlsruhe Institute for Technology (Germany) + * [depristo/MarkDePristo][depristo intervaltree] Copyright --------- - * [Chaim Leib Halbert][GH], 2013-2018 + * [Chaim Leib Halbert][GH], 2013-2020 * Modifications, [Konstantin Tretyakov][Konstantin intervaltree], 2014 Licensed under the [Apache License, version 2.0][Apache]. @@ -378,6 +379,7 @@ [Konstantin intervaltree]: https://github.com/konstantint/PyIntervalTree [siniG intervaltree]: https://github.com/siniG/intervaltree [lmcarril intervaltree]: https://github.com/lmcarril/intervaltree + [depristo intervaltree]: https://github.com/depristo/intervaltree [Confuzzled AVL tree]: http://www.eternallyconfuzzled.com/tuts/datastructures/jsw_tut_avl.aspx [Wiki intervaltree]: http://en.wikipedia.org/wiki/Interval_tree [Kahn intervaltree]: http://zurb.com/forrst/posts/Interval_Tree_implementation_in_python-e0K @@ -386,7 +388,7 @@ Keywords: interval-tree data-structure intervals tree Platform: UNKNOWN -Classifier: Development Status :: 4 - Beta +Classifier: Development Status :: 5 - Production/Stable Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Intended Audience :: Developers Classifier: Intended Audience :: Information Technology @@ -395,10 +397,10 @@ Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 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: License :: OSI Approved :: Apache Software License Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence Classifier: Topic :: Scientific/Engineering :: Bio-Informatics diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/setup.cfg new/intervaltree-3.1.0/setup.cfg --- old/intervaltree-3.0.2/setup.cfg 2018-12-18 04:56:57.000000000 +0100 +++ new/intervaltree-3.1.0/setup.cfg 2020-08-03 10:00:57.995909700 +0200 @@ -7,3 +7,6 @@ addopts = --doctest-modules --doctest-glob='README.md' --ignore=setup.py --ignore=*.pyc norecursedirs = *.egg* *doc* .* _* htmlcov scripts dist bin test/data +[bdist_wheel] +universal = 1 + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/intervaltree-3.0.2/setup.py new/intervaltree-3.1.0/setup.py --- old/intervaltree-3.0.2/setup.py 2018-12-18 04:27:48.000000000 +0100 +++ new/intervaltree-3.1.0/setup.py 2020-08-03 09:59:40.000000000 +0200 @@ -33,16 +33,16 @@ import subprocess ## CONFIG -target_version = '3.0.2' +target_version = '3.1.0' def version_info(target_version): is_dev_version = 'PYPI' in os.environ and os.environ['PYPI'] == 'pypitest' if is_dev_version: p = subprocess.Popen('git describe --tag'.split(), stdout=subprocess.PIPE) - git_describe = p.communicate()[0].strip() + git_describe = str(p.communicate()[0]).strip() release, build, commitish = git_describe.split('-') - version = "{0}.post{1}".format(release, build) + version = "{0}a{1}".format(target_version, build) else: # This is a RELEASE version version = target_version return { @@ -86,7 +86,7 @@ long_description=long_description, long_description_content_type='text/markdown', classifiers=[ # Get strings from http://pypi.python.org/pypi?%3Aaction=list_classifiers - 'Development Status :: 4 - Beta', + 'Development Status :: 5 - Production/Stable', 'Programming Language :: Python :: Implementation :: PyPy', 'Intended Audience :: Developers', 'Intended Audience :: Information Technology', @@ -95,10 +95,10 @@ 'Programming Language :: Python :: 2', 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 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', 'License :: OSI Approved :: Apache Software License', 'Topic :: Scientific/Engineering :: Artificial Intelligence', 'Topic :: Scientific/Engineering :: Bio-Informatics',