Debian Patches
Status for pyranges/0.1.5+ds-1
| Patch | Description | Author | Forwarded | Bugs | Origin | Last update |
|---|---|---|---|---|---|---|
| Fall-back-to-a-placeholder-version-when-package-meta.patch | Fall back to a placeholder version when package metadata is missing Debian runs the test suite from the pybuild build directory, where no *.dist-info directory exists yet. pyranges/__init__.py obtains its version via importlib.metadata.version("pyranges"), which raises PackageNotFoundError in that situation, so every test module that imports pyranges fails at collection time. Fall back to a placeholder version instead, which also makes importing pyranges work from an unpacked source tree. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-01 | ||
| fix-expected-cluster-result.patch | fix expected cluster result Somehow, the statement in its original form ceased to reflect the change of dtype to numpy's int32 for the expected result, causing a test failure because the reference data now has wrongly int64 numpy dtype. Slightly changing the way the assignation of the smaller dtype is done fixes the problem. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | debian | 2026-11-01 | |
| fix-deprecated-HealthCheck.all.patch | fix deprecated HealthCheck.all() decorator parameter. The HealthCheck.all() method has been deprecated in favor of specifying in a list which checks to ignore in a subsequent test function. The error message suggests use of HealthCheck.return_value. Other options are documented on Python hypothesis module documentation[1]. It is worth noting the attribute return_value itself is marked as deprecated, so we might as well just buy us some time until a possibly more appropriate fix. . [1]: https://hypothesis.readthedocs.io/en/latest/settings.html#health-checks |
Étienne Mollier <emollier@debian.org> | invalid | debian | 2026-11-01 | |
| Decide-strandedness-from-strand-values.patch | Decide strandedness from the strand values, not from the category list check_strandedness() classified a categorical Strand column by comparing the whole category list against {'+', '-'}, while object columns were compared by value. set_dtypes() normalises every Strand column to CategoricalDtype([".", "-", "+"], ordered=True), so any frame that had already been through it carried an unused "." category and was classified as unstranded even when all values were "+" or "-". Consequences: - pr.PyRanges(gr.df) silently lost the strand of a stranded gr (stranded True -> False, keys [('chr1','+'), ('chr1','-')] -> ['chr1']). This also affects any roundtrip through to_bed/read_bed, to_csv/read_csv and iteration over the per-chromosome frames; - gr.Strand = gr.Strand.replace({"+": "-", "-": "+"}) lost the strand, because attr._setattr() re-keys the object through pr.PyRanges(df); - PyRanges.set_union(..., strandedness="opposite") - and the same code in set_intersect/subtract/overlap - therefore raised "Cannot do stranded concat, not all pyranges contain strand info" (pyranges/methods/concat.py:21); - with strandedness=None the auto-detection then silently ignored the strand, which can produce incorrect join/merge results. Compare the observed values instead; "." and missing values still disqualify. Found by tests/property_based/test_do_not_error.py::test_three_in_a_row. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | no | 2026-11-01 | ||
| The-example-data-used-by-the-pyranges.data-helpers.patch | The example data used by the pyranges.data helpers | Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 | ||
| Replace-np.float_-with-np.float64-in-the-test-suite.patch | Replace np.float_ with np.float64 in the test suite NumPy 2.0 removed the np.float_ alias, so tests/property_based/test_binary.py failed with "AttributeError: `np.float_` was removed in the NumPy 2.0 release. Use `np.float64` instead." before any comparison ran. . np.float64 is available in NumPy 1.x as well, so the change does not raise the minimum NumPy version. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 | ||
| register-bedtools-marker-in-pyproject.toml.patch | register bedtools marker in pyproject.toml | Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 | ||
| Cast-overlap-counts-back-to-int32-before-assignment.patch | Cast overlap counts back to int32 before assignment _count_overlaps() builds an int32 column and assigns Series.value_counts() values into it. value_counts() always returns int64, so pandas 2.x warns: . FutureWarning: Setting an item of incompatible dtype ... Value '[1 2]' has dtype incompatible with int32, please explicitly cast to a compatible dtype first. (pyranges/methods/intersection.py:95) . pandas turns this into an error in a future version, which would break count_overlaps()/coverage(). Cast the counts to the column dtype; the values are overlap counts and cannot exceed the number of input intervals. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 | ||
| Do-not-let-an-empty-strand-frame-influence-the-conca.patch | Do not let an empty strand frame influence the concat result dtypes PyRanges.to_string() concatenates the per-strand frames of a chromosome, using an empty DataFrame as filler when one strand is absent. pandas 2.x warns: . FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. (pyranges/tostring2.py:35) . With pandas 3 the numeric columns of the printed table would become object dtype. Drop empty operands before concatenating, as recommended by pandas. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 | ||
| Pass-observed-False-explicitly-in-the-property-test-.patch | Pass observed=False explicitly in the property test helper pandas 2.x deprecates the default observed=False of DataFrame.groupby() and will switch it to True: . tests/property_based/test_unary.py:179: FutureWarning: The default of observed=False is deprecated ... . The helper iterates over all chromosome/strand groups, including combinations that only exist as categories. Pin the current behaviour explicitly, otherwise the test would silently compare fewer groups once the default flips. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 | ||
| Pass-lists-instead-of-itertools.product-to-parametri.patch | Pass lists instead of itertools.product to parametrize pytest 9 emits PytestRemovedIn10Warning for non-collection iterables passed to pytest.mark.parametrize: . Passing a non-Collection iterable to parametrize is deprecated. Test: tests/property_based/test_binary.py::test_nearest, argvalues type: product Test: tests/property_based/test_do_not_error.py::test_three_in_a_row, argvalues type: product . pytest 10 turns this into an error, which would break the test run. Wrap the itertools.product() results in list(); this is valid with older pytest versions as well. . method_chain is wrapped too: as an iterator it is consumed by the single parametrize call, so the wrapper makes the reuse explicit and keeps the test from silently shrinking if the variable is used a second time. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 | ||
| Resolve-the-example-BED-file.patch | Resolve the example BED file via get_example_path() in test_read_bed tests/unit/test_io.py opened "pyranges/example_data/chipseq.bed", a path that is relative to the current working directory: . FileNotFoundError: [Errno 2] No such file or directory: 'pyranges/example_data/chipseq.bed' . That only works while pytest runs from the pybuild directory, which contains a pyranges/ subdirectory. When the suite is executed from an arbitrary directory against the installed package - for instance under autopkgtest - the file is not found, although it is shipped in the package. . Use pyranges.get_example_path(), which resolves the bundled data relative to the module. The read_bed() docstring already uses that helper. |
Karsten Schöke <karsten.schoeke@geobasis-bb.de> | not-needed | 2026-11-02 |
All known versions for source package 'pyranges'
- 0.1.5+ds-1 (sid)
- 0.0.111+ds-9 (trixie)
- 0.0.111+ds-4 (bookworm)
