[med-svn] [Git][med-team/python-bx][master] 9 commits: routine-update: New upstream version

Michael R. Crusoe (@crusoe) gitlab at salsa.debian.org
Wed Jul 3 17:11:41 BST 2024



Michael R. Crusoe pushed to branch master at Debian Med / python-bx


Commits:
7f7b7351 by Michael R. Crusoe at 2024-07-03T14:15:07+02:00
routine-update: New upstream version

- - - - -
5426a3f3 by Michael R. Crusoe at 2024-07-03T14:15:08+02:00
New upstream version 0.12.0
- - - - -
d6feb33c by Michael R. Crusoe at 2024-07-03T14:15:12+02:00
Update upstream source from tag 'upstream/0.12.0'

Update to upstream version '0.12.0'
with Debian dir 19d0da209e7a191f85d81e9fbb9ac1f1827662b2
- - - - -
836bb875 by Michael R. Crusoe at 2024-07-03T14:15:12+02:00
routine-update: Standards-Version: 4.6.2

- - - - -
793af7f9 by Michael R. Crusoe at 2024-07-03T14:20:15+02:00
d/patches/{post-install-testing,pytest8,strlen_missing_include}: removed, applied upstream.

- - - - -
7cb770e6 by Michael R. Crusoe at 2024-07-03T17:30:20+02:00
Forwarded remaining patches upstream

- - - - -
9b73f08b by Michael R. Crusoe at 2024-07-03T18:07:06+02:00
d/lintian-overrides: fix mismatched tag

- - - - -
048a082a by Michael R. Crusoe at 2024-07-03T18:07:06+02:00
d/patches/spelling: fix typos

- - - - -
4d4554a9 by Michael R. Crusoe at 2024-07-03T18:07:06+02:00
routine-update: Ready to upload to unstable

- - - - -


30 changed files:

- .github/workflows/deploy.yaml
- .gitignore
- debian/changelog
- debian/control
- debian/lintian-overrides
- debian/patches/fix_import_cookbook.patch
- debian/patches/no_psyco.patch
- − debian/patches/post-install-testing
- − debian/patches/pytest8
- debian/patches/series
- + debian/patches/spelling
- − debian/patches/strlen_missing_include
- lib/bx/__init__.py
- lib/bx/align/sitemask/sitemask_tests.py
- lib/bx/binned_array.py
- lib/bx/binned_array_tests.py
- lib/bx/interval_index_file_tests.py
- lib/bx/intervals/cluster_tests.py
- lib/bx/intervals/intersection.pyx
- lib/bx/misc/seekbzip2_tests.py
- lib/bx/motif/io/transfac_tests.py
- lib/bx/motif/pwm_tests.py
- lib/bx/seq/fasta_tests.py
- lib/bx/seq/nib_tests.py
- lib/bx/seq/qdna_tests.py
- lib/bx/seq/twobit_tests.py
- pyproject.toml
- pytest.ini
- src/pwm_utils.c
- tox.ini


Changes:

=====================================
.github/workflows/deploy.yaml
=====================================
@@ -32,10 +32,11 @@ jobs:
         run: python -m cibuildwheel --output-dir dist
         env:
           CIBW_ARCHS: ${{ matrix.archs }}
-          # Skip building musllinux wheels for the Python versions for which the oldest
-          # supported numpy version doesn't have musllinux wheels on PyPI.
-          # Skip also building for PyPy 3.8, which is deprecated upstream.
-          CIBW_SKIP: "cp38-musllinux_* cp39-musllinux_* cp310-musllinux_* cp311-musllinux_* pp38-*"
+          # Skip building musllinux wheels for the CPython versions for which the
+          # numpy version we build against doesn't have musllinux wheels on PyPI.
+          # Skip building for PyPy 3.8, which is deprecated upstream.
+          # Skip building for PyPy on i686 since NumPy 2.0 fails to build on it.
+          CIBW_SKIP: "cp38-musllinux_* pp38-* pp*-manylinux_i686"
       - name: Check packages
         run: twine check dist/*
       - uses: actions/upload-artifact at v4


=====================================
.gitignore
=====================================
@@ -32,3 +32,6 @@ nose*.egg
 
 # Built sdist directory
 dist
+
+# Testing
+.tox/


=====================================
debian/changelog
=====================================
@@ -1,8 +1,15 @@
-python-bx (0.11.0-5) UNRELEASED; urgency=medium
+python-bx (0.12.0-1) unstable; urgency=medium
 
   * d/rules,d/pybuild.testfiles: cleaner way of handling the test data
+  * New upstream version
+  * Standards-Version: 4.6.2 (routine-update)
+  * d/patches/{post-install-testing,pytest8,strlen_missing_include}:
+    removed, applied upstream.
+  * Forwarded remaining patches upstream
+  * d/lintian-overrides: fix mismatched tag
+  * d/patches/spelling: fix typos
 
- -- Michael R. Crusoe <crusoe at debian.org>  Fri, 03 May 2024 15:24:24 +0200
+ -- Michael R. Crusoe <crusoe at debian.org>  Wed, 03 Jul 2024 17:31:02 +0200
 
 python-bx (0.11.0-4) unstable; urgency=medium
 


=====================================
debian/control
=====================================
@@ -16,7 +16,7 @@ Build-Depends: debhelper-compat (= 13),
                python3-pytest-cython <!nocheck>,
                python3-numpy <!nocheck>,
                cython3
-Standards-Version: 4.7.0
+Standards-Version: 4.6.2
 Vcs-Browser: https://salsa.debian.org/med-team/python-bx
 Vcs-Git: https://salsa.debian.org/med-team/python-bx.git
 Homepage: https://github.com/bxlab/bx-python


=====================================
debian/lintian-overrides
=====================================
@@ -2,4 +2,4 @@
 # We shall revisit this decision once all packages for toil are in the distribution
 # and we have learned more about how bx is used in the community in 3rd party scripts.
 # see https://lists.debian.org/debian-med/2018/06/msg00043.html
-python3-bx: script-with-language-extension usr/bin/*.py
+python3-bx: script-with-language-extension [usr/bin/*.py]


=====================================
debian/patches/fix_import_cookbook.patch
=====================================
@@ -1,8 +1,8 @@
-Description: Fix import statement s/cookbook/bx.cookbook/
+Subject: Fix import statement s/cookbook/bx.cookbook/
+From: Andreas Tille <tille at debian.org>
 Bug-Debian: https://bugs.debian.org/1068996
-Author: Andreas Tille <tille at debian.org>
-Last-Updat: Mon, 15 Apr 2024 08:27:39 +0200
-
+Last-Update: Mon, 15 Apr 2024 08:27:39 +0200
+Forwarded: https://github.com/bxlab/bx-python/pull/95
 --- a/scripts/maf_tile_2.py
 +++ b/scripts/maf_tile_2.py
 @@ -31,7 +31,7 @@ usage: %prog list,of,species,to,keep seq


=====================================
debian/patches/no_psyco.patch
=====================================
@@ -1,7 +1,8 @@
-Description: psyco is only available for Python <= 2.6
+Subject: psyco is only available for Python <= 2.6
 Bug-Debian: https://bugs.debian.org/1068996
-Author: Andreas Tille <tille at debian.org>
-Last-Updat: Mon, 15 Apr 2024 08:27:39 +0200
+From: Andreas Tille <tille at debian.org>
+Last-Update: Mon, 15 Apr 2024 08:27:39 +0200
+Forwarded: https://github.com/bxlab/bx-python/pull/96
 
 --- a/scripts/maf_word_frequency.py
 +++ b/scripts/maf_word_frequency.py


=====================================
debian/patches/post-install-testing deleted
=====================================
@@ -1,132 +0,0 @@
-From: Michael R. Crusoe <crusoe at debian.org>
-Subject: enable post-installation testing
-Forwarded: https://github.com/bxlab/bx-python/pull/93
---- python-bx.orig/lib/bx/align/sitemask/sitemask_tests.py
-+++ python-bx/lib/bx/align/sitemask/sitemask_tests.py
-@@ -6,7 +6,7 @@
- from io import StringIO
- 
- import bx.align.maf
--from . import cpg
-+from bx.align.sitemask import cpg
- 
- test_maf_cpg = """##maf version=1 scoring=none
- a score=0
---- python-bx.orig/lib/bx/binned_array_tests.py
-+++ python-bx/lib/bx/binned_array_tests.py
-@@ -10,7 +10,7 @@
- )
- from numpy.random import random_sample as random
- 
--from .binned_array import (
-+from bx.binned_array import (
-     BinnedArray,
-     BinnedArrayWriter,
-     FileBinnedArray,
---- python-bx.orig/lib/bx/interval_index_file_tests.py
-+++ python-bx/lib/bx/interval_index_file_tests.py
-@@ -1,8 +1,8 @@
- import random
- from tempfile import mktemp
- 
--from . import interval_index_file
--from .interval_index_file import Indexes
-+from bx import interval_index_file
-+from bx.interval_index_file import Indexes
- 
- 
- def test_offsets():
---- python-bx.orig/lib/bx/intervals/cluster_tests.py
-+++ python-bx/lib/bx/intervals/cluster_tests.py
-@@ -2,13 +2,7 @@
- import sys
- import unittest
- 
--try:
--    sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
--except Exception:
--    sys.path.insert(0, os.path.dirname(os.path.abspath(".")))
--
--# from bx.intervals.cluster import ClusterTree
--from .cluster import ClusterTree
-+from bx.intervals.cluster import ClusterTree
- 
- 
- class TestCluster(unittest.TestCase):
---- python-bx.orig/lib/bx/misc/seekbzip2_tests.py
-+++ python-bx/lib/bx/misc/seekbzip2_tests.py
-@@ -7,7 +7,7 @@
- import random
- from codecs import encode
- 
--from . import seekbzip2
-+from bx.misc import seekbzip2
- 
- F = None
- T = None
---- python-bx.orig/lib/bx/motif/io/transfac_tests.py
-+++ python-bx/lib/bx/motif/io/transfac_tests.py
-@@ -2,7 +2,7 @@
- 
- from numpy import allclose
- 
--from . import transfac
-+from bx.motif.io import transfac
- 
- sample = """
- VV  TRANSFAC MATRIX TABLE, Rel.3.2 26-06-1997
---- python-bx.orig/lib/bx/motif/pwm_tests.py
-+++ python-bx/lib/bx/motif/pwm_tests.py
-@@ -3,7 +3,7 @@
-     isnan,
- )
- 
--from . import pwm
-+from bx.motif import pwm
- 
- 
- def test_create():
---- python-bx.orig/lib/bx/seq/fasta_tests.py
-+++ python-bx/lib/bx/seq/fasta_tests.py
-@@ -4,7 +4,7 @@
- 
- import unittest
- 
--from . import fasta
-+from bx.seq import fasta
- 
- test_fa = "test_data/seq_tests/test.fa"
- 
---- python-bx.orig/lib/bx/seq/nib_tests.py
-+++ python-bx/lib/bx/seq/nib_tests.py
-@@ -4,7 +4,7 @@
- 
- import unittest
- 
--from . import nib
-+from bx.seq import nib
- 
- test_nib = "test_data/seq_tests/test.nib"
- 
---- python-bx.orig/lib/bx/seq/qdna_tests.py
-+++ python-bx/lib/bx/seq/qdna_tests.py
-@@ -4,7 +4,7 @@
- 
- import unittest
- 
--from . import qdna
-+from bx.seq import qdna
- 
- test_qdna = "test_data/seq_tests/test.qdna"
- 
---- python-bx.orig/lib/bx/seq/twobit_tests.py
-+++ python-bx/lib/bx/seq/twobit_tests.py
-@@ -2,7 +2,7 @@
- 
- import pytest
- 
--from . import twobit
-+from bx.seq import twobit
- 
- 
- def quick_fasta_iter(f):


=====================================
debian/patches/pytest8 deleted
=====================================
@@ -1,70 +0,0 @@
-From: Michael R. Crusoe <crusoe at debian.org>
-Subject: Add pytest 8.x compatability
-Forwarded: https://github.com/bxlab/bx-python/pull/92
-
-nose-style module setup function renamed to the pytest way.
---- python-bx.orig/lib/bx/binned_array_tests.py
-+++ python-bx/lib/bx/binned_array_tests.py
-@@ -16,18 +16,17 @@
-     FileBinnedArray,
- )
- 
-+import pytest
-+
- # Bigger values take longer, but excercise more bins
- CHUNK_SIZE_RANDOM = 945
- CHUNK_SIZE_ZEROS = 897
- # CHUNK_SIZE_RANDOM=9456
- # CHUNK_SIZE_ZEROS=8972
- 
--source = target = None
--
- 
--def setup():
--    global source
--    global target
-+ at pytest.fixture(scope="module")
-+def source_target():
-     source = []
-     for _ in range(13):
-         if random() < 0.5:
-@@ -43,7 +42,8 @@
-     return source, target
- 
- 
--def test_simple():
-+def test_simple(source_target):
-+    source, target = source_target
-     # Verify
-     for i in range(len(source)):
-         assert source[i] == target[i], "No match, index: %d, source: %f, target: %f, len( source ): %d" % (
-@@ -66,7 +66,8 @@
-         )
- 
- 
--def test_file():
-+def test_file(source_target):
-+    source, target = source_target
-     # With a file (zlib)
-     target.to_file(open("/tmp/foo", "wb"))
-     target2 = FileBinnedArray(open("/tmp/foo", "rb"))
-@@ -87,7 +88,8 @@
-         )
- 
- 
--def test_file_lzo():
-+def test_file_lzo(source_target):
-+    source, target = source_target
-     # With a file (lzo)
-     target.to_file(open("/tmp/foo3", "wb"), comp_type="lzo")
-     target3 = FileBinnedArray(open("/tmp/foo3", "rb"))
-@@ -109,7 +111,8 @@
-         )
- 
- 
--def test_binned_array_writer():
-+def test_binned_array_writer(source_target):
-+    source, target = source_target
-     # Test with ba writer
-     o = open("/tmp/foo4", "wb")
-     w = BinnedArrayWriter(o, 128, comp_type="lzo")


=====================================
debian/patches/series
=====================================
@@ -1,6 +1,4 @@
-strlen_missing_include
-post-install-testing
-pytest8
+spelling
 shebang.patch
 fix_BIN_OFFSETS_MAX
 fix_import_cookbook.patch


=====================================
debian/patches/spelling
=====================================
@@ -0,0 +1,111 @@
+From: Michael R. Crusoe <crusoe at debian.org>
+Subject: Fix typos
+Forwarded: https://github.com/bxlab/bx-python/pull/97
+--- python-bx.orig/lib/bx/_seqmapping.pyx
++++ python-bx/lib/bx/_seqmapping.pyx
+@@ -166,7 +166,7 @@
+         return copy
+ 
+     def expand( self, int x ):
+-        """Grow the alphabet by making 'a' a seperate symbol. If it already mapped to a single symbol, do nothing"""
++        """Grow the alphabet by making 'a' a separate symbol. If it already mapped to a single symbol, do nothing"""
+         cdef int i, count, a, b
+         cdef IntToIntMapping copy
+         # Get the symbol x maps to
+--- python-bx.orig/lib/bx/align/_epo.pyx
++++ python-bx/lib/bx/align/_epo.pyx
+@@ -165,9 +165,9 @@
+ 
+ #@cython.wraparound(False)
+ #@cython.boundscheck(False)
+-cpdef numpy.ndarray[numpy.int64_t, ndim=2] cummulative_intervals(numpy.ndarray[numpy.int64_t, ndim=1] S,
++cpdef numpy.ndarray[numpy.int64_t, ndim=2] cumulative_intervals(numpy.ndarray[numpy.int64_t, ndim=1] S,
+         numpy.ndarray[numpy.int64_t, ndim=1] D ):
+-    """compute cummulative intervals for this side of an aligmnent. S and D are one side of
++    """compute cumulative intervals for this side of an aligmnent. S and D are one side of
+     the alignment as described in the chain file format"""
+ 
+     cdef int N = S.shape[0]
+--- python-bx.orig/lib/bx/align/epo.py
++++ python-bx/lib/bx/align/epo.py
+@@ -8,7 +8,7 @@
+ 
+ from ._epo import (  # noqa: F401
+     bed_union,
+-    cummulative_intervals,
++    cumulative_intervals,
+     fastLoadChain,
+     rem_dash,
+ )
+--- python-bx.orig/lib/bx/align/epo_tests.py
++++ python-bx/lib/bx/align/epo_tests.py
+@@ -8,7 +8,7 @@
+ 
+ from bx.align._epo import (
+     bed_union,
+-    cummulative_intervals,
++    cumulative_intervals,
+ )
+ from bx.align.epo import (
+     Chain,
+@@ -26,7 +26,7 @@
+             S.append(random.randint(10, 50))
+             D.append(random.randint(10, 50))
+         D[-1] = 0
+-        C = cummulative_intervals(np.array(S, dtype=np.int64), np.array(D, dtype=np.int64))
++        C = cumulative_intervals(np.array(S, dtype=np.int64), np.array(D, dtype=np.int64))
+         for i in range(self.N):
+             assert C[i, 1] - C[i, 0] == S[i]
+         for i in range(1, self.N):
+--- python-bx.orig/scripts/bnMapper.py
++++ python-bx/scripts/bnMapper.py
+@@ -292,14 +292,14 @@
+ 
+     EPO = epo.Chain._parse_file(path, True)
+     # convert coordinates w.r.t the forward strand (into slices)
+-    # compute cummulative intervals
++    # compute cumulative intervals
+     for i in range(len(EPO)):
+         ch, S, T, Q = EPO[i]
+         if ch.tStrand == "-":
+             ch = ch._replace(tEnd=ch.tSize - ch.tStart, tStart=ch.tSize - ch.tEnd)
+         if ch.qStrand == "-":
+             ch = ch._replace(qEnd=ch.qSize - ch.qStart, qStart=ch.qSize - ch.qEnd)
+-        EPO[i] = (ch, epo.cummulative_intervals(S, T), epo.cummulative_intervals(S, Q))
++        EPO[i] = (ch, epo.cumulative_intervals(S, T), epo.cumulative_intervals(S, Q))
+     # now each element of epo is (chain_header, target_intervals, query_intervals)
+     assert all(t[0].tStrand == "+" for t in EPO), "all target strands should be +"
+     return EPO
+--- python-bx.orig/scripts/maf_tile_2.py
++++ python-bx/scripts/maf_tile_2.py
+@@ -186,7 +186,7 @@
+         # Store the size of the reference sequence for building fake block
+         if ref_src_size is None:
+             ref_src_size = ref.src_size
+-        # Handle the reference component seperately, it has no synteny status
++        # Handle the reference component separately, it has no synteny status
+         # but we will try to fill in missing sequence
+         if ref.start > last_stop:
+             # Need to fill in some reference sequence
+--- python-bx.orig/scripts/maf_tile_2bit.py
++++ python-bx/scripts/maf_tile_2bit.py
+@@ -178,7 +178,7 @@
+         # Store the size of the reference sequence for building fake block
+         if ref_src_size is None:
+             ref_src_size = ref.src_size
+-        # Handle the reference component seperately, it has no synteny status
++        # Handle the reference component separately, it has no synteny status
+         # but we will try to fill in missing sequence
+         if ref.start > last_stop:
+             # Need to fill in some reference sequence
+--- python-bx.orig/scripts/mask_quality.py
++++ python-bx/scripts/mask_quality.py
+@@ -12,7 +12,7 @@
+     -m, --mask=N: Character to use as mask character
+     -q, --quality=N: Min quality allowed
+     -t, --type=N: base_pair or nqs
+-    -l, --list=N: colon seperated list of species,len_file[,qualityfile].
++    -l, --list=N: colon separated list of species,len_file[,qualityfile].
+ """
+ 
+ import fileinput


=====================================
debian/patches/strlen_missing_include deleted
=====================================
@@ -1,15 +0,0 @@
-From: Michael R. Crusoe <crusoe at debian.org>
-Subject: add missing include for strlen()
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1066569
-Forwarded: https://github.com/bxlab/bx-python/pull/94
---- python-bx.orig/src/pwm_utils.c
-+++ python-bx/src/pwm_utils.c
-@@ -1,7 +1,7 @@
- 
- #include <ctype.h>
- #include <stdio.h>
--#include <strings.h>
-+#include <string.h>
- 
- int symbol_match( char, char);
- int pattern_match( char*, char*, int);


=====================================
lib/bx/__init__.py
=====================================
@@ -1 +1 @@
-__version__ = "0.11.0"
+__version__ = "0.12.0"


=====================================
lib/bx/align/sitemask/sitemask_tests.py
=====================================
@@ -6,7 +6,7 @@ import tempfile
 from io import StringIO
 
 import bx.align.maf
-from . import cpg
+from bx.align.sitemask import cpg
 
 test_maf_cpg = """##maf version=1 scoring=none
 a score=0


=====================================
lib/bx/binned_array.py
=====================================
@@ -20,7 +20,7 @@ from numpy import (
     array,
     concatenate,
     frombuffer,
-    NaN,
+    nan,
     resize,
     zeros,
 )
@@ -70,7 +70,7 @@ def bytesify(s):
 
 
 class BinnedArray:
-    def __init__(self, bin_size=512 * 1024, default=NaN, max_size=MAX, typecode="f"):
+    def __init__(self, bin_size=512 * 1024, default=nan, max_size=MAX, typecode="f"):
         self.max_size = max_size
         self.bin_size = bin_size
         self.nbins = int(math.ceil(max_size / self.bin_size))
@@ -273,7 +273,7 @@ class FileBinnedArray:
 
 
 class BinnedArrayWriter:
-    def __init__(self, f, bin_size=512 * 1024, default=NaN, max_size=MAX, typecode="f", comp_type="zlib"):
+    def __init__(self, f, bin_size=512 * 1024, default=nan, max_size=MAX, typecode="f", comp_type="zlib"):
         # All parameters in the constructor are immutable after creation
         self.f = f
         self.max_size = max_size


=====================================
lib/bx/binned_array_tests.py
=====================================
@@ -2,15 +2,16 @@
 Tests for `bx.binned_array`.
 """
 
+import pytest
 from numpy import (
     allclose,
     concatenate,
-    NaN,
+    nan,
     zeros,
 )
 from numpy.random import random_sample as random
 
-from .binned_array import (
+from bx.binned_array import (
     BinnedArray,
     BinnedArrayWriter,
     FileBinnedArray,
@@ -22,12 +23,9 @@ CHUNK_SIZE_ZEROS = 897
 # CHUNK_SIZE_RANDOM=9456
 # CHUNK_SIZE_ZEROS=8972
 
-source = target = None
 
-
-def setup():
-    global source
-    global target
+ at pytest.fixture(scope="module")
+def source_target():
     source = []
     for _ in range(13):
         if random() < 0.5:
@@ -36,14 +34,15 @@ def setup():
             source = concatenate((source, zeros(CHUNK_SIZE_ZEROS, "f")))
     source = source.astype("f")
     # Set on target
-    target = BinnedArray(128, NaN, len(source))
+    target = BinnedArray(128, nan, len(source))
     for i in range(len(source)):
         # if not isNaN( source[i] ):
         target[i] = source[i]
     return source, target
 
 
-def test_simple():
+def test_simple(source_target):
+    source, target = source_target
     # Verify
     for i in range(len(source)):
         assert source[i] == target[i], "No match, index: %d, source: %f, target: %f, len( source ): %d" % (
@@ -66,7 +65,8 @@ def test_simple():
         )
 
 
-def test_file():
+def test_file(source_target):
+    source, target = source_target
     # With a file (zlib)
     target.to_file(open("/tmp/foo", "wb"))
     target2 = FileBinnedArray(open("/tmp/foo", "rb"))
@@ -87,7 +87,8 @@ def test_file():
         )
 
 
-def test_file_lzo():
+def test_file_lzo(source_target):
+    source, target = source_target
     # With a file (lzo)
     target.to_file(open("/tmp/foo3", "wb"), comp_type="lzo")
     target3 = FileBinnedArray(open("/tmp/foo3", "rb"))
@@ -109,7 +110,8 @@ def test_file_lzo():
         )
 
 
-def test_binned_array_writer():
+def test_binned_array_writer(source_target):
+    source, target = source_target
     # Test with ba writer
     o = open("/tmp/foo4", "wb")
     w = BinnedArrayWriter(o, 128, comp_type="lzo")


=====================================
lib/bx/interval_index_file_tests.py
=====================================
@@ -1,8 +1,8 @@
 import random
 from tempfile import mktemp
 
-from . import interval_index_file
-from .interval_index_file import Indexes
+from bx import interval_index_file
+from bx.interval_index_file import Indexes
 
 
 def test_offsets():


=====================================
lib/bx/intervals/cluster_tests.py
=====================================
@@ -1,14 +1,6 @@
-import os
-import sys
 import unittest
 
-try:
-    sys.path.insert(0, os.path.dirname(os.path.dirname(__file__)))
-except Exception:
-    sys.path.insert(0, os.path.dirname(os.path.abspath(".")))
-
-# from bx.intervals.cluster import ClusterTree
-from .cluster import ClusterTree
+from bx.intervals.cluster import ClusterTree
 
 
 class TestCluster(unittest.TestCase):


=====================================
lib/bx/intervals/intersection.pyx
=====================================
@@ -282,8 +282,6 @@ cdef class Interval:
 
     >>> f1 = Interval(23, 36)
     >>> f2 = Interval(34, 48, value=OrderedDict([('chr', 12), ('anno', 'transposon')]))
-    >>> f2
-    Interval(34, 48, value=OrderedDict([('chr', 12), ('anno', 'transposon')]))
 
     """
     cdef public int start, end


=====================================
lib/bx/misc/seekbzip2_tests.py
=====================================
@@ -7,7 +7,7 @@ import os
 import random
 from codecs import encode
 
-from . import seekbzip2
+from bx.misc import seekbzip2
 
 F = None
 T = None


=====================================
lib/bx/motif/io/transfac_tests.py
=====================================
@@ -2,7 +2,7 @@ from io import StringIO
 
 from numpy import allclose
 
-from . import transfac
+from bx.motif.io import transfac
 
 sample = """
 VV  TRANSFAC MATRIX TABLE, Rel.3.2 26-06-1997


=====================================
lib/bx/motif/pwm_tests.py
=====================================
@@ -3,7 +3,7 @@ from numpy import (
     isnan,
 )
 
-from . import pwm
+from bx.motif import pwm
 
 
 def test_create():


=====================================
lib/bx/seq/fasta_tests.py
=====================================
@@ -4,7 +4,7 @@ Tests for `bx.seq.fasta`.
 
 import unittest
 
-from . import fasta
+from bx.seq import fasta
 
 test_fa = "test_data/seq_tests/test.fa"
 


=====================================
lib/bx/seq/nib_tests.py
=====================================
@@ -4,7 +4,7 @@ Tests for `bx.seq.nib`.
 
 import unittest
 
-from . import nib
+from bx.seq import nib
 
 test_nib = "test_data/seq_tests/test.nib"
 


=====================================
lib/bx/seq/qdna_tests.py
=====================================
@@ -4,7 +4,7 @@ Tests for `bx.seq.qdna`.
 
 import unittest
 
-from . import qdna
+from bx.seq import qdna
 
 test_qdna = "test_data/seq_tests/test.qdna"
 


=====================================
lib/bx/seq/twobit_tests.py
=====================================
@@ -2,7 +2,7 @@ import random
 
 import pytest
 
-from . import twobit
+from bx.seq import twobit
 
 
 def quick_fasta_iter(f):


=====================================
pyproject.toml
=====================================
@@ -1,5 +1,11 @@
 [build-system]
-requires = ["cython", "oldest-supported-numpy", "setuptools", "wheel"]
+requires = [
+    "cython",
+    "numpy>=1.25.0; python_version>='3.9'",
+    "oldest-supported-numpy; python_version<'3.9'",
+    "setuptools",
+    "wheel",
+]
 build-backend = "setuptools.build_meta"
 
 [tool.black]


=====================================
pytest.ini
=====================================
@@ -1,5 +1,4 @@
 [pytest]
-#addopts = --doctest-cython --doctest-modules  # https://github.com/lgpage/pytest-cython/issues/58
-addopts = --doctest-modules
+addopts = --doctest-cython --doctest-modules
 python_files = *_tests.py
 testpaths = lib script_tests/


=====================================
src/pwm_utils.c
=====================================
@@ -1,7 +1,7 @@
 
 #include <ctype.h>
 #include <stdio.h>
-#include <strings.h>
+#include <string.h>
 
 int symbol_match( char, char);
 int pattern_match( char*, char*, int);


=====================================
tox.ini
=====================================
@@ -11,7 +11,7 @@ deps =
     test: Cython
     test: numpy
     test: pytest
-    test: pytest-cython
+    test: pytest-cython >= 0.2.2  # https://github.com/lgpage/pytest-cython/issues/58
     test: python-lzo >= 1.14  # Python 3.10 support
     lint: black
     lint: flake8



View it on GitLab: https://salsa.debian.org/med-team/python-bx/-/compare/6936d52bd3b842493efca1fbbb205a6fb332a871...4d4554a9a4356d602f3a1d748ad71d2937ab64c4

-- 
This project does not include diff previews in email notifications.
View it on GitLab: https://salsa.debian.org/med-team/python-bx/-/compare/6936d52bd3b842493efca1fbbb205a6fb332a871...4d4554a9a4356d602f3a1d748ad71d2937ab64c4
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/20240703/2d80e9db/attachment-0001.htm>


More information about the debian-med-commit mailing list