Nilesh Patra pushed to branch master at Debian Med / python-xopen
Commits: 01d726c2 by Nilesh Patra at 2021-10-19T15:45:11+05:30 New upstream version 1.2.1 - - - - - 1435c436 by Nilesh Patra at 2021-10-19T15:45:11+05:30 Update upstream source from tag 'upstream/1.2.1' Update to upstream version '1.2.1' with Debian dir d810804a9bbd6fa7e94fe926d07e54f84d89f7b0 - - - - - 134aff3f by Nilesh Patra at 2021-10-19T15:45:58+05:30 Remove patches, marged usptream - - - - - 2a303c1b by Nilesh Patra at 2021-10-19T15:46:34+05:30 Upload to unstable - - - - - 8 changed files: - PKG-INFO - debian/changelog - − debian/patches/i386.patch - − debian/patches/series - src/xopen.egg-info/PKG-INFO - src/xopen/__init__.py - src/xopen/_version.py - tests/test_xopen.py Changes: ===================================== PKG-INFO ===================================== @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: xopen -Version: 1.2.0 +Version: 1.2.1 Summary: Open compressed files transparently Home-page: https://github.com/pycompression/xopen/ Author: Marcel Martin et al. ===================================== debian/changelog ===================================== @@ -1,3 +1,10 @@ +python-xopen (1.2.1-1) unstable; urgency=medium + + * New upstream version 1.2.1 + * Remove patches, marged usptream + + -- Nilesh Patra <[email protected]> Tue, 19 Oct 2021 15:46:02 +0530 + python-xopen (1.2.0-2) unstable; urgency=medium * d/p/i386.patch: Fix FTBFS and debci on 32 bit arches ===================================== debian/patches/i386.patch deleted ===================================== @@ -1,30 +0,0 @@ -From: Marcel Martin <[email protected]> -Date: Thu, 30 Sep 2021 19:03:50 +0200 -Subject: [PATCH] Avoid MemoryError during tests on 32-bit architectures - -Thanks to @nileshpatra! - -Closes #76 ---- - tests/test_xopen.py | 7 +++++-- - 1 file changed, 5 insertions(+), 2 deletions(-) - -diff --git a/tests/test_xopen.py b/tests/test_xopen.py -index 74d45d5..d9da91a 100644 ---- a/tests/test_xopen.py -+++ b/tests/test_xopen.py -@@ -630,8 +630,11 @@ def test_xopen_falls_back_to_bzip2_open(lacking_pbzip2_permissions): - - def test_open_many_writers(tmp_path, ext): - files = [] -- for i in range(1, 61): -- path = tmp_path / f"{i:03d}.txt.{ext}" -+ # Because lzma.open allocates a lot of memory, -+ # open fewer files to avoid MemoryError on 32-bit architectures -+ n = 21 if ext == ".xz" else 61 -+ for i in range(1, n): -+ path = tmp_path / f"{i:03d}.txt{ext}" - f = xopen(path, "wb", threads=2) - f.write(b"hello") - files.append(f) - ===================================== debian/patches/series deleted ===================================== @@ -1 +0,0 @@ -i386.patch ===================================== src/xopen.egg-info/PKG-INFO ===================================== @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: xopen -Version: 1.2.0 +Version: 1.2.1 Summary: Open compressed files transparently Home-page: https://github.com/pycompression/xopen/ Author: Marcel Martin et al. ===================================== src/xopen/__init__.py ===================================== @@ -732,10 +732,20 @@ def xopen( detected_format = _detect_format_from_content(filename) if detected_format == "gz": - return _open_gz(filename, mode, compresslevel, threads) + opened_file = _open_gz(filename, mode, compresslevel, threads) elif detected_format == "xz": - return _open_xz(filename, mode) + opened_file = _open_xz(filename, mode) elif detected_format == "bz2": - return _open_bz2(filename, mode, threads) + opened_file = _open_bz2(filename, mode, threads) else: - return open(filename, mode) + opened_file = open(filename, mode) + + # The "write" method for GzipFile is very costly. Lots of python calls are + # made. To a lesser extent this is true for LzmaFile and BZ2File. By + # putting a buffer in between, the expensive write method is called much + # less. The effect is very noticeable when writing small units such as + # lines or FASTQ records. + if (isinstance(opened_file, (gzip.GzipFile, bz2.BZ2File, lzma.LZMAFile)) + and "w" in mode): + opened_file = io.BufferedWriter(opened_file) # type: ignore + return opened_file ===================================== src/xopen/_version.py ===================================== @@ -1,5 +1,5 @@ # coding: utf-8 # file generated by setuptools_scm # don't change, don't track in version control -version = '1.2.0' -version_tuple = (1, 2, 0) +version = '1.2.1' +version_tuple = (1, 2, 1) ===================================== tests/test_xopen.py ===================================== @@ -532,14 +532,16 @@ def test_write_no_threads(tmpdir, ext): klass = klasses[ext] path = str(tmpdir.join(f"out.{ext}")) with xopen(path, "wb", threads=0) as f: - assert isinstance(f, klass), f + assert isinstance(f, io.BufferedWriter) + if ext: + assert isinstance(f.raw, klass), f def test_write_gzip_no_threads_no_isal(tmpdir, xopen_without_igzip): import gzip path = str(tmpdir.join("out.gz")) with xopen_without_igzip(path, "wb", threads=0) as f: - assert isinstance(f, gzip.GzipFile), f + assert isinstance(f.raw, gzip.GzipFile), f def test_write_stdout(): @@ -630,8 +632,11 @@ def test_xopen_falls_back_to_bzip2_open(lacking_pbzip2_permissions): def test_open_many_writers(tmp_path, ext): files = [] - for i in range(1, 61): - path = tmp_path / f"{i:03d}.txt.{ext}" + # Because lzma.open allocates a lot of memory, + # open fewer files to avoid MemoryError on 32-bit architectures + n = 21 if ext == ".xz" else 61 + for i in range(1, n): + path = tmp_path / f"{i:03d}.txt{ext}" f = xopen(path, "wb", threads=2) f.write(b"hello") files.append(f) View it on GitLab: https://salsa.debian.org/med-team/python-xopen/-/compare/c94b8d4d9aad47675bab79d15dbb1d58a50bdf5b...2a303c1b5f926c2bcf3a84b41e00dc0b5aa7d853 -- View it on GitLab: https://salsa.debian.org/med-team/python-xopen/-/compare/c94b8d4d9aad47675bab79d15dbb1d58a50bdf5b...2a303c1b5f926c2bcf3a84b41e00dc0b5aa7d853 You're receiving this email because of your account on salsa.debian.org.
_______________________________________________ debian-med-commit mailing list [email protected] https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-commit
