[med-svn] [Git][med-team/htseq][master] 3 commits: Remove generated file src/Stepvector.py with debian/clean
Juhani Numminen
gitlab at salsa.debian.org
Mon Jan 18 09:55:46 GMT 2021
Juhani Numminen pushed to branch master at Debian Med / htseq
Commits:
5ec42464 by Juhani Numminen at 2021-01-18T11:31:04+02:00
Remove generated file src/Stepvector.py with debian/clean
- - - - -
6d6351c1 by Juhani Numminen at 2021-01-18T11:35:34+02:00
Add Build-Depends 2to3 needed by setup.py
- - - - -
5deb2adb by Juhani Numminen at 2021-01-18T11:51:37+02:00
export CYTHON=cython3 so that setup.py can find the cython3 executable
- - - - -
5 changed files:
- debian/changelog
- + debian/clean
- debian/control
- debian/rules
- − src/StepVector.py
Changes:
=====================================
debian/changelog
=====================================
@@ -1,8 +1,14 @@
htseq (0.13.5-1) UNRELEASED; urgency=medium
+ [ Andreas Tille ]
* New upstream version
* Standards-Version: 4.5.1 (routine-update)
+ [ Juhani Numminen ]
+ * Remove generated file src/Stepvector.py with debian/clean
+ * Add Build-Depends 2to3 needed by setup.py
+ * export CYTHON=cython3 so that setup.py can find the cython3 executable
+
-- Andreas Tille <tille at debian.org> Sun, 17 Jan 2021 15:29:28 +0100
htseq (0.12.4-1) unstable; urgency=medium
=====================================
debian/clean
=====================================
@@ -0,0 +1 @@
+src/StepVector.py
=====================================
debian/control
=====================================
@@ -4,7 +4,8 @@ Uploaders: Diane Trout <diane at ghic.org>,
Andreas Tille <tille at debian.org>
Section: python
Priority: optional
-Build-Depends: debhelper-compat (= 13),
+Build-Depends: 2to3,
+ debhelper-compat (= 13),
dh-python,
python3-debian,
python3-setuptools,
=====================================
debian/rules
=====================================
@@ -7,6 +7,9 @@ export http_proxy=http://127.0.9.1:9
export DEB_BUILD_MAINT_OPTIONS=hardening=+all
+# for setup.py
+export CYTHON=cython3
+
%:
dh $@ --with python3 --buildsystem=pybuild
=====================================
src/StepVector.py deleted
=====================================
@@ -1,554 +0,0 @@
-# This file was automatically generated by SWIG (http://www.swig.org).
-# Version 4.0.2
-#
-# Do not make changes to this file unless you know what you are doing--modify
-# the SWIG interface file instead.
-
-from sys import version_info as _swig_python_version_info
-if _swig_python_version_info < (2, 7, 0):
- raise RuntimeError("Python 2.7 or later required")
-
-# Import the low-level C/C++ module
-if __package__ or "." in __name__:
- from . import _StepVector
-else:
- import _StepVector
-
-try:
- import builtins
-except ImportError:
- import builtins
-
-def _swig_repr(self):
- try:
- strthis = "proxy of " + self.this.__repr__()
- except builtins.Exception:
- strthis = ""
- return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
-
-
-def _swig_setattr_nondynamic_instance_variable(set):
- def set_instance_attr(self, name, value):
- if name == "thisown":
- self.this.own(value)
- elif name == "this":
- set(self, name, value)
- elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
- set(self, name, value)
- else:
- raise AttributeError("You cannot add instance attributes to %s" % self)
- return set_instance_attr
-
-
-def _swig_setattr_nondynamic_class_variable(set):
- def set_class_attr(cls, name, value):
- if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
- set(cls, name, value)
- else:
- raise AttributeError("You cannot add class attributes to %s" % cls)
- return set_class_attr
-
-
-def _swig_add_metaclass(metaclass):
- """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
- def wrapper(cls):
- return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
- return wrapper
-
-
-class _SwigNonDynamicMeta(type):
- """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
- __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)
-
-
-class _Pair_int_float(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
- first = property(_StepVector._Pair_int_float_first_get, _StepVector._Pair_int_float_first_set)
- second = property(_StepVector._Pair_int_float_second_get, _StepVector._Pair_int_float_second_set)
-
- def __init__(self, first_, second_):
- _StepVector._Pair_int_float_swiginit(self, _StepVector.new__Pair_int_float(first_, second_))
- __swig_destroy__ = _StepVector.delete__Pair_int_float
-
-# Register _Pair_int_float in _StepVector:
-_StepVector._Pair_int_float_swigregister(_Pair_int_float)
-
-class _StepVector_Iterator_float(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self, first, last_):
- _StepVector._StepVector_Iterator_float_swiginit(self, _StepVector.new__StepVector_Iterator_float(first, last_))
-
- def __next__(self):
- return _StepVector._StepVector_Iterator_float_next(self)
-
- def __iter__(self):
- return _StepVector._StepVector_Iterator_float___iter__(self)
- __swig_destroy__ = _StepVector.delete__StepVector_Iterator_float
-
-# Register _StepVector_Iterator_float in _StepVector:
-_StepVector._StepVector_Iterator_float_swigregister(_StepVector_Iterator_float)
-
-class _StepVector_float(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self):
- _StepVector._StepVector_float_swiginit(self, _StepVector.new__StepVector_float())
-
- def set_value(self, _from, to, value):
- return _StepVector._StepVector_float_set_value(self, _from, to, value)
-
- def add_value(self, _from, to, value):
- return _StepVector._StepVector_float_add_value(self, _from, to, value)
-
- def get_all_values_pystyle(self):
- return _StepVector._StepVector_float_get_all_values_pystyle(self)
-
- def get_values_pystyle(self, _from):
- return _StepVector._StepVector_float_get_values_pystyle(self, _from)
-
- def num_values(self):
- return _StepVector._StepVector_float_num_values(self)
- __swig_destroy__ = _StepVector.delete__StepVector_float
-
-# Register _StepVector_float in _StepVector:
-_StepVector._StepVector_float_swigregister(_StepVector_float)
-cvar = _StepVector.cvar
-_StepVector_float.min_index = _StepVector.cvar._StepVector_float_min_index
-_StepVector_float.max_index = _StepVector.cvar._StepVector_float_max_index
-
-class _Pair_int_int(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
- first = property(_StepVector._Pair_int_int_first_get, _StepVector._Pair_int_int_first_set)
- second = property(_StepVector._Pair_int_int_second_get, _StepVector._Pair_int_int_second_set)
-
- def __init__(self, first_, second_):
- _StepVector._Pair_int_int_swiginit(self, _StepVector.new__Pair_int_int(first_, second_))
- __swig_destroy__ = _StepVector.delete__Pair_int_int
-
-# Register _Pair_int_int in _StepVector:
-_StepVector._Pair_int_int_swigregister(_Pair_int_int)
-
-class _StepVector_Iterator_int(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self, first, last_):
- _StepVector._StepVector_Iterator_int_swiginit(self, _StepVector.new__StepVector_Iterator_int(first, last_))
-
- def __next__(self):
- return _StepVector._StepVector_Iterator_int_next(self)
-
- def __iter__(self):
- return _StepVector._StepVector_Iterator_int___iter__(self)
- __swig_destroy__ = _StepVector.delete__StepVector_Iterator_int
-
-# Register _StepVector_Iterator_int in _StepVector:
-_StepVector._StepVector_Iterator_int_swigregister(_StepVector_Iterator_int)
-
-class _StepVector_int(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self):
- _StepVector._StepVector_int_swiginit(self, _StepVector.new__StepVector_int())
-
- def set_value(self, _from, to, value):
- return _StepVector._StepVector_int_set_value(self, _from, to, value)
-
- def add_value(self, _from, to, value):
- return _StepVector._StepVector_int_add_value(self, _from, to, value)
-
- def get_all_values_pystyle(self):
- return _StepVector._StepVector_int_get_all_values_pystyle(self)
-
- def get_values_pystyle(self, _from):
- return _StepVector._StepVector_int_get_values_pystyle(self, _from)
-
- def num_values(self):
- return _StepVector._StepVector_int_num_values(self)
- __swig_destroy__ = _StepVector.delete__StepVector_int
-
-# Register _StepVector_int in _StepVector:
-_StepVector._StepVector_int_swigregister(_StepVector_int)
-_StepVector_int.min_index = _StepVector.cvar._StepVector_int_min_index
-_StepVector_int.max_index = _StepVector.cvar._StepVector_int_max_index
-
-class _Pair_int_bool(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
- first = property(_StepVector._Pair_int_bool_first_get, _StepVector._Pair_int_bool_first_set)
- second = property(_StepVector._Pair_int_bool_second_get, _StepVector._Pair_int_bool_second_set)
-
- def __init__(self, first_, second_):
- _StepVector._Pair_int_bool_swiginit(self, _StepVector.new__Pair_int_bool(first_, second_))
- __swig_destroy__ = _StepVector.delete__Pair_int_bool
-
-# Register _Pair_int_bool in _StepVector:
-_StepVector._Pair_int_bool_swigregister(_Pair_int_bool)
-
-class _StepVector_Iterator_bool(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self, first, last_):
- _StepVector._StepVector_Iterator_bool_swiginit(self, _StepVector.new__StepVector_Iterator_bool(first, last_))
-
- def __next__(self):
- return _StepVector._StepVector_Iterator_bool_next(self)
-
- def __iter__(self):
- return _StepVector._StepVector_Iterator_bool___iter__(self)
- __swig_destroy__ = _StepVector.delete__StepVector_Iterator_bool
-
-# Register _StepVector_Iterator_bool in _StepVector:
-_StepVector._StepVector_Iterator_bool_swigregister(_StepVector_Iterator_bool)
-
-class _StepVector_bool(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self):
- _StepVector._StepVector_bool_swiginit(self, _StepVector.new__StepVector_bool())
-
- def set_value(self, _from, to, value):
- return _StepVector._StepVector_bool_set_value(self, _from, to, value)
-
- def add_value(self, _from, to, value):
- return _StepVector._StepVector_bool_add_value(self, _from, to, value)
-
- def get_all_values_pystyle(self):
- return _StepVector._StepVector_bool_get_all_values_pystyle(self)
-
- def get_values_pystyle(self, _from):
- return _StepVector._StepVector_bool_get_values_pystyle(self, _from)
-
- def num_values(self):
- return _StepVector._StepVector_bool_num_values(self)
- __swig_destroy__ = _StepVector.delete__StepVector_bool
-
-# Register _StepVector_bool in _StepVector:
-_StepVector._StepVector_bool_swigregister(_StepVector_bool)
-_StepVector_bool.min_index = _StepVector.cvar._StepVector_bool_min_index
-_StepVector_bool.max_index = _StepVector.cvar._StepVector_bool_max_index
-
-class _Pair_int_obj(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
- first = property(_StepVector._Pair_int_obj_first_get, _StepVector._Pair_int_obj_first_set)
- second = property(_StepVector._Pair_int_obj_second_get, _StepVector._Pair_int_obj_second_set)
-
- def __init__(self, first_, second_):
- _StepVector._Pair_int_obj_swiginit(self, _StepVector.new__Pair_int_obj(first_, second_))
- __swig_destroy__ = _StepVector.delete__Pair_int_obj
-
-# Register _Pair_int_obj in _StepVector:
-_StepVector._Pair_int_obj_swigregister(_Pair_int_obj)
-
-class _StepVector_Iterator_obj(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self, first, last_):
- _StepVector._StepVector_Iterator_obj_swiginit(self, _StepVector.new__StepVector_Iterator_obj(first, last_))
-
- def __next__(self):
- return _StepVector._StepVector_Iterator_obj_next(self)
-
- def __iter__(self):
- return _StepVector._StepVector_Iterator_obj___iter__(self)
- __swig_destroy__ = _StepVector.delete__StepVector_Iterator_obj
-
-# Register _StepVector_Iterator_obj in _StepVector:
-_StepVector._StepVector_Iterator_obj_swigregister(_StepVector_Iterator_obj)
-
-class _StepVector_obj(object):
- thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
- __repr__ = _swig_repr
-
- def __init__(self):
- _StepVector._StepVector_obj_swiginit(self, _StepVector.new__StepVector_obj())
-
- def set_value(self, _from, to, value):
- return _StepVector._StepVector_obj_set_value(self, _from, to, value)
-
- def add_value(self, _from, to, value):
- return _StepVector._StepVector_obj_add_value(self, _from, to, value)
-
- def get_all_values_pystyle(self):
- return _StepVector._StepVector_obj_get_all_values_pystyle(self)
-
- def get_values_pystyle(self, _from):
- return _StepVector._StepVector_obj_get_values_pystyle(self, _from)
-
- def num_values(self):
- return _StepVector._StepVector_obj_num_values(self)
- __swig_destroy__ = _StepVector.delete__StepVector_obj
-
-# Register _StepVector_obj in _StepVector:
-_StepVector._StepVector_obj_swigregister(_StepVector_obj)
-_StepVector_obj.min_index = _StepVector.cvar._StepVector_obj_min_index
-_StepVector_obj.max_index = _StepVector.cvar._StepVector_obj_max_index
-
-
-
-import sys
-
-class StepVector( object ):
-
- """A step vector is a vector with integer indices that is able to store
- data efficiently if it is piece-wise constant, i.e., if the values change
- in "steps". So, if a number of adjacent vectort elements have the same
- value, this values will be stored only once.
-
- The data can be either one of a number of elementary types, or any object.
-
- Usage example:
-
- >>> sv = StepVector.StepVector( 20 )
- >>> sv[5:17] = 13
- >>> sv[12]
- 13.0
- >>> list( sv )
- [0.0, 0.0, 0.0, 0.0, 0.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 13.0, 0.0, 0.0, 0.0]
- >>> list( sv.get_steps() )
- [(0, 5, 0.0), (5, 17, 13.0), (17, 20, 0.0)]
-
- """
-
- @classmethod
- def create( cls, length = sys.maxsize, typecode = 'd', start_index = 0 ):
- """Construct a StepVector of the given length, with indices starting
- at the given start_index and counting up to (but not including)
- start_index + length.
-
- The typecode may be:
- 'd' for float values (C type 'double'),
- 'i' for int values,
- 'b' for Boolean values,
- 'O' for arbitrary Python objects as value.
-
- The vector is initialized with the value zero (or, for typecode 'O',
- with None).
- """
- if typecode == 'd':
- swigclass = _StepVector_float
- elif typecode == 'i':
- swigclass = _StepVector_int
- elif typecode == 'b':
- swigclass = _StepVector_bool
- elif typecode == 'O':
- swigclass = _StepVector_obj
- else:
- raise ValueError("unsupported typecode")
- obj = cls()
- obj._typecode = typecode
- obj._swigobj = swigclass( )
- obj.start = start_index
- obj.stop = start_index + length
- return obj
-
- def __setitem__( self, index, value ):
- """To set element i of StepVector sv to the value v, write
- sv[i] = v
- If you want to set a whole step, say, all values from i to j (not
- including j), write
- sv[i:j] = v
- Note that the StepVector class will only notice that all the values
- from i to j are equal if you assign them in this fashion. Assigning each
- item individually in a loop from i to j will result in the value v being
- stored many times.
- """
- if isinstance( value, StepVector ):
- if self._swigobj is value._swigobj and \
- value.start == index.start and value.stop == index.stop:
- return
- else:
- raise NotImplemented("Stepvector-to-Stepvector assignment still missing")
- if isinstance( index, slice ):
- if index.step is not None and index.step != 1:
- raise ValueError("Striding slices (i.e., step != 1) are not supported")
- if index.start is None:
- start = self.start
- else:
- if index.start < self.start:
- raise IndexError("start too small")
- start = index.start
- if index.stop is None:
- stop = self.stop
- else:
- if index.stop > self.stop:
- raise IndexError("stop too large")
- stop = index.stop
- self._swigobj.set_value( start, stop-1, value )
-# Note the "-1": The C++ object uses closed intervals, but we follow
-# Python convention here and use half-open ones.
- else:
- self._swigobj.set_value( index, index, value )
-
- def get_steps( self, values_only = False, merge_steps=True ):
- """To get a succinct representation of the StepVector's content, call
- the 'get_steps' method. It returns an iterator that generates triples
- of values. Each triple contains one step, giving first the start index
- of the step, then the stop index (i.e., one more than the index of the
- last element), and as third element the value of the step.
-
- If you want to see only a part of the StepVector, use the 'start' and
- 'stop' parameters of 'get_steps' to specify a window.
-
- Sometimes, one might only be interested in the values, not the step
- boundaries. Then, set 'values_only' to true, and the iterator generates
- only the values insted of the triples.
- """
- startvals = self._swigobj.get_values_pystyle( self.start )
- prevstart = self.start
- prevval = startvals.__next__().second
- for pair in startvals:
- stepstart, value = pair.first, pair.second
- if merge_steps and value == prevval:
- continue
- if self.stop is not None and stepstart >= self.stop:
- if not values_only:
- yield prevstart, self.stop, prevval
- else:
- yield prevval
- return
- if not values_only:
- yield prevstart, stepstart, prevval
- else:
- yield prevval
- prevstart, prevval = stepstart, value
- else:
- if not values_only:
- yield prevstart, min( self.stop, self._swigobj.max_index+1), prevval
- else:
- yield prevval
-
- def __getitem__( self, index ):
- """Given a StepVector sv, writing sv[i] returns sv's element i (where i
- is an integer).
-
- If you use a slice, i.e., 'sv[i:j]', you get a view on the StepVector,
- i.e., the same data, but changed boundaries.
- """
- if isinstance(index, slice):
- if index.step is not None and index.step != 1:
- raise ValueError("Striding slices (i.e., step != 1) are not supported")
- if index.start is None:
- start = self.start
- else:
- if index.start < self.start:
- raise IndexError("start too small")
- start = index.start
- if index.stop is None:
- stop = self.stop
- else:
- if index.stop > self.stop:
- raise IndexError("stop too large")
- stop = index.stop
- res = self.__class__()
- res._typecode = self.typecode
- res._swigobj = self._swigobj
- res.start = start
- res.stop = stop
- return res
- else:
- return self._swigobj.get_values_pystyle(index).__next__().second
-
- def __iter__(self):
- """When asked to provide an iterator, a StepVector will yield all its
- value, repeating each value according to the length of the step.
- Hence, calling, e.g., 'list( sv )' will transform the StepVector 'sv'
- into an ordinary list.
- """
- for start, stop, value in self.get_steps():
- for i in range(start, stop):
- yield value
-
- def __repr__(self):
- if self.start == -sys.maxsize - 1:
- start_s = "-inf"
- else:
- start_s = str(self.start)
- if self.stop == sys.maxsize:
- stop_s = "inf"
- else:
- stop_s = str(self.stop)
- return "<%s object, type '%s', index range %s:%s, %d step(s)>" % (
- self.__class__.__name__, self.typecode(), start_s,
- stop_s, self.num_steps())
-
- def typecode(self):
- "Returns the typecode."
- return self._typecode
-
- def __len__(self):
- """The length of a StepVector is defined by its index range, not by
- the number of steps.
- """
- return self.stop - self.start
-
- def num_steps(self):
- """Returns the number of steps, i.e., the number of triples that get_steps
- returns.
- """
- return self._swigobj.num_values()
-
- def __eq__(self, other):
- """StepVectors can be compared for equality. This is conceptually done
- element for element, but, for performance, taking steps in one go.
- """
- if self.start_index() != other.start_index() or len(self) != len(other) or \
- self.typecode() != other.typecode():
- print("Mark A")
- return False
- selfsteps = self.get_steps()
- othrsteps = other.get_steps()
- selfstart, selfstop, selfval = next(selfsteps)
- othrstart, othrstop, othrval = next(othrsteps)
- while selfstop < self.start_index() + len(self) and \
- othrstop < other.start_index() + len(other):
- assert selfstart < othrstop and othrstart < selfstop
- if not( selfval == othrval ):
- return False
- if selfstop < othrstop:
- selfstart, selfstop, selfval = next(selfsteps)
- elif othrstop < selfstop:
- othrstart, othrstop, othrval = next(othrsteps)
- else:
- selfstart, selfstop, selfval = next(selfsteps)
- othrstart, othrstop, othrval = next(othrsteps)
- return True
-
- def __neq__(self, other):
- return not (self == other)
-
- def __reduce__(self):
- if self.__class__ is not StepVector:
- raise NotImplemented("Attempting to pickle a subclass of StepVector without redefined __reduce__.")
- return (
- _StepVector_unpickle,
- (self.stop - self.start, self._typecode, self.start),
- None,
- None,
- ((slice(start, stop), val) for start, stop, val in self.get_steps()))
-
- def __iadd__(self, value):
- self._swigobj.add_value(self.start, self.stop-1, value)
- return self
-
- def apply(self, func, start=None, stop=None):
-# TODO: check!
- for stepstart, stepstop, value in self.get_steps(start, stop):
- self[stepstart:stepstop] = func(value)
-
-def _StepVector_unpickle(length, typecode, start):
- return StepVector.create(length, typecode, start)
-
-
-
-
View it on GitLab: https://salsa.debian.org/med-team/htseq/-/compare/19645ec9fa112965b0684e82d44126afe05cde6b...5deb2adb3491b6532f085162ad69146ac55c7bc3
--
View it on GitLab: https://salsa.debian.org/med-team/htseq/-/compare/19645ec9fa112965b0684e82d44126afe05cde6b...5deb2adb3491b6532f085162ad69146ac55c7bc3
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20210118/339009bd/attachment-0001.html>
More information about the debian-med-commit
mailing list