[med-svn] [Git][med-team/libslow5lib][master] 8 commits: New upstream version 1.4.0+dfsg
Étienne Mollier (@emollier)
gitlab at salsa.debian.org
Sat Feb 21 16:36:36 GMT 2026
Étienne Mollier pushed to branch master at Debian Med / libslow5lib
Commits:
37ff2491 by Étienne Mollier at 2026-02-21T16:54:44+01:00
New upstream version 1.4.0+dfsg
- - - - -
fce7c3dd by Étienne Mollier at 2026-02-21T16:54:54+01:00
Update upstream source from tag 'upstream/1.4.0+dfsg'
Update to upstream version '1.4.0+dfsg'
with Debian dir 0e3c99aea3dbbb3cfb00c7367b7ea2c7b10dfcbe
- - - - -
d45e5e6b by Étienne Mollier at 2026-02-21T17:02:56+01:00
d/control: drop redundant Priority: optional.
- - - - -
000d22ec by Étienne Mollier at 2026-02-21T17:03:26+01:00
d/control: declare compliance to standards version 4.7.3.
- - - - -
aed0bc45 by Étienne Mollier at 2026-02-21T17:33:14+01:00
unshuffle-makefile.patch: forwarded upstream.
- - - - -
eee0cd63 by Étienne Mollier at 2026-02-21T17:34:43+01:00
unshuffle-makefile.patch: use short form BTS URI.
- - - - -
e330b553 by Étienne Mollier at 2026-02-21T17:35:35+01:00
d/patches/*: declare remaining changes forwarding not-needed.
- - - - -
4963fe27 by Étienne Mollier at 2026-02-21T17:36:04+01:00
d/changelog: ready for upload to unstable.
- - - - -
13 changed files:
- README.md
- debian/changelog
- debian/control
- debian/patches/enable_shared_and_static.patch
- debian/patches/fix-baseline.patch
- debian/patches/hardening.patch
- debian/patches/unshuffle-makefile.patch
- docs/pyslow5_api/pyslow5.md
- include/slow5/slow5_defs.h
- python/README.md
- python/pyslow5.pyx
- python/test.py
- setup.py
Changes:
=====================================
README.md
=====================================
@@ -14,7 +14,8 @@ SLOW5 ecosystem: https://hasindu2008.github.io/slow5<br/>
[](https://anaconda.org/bioconda/pyslow5)
[](https://pypi.python.org/pypi/pyslow5)
-
+
+[](https://pepy.tech/projects/pyslow5)
[](https://github.com/hasindu2008/slow5lib/actions/workflows/c-cpp.yml)
[](https://github.com/hasindu2008/slow5lib/actions/workflows/python.yml)
=====================================
debian/changelog
=====================================
@@ -1,3 +1,14 @@
+libslow5lib (1.4.0+dfsg-1) unstable; urgency=medium
+
+ * New upstream version 1.4.0+dfsg
+ * d/control: drop redundant Priority: optional.
+ * d/control: declare compliance to standards version 4.7.3.
+ * unshuffle-makefile.patch: forwarded upstream.
+ * unshuffle-makefile.patch: use short form BTS URI.
+ * d/patches/*: declare remaining changes forwarding not-needed.
+
+ -- Étienne Mollier <emollier at debian.org> Sat, 21 Feb 2026 17:35:55 +0100
+
libslow5lib (1.3.1+dfsg-1) unstable; urgency=medium
* New upstream version 1.3.1+dfsg. (Closes: #1069771, #1117756)
=====================================
debian/control
=====================================
@@ -3,7 +3,6 @@ Maintainer: Debian Med Packaging Team <debian-med-packaging at lists.alioth.debian.
Uploaders: Andreas Tille <tille at debian.org>,
Étienne Mollier <emollier at debian.org>
Section: science
-Priority: optional
Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13),
cmake,
d-shlibs (>= 0.106~),
@@ -17,7 +16,7 @@ Build-Depends: dpkg-dev (>= 1.22.5), debhelper-compat (= 13),
python3-numpy,
python3-numpy-dev,
python3-wheel
-Standards-Version: 4.7.2
+Standards-Version: 4.7.3
Vcs-Browser: https://salsa.debian.org/med-team/libslow5lib
Vcs-Git: https://salsa.debian.org/med-team/libslow5lib.git
Homepage: https://github.com/hasindu2008/slow5lib
=====================================
debian/patches/enable_shared_and_static.patch
=====================================
@@ -1,7 +1,7 @@
Author: Andreas Tille <tille at debian.org>
Last-Update: 2022-06-29
Description: Enable static and shared library
-
+Forwarded: not-needed
--- libslow5lib.orig/CMakeLists.txt
+++ libslow5lib/CMakeLists.txt
@@ -54,19 +54,34 @@
=====================================
debian/patches/fix-baseline.patch
=====================================
@@ -1,6 +1,7 @@
Description: remove fpu flags that are not present on ancient CPUs
Author: Nilesh Patra <nilesh at debian.org>
Last-Update: 2022-07-02
+Forwarded: not-needed
--- libslow5lib.orig/setup.py
+++ libslow5lib/setup.py
@@ -48,15 +48,6 @@
=====================================
debian/patches/hardening.patch
=====================================
@@ -1,6 +1,7 @@
Description: Propagate hardening opts for endian_test
Author: Nilesh Patra <nilesh at debian.org>
Last-Update: 2022-07-02
+Forwarded: not-needed
--- a/test/Makefile
+++ b/test/Makefile
@@ -28,7 +28,7 @@
=====================================
debian/patches/unshuffle-makefile.patch
=====================================
@@ -6,8 +6,8 @@ Description: fix occasional build failure due to missing test/bin.
cc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/libslow5lib-1.3.1+dfsg=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -g -Wall -Werror -std=gnu99 -DSLOW5_USE_ZSTD -Wdate-time -D_FORTIFY_SOURCE=2 -I ../include/ -I ../src/ unit_test_enum.c -o bin/unit_test_enum -Wl,-z,relro -Wl,-z,now ../lib/libslow5.a -lm -lz -lstreamvbyte -lzstd
/usr/bin/ld: cannot open output file bin/unit_test_enum: No such file or directory
Author: Étienne Mollier <emollier at debian.org>
-Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1105533
-Forwarded: no
+Bug-Debian: https://bugs.debian.org/1105533
+Forwarded: https://github.com/hasindu2008/slow5lib/pull/101
Last-Update: 2025-11-05
---
This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
=====================================
docs/pyslow5_api/pyslow5.md
=====================================
@@ -338,7 +338,7 @@ print(end_reason_labels)
> ['unknown', 'partial', 'mux_change', 'unblock_mux_change', 'signal_positive', 'signal_negative']
# or from newer datsets
-> ["unknown", "mux_change", "unblock_mux_change", "data_service_unblock_mux_change", "signal_positive", "signal_negative", "api_request", "device_data_error"]
+> ["unknown", "mux_change", "unblock_mux_change", "data_service_unblock_mux_change", "signal_positive", "signal_negative", "api_request", "device_data_error", "analysis_config_change", "paused"]
readID = "r1"
read = s5.get_read(readID, aux='all')
=====================================
include/slow5/slow5_defs.h
=====================================
@@ -44,7 +44,7 @@ The API documentation is available at https://hasindu2008.github.io/slow5tools/
*/
// library version
-#define SLOW5_LIB_VERSION "1.3.1"
+#define SLOW5_LIB_VERSION "1.4.0"
// maximum file version supported by this library - independent of slow5 library version above
// if updating change all 4 below
=====================================
python/README.md
=====================================
@@ -338,7 +338,7 @@ print(end_reason_labels)
> ['unknown', 'partial', 'mux_change', 'unblock_mux_change', 'signal_positive', 'signal_negative']
# or from newer datsets
-> ["unknown", "mux_change", "unblock_mux_change", "data_service_unblock_mux_change", "signal_positive", "signal_negative", "api_request", "device_data_error"]
+> ["unknown", "mux_change", "unblock_mux_change", "data_service_unblock_mux_change", "signal_positive", "signal_negative", "api_request", "device_data_error", "analysis_config_change", "paused"]
readID = "r1"
read = s5.get_read(readID, aux='all')
=====================================
python/pyslow5.pyx
=====================================
@@ -98,6 +98,7 @@ cdef class Open:
cdef char *num_reads_since_mux_change
cdef char *time_since_mux_change
cdef char *num_minknow_events
+ cdef char *open_pore_level
cdef char **end_reason_labels
cdef pyslow5.uint8_t end_reason_labels_len
cdef char *channel_number_val
@@ -113,6 +114,7 @@ cdef class Open:
cdef pyslow5.uint32_t num_reads_since_mux_change_val
cdef float time_since_mux_change_val
cdef pyslow5.uint64_t num_minknow_events_val
+ cdef float open_pore_level_val
cdef char **channel_number_val_array
cdef double *median_before_val_array
cdef pyslow5.int32_t *read_number_val_array
@@ -126,6 +128,7 @@ cdef class Open:
cdef pyslow5.uint32_t *num_reads_since_mux_change_val_array
cdef float *time_since_mux_change_val_array
cdef pyslow5.uint64_t *num_minknow_events_val_array
+ cdef float *open_pore_level_val_array
cdef np.int16_t[:] temp_array
@@ -205,6 +208,7 @@ cdef class Open:
self.num_reads_since_mux_change = strdup("num_reads_since_mux_change")
self.time_since_mux_change = strdup("time_since_mux_change")
self.num_minknow_events = strdup("num_minknow_events")
+ self.open_pore_level = strdup("open_pore_level")
self.end_reason_labels = NULL
self.end_reason_labels_len = 0
self.channel_number_val = NULL
@@ -220,6 +224,7 @@ cdef class Open:
self.num_reads_since_mux_change_val = 0
self.time_since_mux_change_val = 0.0
self.num_minknow_events_val = 0
+ self.open_pore_level_val = 0.0
self.channel_number_val_array = NULL
self.median_before_val_array = NULL
self.read_number_val_array = NULL
@@ -233,6 +238,7 @@ cdef class Open:
self.num_reads_since_mux_change_val_array = NULL
self.time_since_mux_change_val_array = NULL
self.num_minknow_events_val_array = NULL
+ self.open_pore_level_val_array = NULL
self.total_time_slow5_get_next = 0.0
@@ -391,6 +397,7 @@ cdef class Open:
free(self.num_reads_since_mux_change)
free(self.time_since_mux_change)
free(self.num_minknow_events)
+ free(self.open_pore_level)
if self.end_reason_labels is not NULL:
for i in range(self.end_reason_labels_len):
@@ -1504,7 +1511,7 @@ cdef class Open:
# end_reason_labels = ['unknown', 'partial', 'mux_change', 'unblock_mux_change', 'signal_positive', 'signal_negative']
# update end_reason to be more likely compatible with current pod5 format & end_reasons
- end_reason_labels = ["unknown", "mux_change", "unblock_mux_change", "data_service_unblock_mux_change", "signal_positive", "signal_negative", "api_request", "device_data_error"]
+ end_reason_labels = ["unknown", "mux_change", "unblock_mux_change", "data_service_unblock_mux_change", "signal_positive", "signal_negative", "api_request", "device_data_error", "analysis_config_change", "paused"]
if aux:
return header, end_reason_labels
@@ -1537,6 +1544,7 @@ cdef class Open:
"num_reads_since_mux_change": None,
"time_since_mux_change": None,
"num_minknow_events": None,
+ "open_pore_level": None,
}
if aux:
@@ -1583,6 +1591,7 @@ cdef class Open:
"num_reads_since_mux_change": type(1),
"time_since_mux_change": type(1.0),
"num_minknow_events": type(1),
+ "open_pore_level": type(1.0),
}
C_aux_types = {"channel_number": SLOW5_STRING,
@@ -1598,6 +1607,7 @@ cdef class Open:
"num_reads_since_mux_change": SLOW5_UINT32_T,
"time_since_mux_change": SLOW5_FLOAT,
"num_minknow_events": SLOW5_UINT64_T,
+ "open_pore_level": SLOW5_FLOAT,
}
for a in user_aux_types:
@@ -1642,6 +1652,7 @@ cdef class Open:
"num_reads_since_mux_change": type(1),
"time_since_mux_change": type(1.0),
"num_minknow_events": type(1),
+ "open_pore_level": type(1.0),
}
new_aux = {}
@@ -1710,6 +1721,9 @@ cdef class Open:
elif a == "num_minknow_events":
self.num_minknow_events_val = <uint64_t>aux[a]
new_aux[a] = aux[a]
+ elif a == "open_pore_level":
+ self.open_pore_level_val = <float>aux[a]
+ new_aux[a] = aux[a]
else:
self.logger.error("_record_type_validation {}: {} user aux field unknown?".format(a, aux[a]))
@@ -1745,6 +1759,7 @@ cdef class Open:
"num_reads_since_mux_change": type(1),
"time_since_mux_change": type(1.0),
"num_minknow_events": type(1),
+ "open_pore_level": type(1.0),
}
new_aux = {}
@@ -1800,6 +1815,8 @@ cdef class Open:
new_aux[a] = aux[a]
elif a == "num_minknow_events":
new_aux[a] = aux[a]
+ elif a == "open_pore_level":
+ new_aux[a] = aux[a]
else:
self.logger.error("_record_type_validation {}: {} user aux field unknown".format(a, aux[a]))
@@ -1896,6 +1913,7 @@ cdef class Open:
"num_reads_since_mux_change": type(1),
"time_since_mux_change": type(1.0),
"num_minknow_events": type(1),
+ "open_pore_level": type(1.0),
}
aux_types_keys = [
@@ -1912,6 +1930,7 @@ cdef class Open:
"num_reads_since_mux_change",
"time_since_mux_change",
"num_minknow_events",
+ "open_pore_level",
]
self.logger.debug("write_record: _record_type_validation running")
@@ -2052,6 +2071,8 @@ cdef class Open:
ret = slow5_aux_set(self.write, self.time_since_mux_change, <const void *>&self.time_since_mux_change_val, self.s5.header)
elif a == "num_minknow_events":
ret = slow5_aux_set(self.write, self.num_minknow_events, <const void *>&self.num_minknow_events_val, self.s5.header)
+ elif a == "open_pore_level":
+ ret = slow5_aux_set(self.write, self.open_pore_level, <const void *>&self.open_pore_level_val, self.s5.header)
else:
ret = -1
if ret < 0:
@@ -2081,6 +2102,7 @@ cdef class Open:
self.num_reads_since_mux_change_val = 0
self.time_since_mux_change_val = 0.0
self.num_minknow_events_val = 0
+ self.open_pore_level_val = 0
# free memory
@@ -2114,6 +2136,7 @@ cdef class Open:
"num_reads_since_mux_change": type(1),
"time_since_mux_change": type(1.0),
"num_minknow_events": type(1),
+ "open_pore_level": type(1.0),
}
aux_types_keys = [
@@ -2130,6 +2153,7 @@ cdef class Open:
"num_reads_since_mux_change",
"time_since_mux_change",
"num_minknow_events",
+ "open_pore_level",
]
# check if empty dic was given
@@ -2165,6 +2189,7 @@ cdef class Open:
self.num_reads_since_mux_change_val_array = <uint32_t *> malloc(sizeof(uint32_t)*batch_len)
self.time_since_mux_change_val_array = <float *> malloc(sizeof(float)*batch_len)
self.num_minknow_events_val_array = <uint64_t *> malloc(sizeof(uint64_t)*batch_len)
+ self.open_pore_level_val_array = <float *> malloc(sizeof(float)*batch_len)
for i, idx in enumerate(batch):
if aux is not None:
checked_record, checked_aux = self._multi_record_type_validation(records[idx], aux[idx])
@@ -2196,6 +2221,8 @@ cdef class Open:
self.time_since_mux_change_val_array[i] = <float>checked_aux[a]
elif a == "num_minknow_events":
self.num_minknow_events_val_array[i] = <uint64_t>checked_aux[a]
+ elif a == "open_pore_level":
+ self.open_pore_level_val_array[i] = <float>checked_aux[a]
checked_auxs[idx] = checked_aux
else:
checked_record, checked_aux = self._record_type_validation(records[idx], aux)
@@ -2345,6 +2372,8 @@ cdef class Open:
ret = slow5_aux_set(self.twrite[idx], self.time_since_mux_change, <const void *>&self.time_since_mux_change_val_array[idx], self.s5.header)
elif a == "num_minknow_events":
ret = slow5_aux_set(self.twrite[idx], self.num_minknow_events, <const void *>&self.num_minknow_events_val_array[idx], self.s5.header)
+ elif a == "open_pore_level":
+ ret = slow5_aux_set(self.twrite[idx], self.open_pore_level, <const void *>&self.open_pore_level_val_array[idx], self.s5.header)
else:
ret = -1
if ret < 0:
@@ -2389,6 +2418,7 @@ cdef class Open:
free(self.num_reads_since_mux_change_val_array)
free(self.time_since_mux_change_val_array)
free(self.num_minknow_events_val_array)
+ free(self.open_pore_level_val_array)
end_multi_write = time.time() - start_multi_write
self.total_multi_write_time = self.total_multi_write_time + end_multi_write
=====================================
python/test.py
=====================================
@@ -409,7 +409,8 @@ class TestWriteAux(unittest.TestCase):
"predicted_scaling_scale": None,
"num_reads_since_mux_change": None,
"time_since_mux_change": None,
- "num_minknow_events": None}
+ "num_minknow_events": None,
+ "open_pore_level": None,}
_, aux = self.F.get_empty_record(aux=True)
for i, rec in enumerate(aux):
with self.subTest(i=i, attr=rec):
=====================================
setup.py
=====================================
@@ -89,7 +89,7 @@ def readme():
setup(
name = 'pyslow5',
- version='1.3.1',
+ version='1.4.0',
url = 'https://github.com/hasindu2008/slow5lib',
description='slow5lib python bindings',
long_description=readme(),
View it on GitLab: https://salsa.debian.org/med-team/libslow5lib/-/compare/65592b0888bfc09c36b9bfc3b4d03bc0963005f1...4963fe274dbcf02b6151b4f8c10551ef82ad35e5
--
View it on GitLab: https://salsa.debian.org/med-team/libslow5lib/-/compare/65592b0888bfc09c36b9bfc3b4d03bc0963005f1...4963fe274dbcf02b6151b4f8c10551ef82ad35e5
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/20260221/1d08fc2d/attachment-0001.htm>
More information about the debian-med-commit
mailing list