From d2692f093d167c231cad591a9a79811a27608031 Mon Sep 17 00:00:00 2001 From: Teque5 Date: Sat, 17 Jan 2026 17:53:55 -0800 Subject: [PATCH 1/2] add support for python3.14 --- .github/workflows/main.yml | 2 +- README.md | 2 +- pyproject.toml | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8aaf0e5..ede6f0e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,7 +12,7 @@ jobs: runs-on: ubuntu-22.04 strategy: matrix: - python-version: ["3.7", "3.9", "3.11", "3.13"] + python-version: ["3.7", "3.9", "3.11", "3.13", "3.14"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} diff --git a/README.md b/README.md index dc6df11..201e095 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ [![PyPI Downloads Shield](https://img.shields.io/pypi/dm/sigmf)](https://pypi.org/project/SigMF/) The `sigmf` library makes it easy to interact with Signal Metadata Format -(SigMF) recordings. This library is compatible with Python 3.7-3.13 and is distributed +(SigMF) recordings. This library is compatible with Python 3.7-3.14 and is distributed freely under the terms GNU Lesser GPL v3 License. This module follows the SigMF specification [html](https://sigmf.org/)/[pdf](https://sigmf.github.io/SigMF/sigmf-spec.pdf) from the [spec repository](https://github.com/sigmf/SigMF). diff --git a/pyproject.toml b/pyproject.toml index 09f4566..7984e23 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -14,6 +14,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Scientific/Engineering", "Topic :: Communications :: Ham Radio", ] From 69e0efc648e1e30acef4a2427b17d95ebae086a2 Mon Sep 17 00:00:00 2001 From: Teque5 Date: Sun, 18 Jan 2026 22:50:51 -0800 Subject: [PATCH 2/2] fix tarfile edgecase in python3.14 --- sigmf/__init__.py | 2 +- tests/test_archive.py | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/sigmf/__init__.py b/sigmf/__init__.py index 9050252..4238964 100644 --- a/sigmf/__init__.py +++ b/sigmf/__init__.py @@ -5,7 +5,7 @@ # SPDX-License-Identifier: LGPL-3.0-or-later # version of this python module -__version__ = "1.6.0" +__version__ = "1.6.1" # matching version of the SigMF specification __specification__ = "1.2.6" diff --git a/tests/test_archive.py b/tests/test_archive.py index c9d6e70..cd500b6 100644 --- a/tests/test_archive.py +++ b/tests/test_archive.py @@ -69,9 +69,10 @@ def test_fileobj_ignores_extension(self): def test_custom_name_overrides_fileobj_name(self): """Test that name is used in file object""" - with open(self.temp_path_archive, "wb") as temp: - sigmf_archive = self.sigmf_object.archive(name="testarchive", fileobj=temp) - sigmf_tarfile = tarfile.open(sigmf_archive, mode="r") + with open(self.temp_path_archive, "w+b") as temp: + self.sigmf_object.archive(name="testarchive", fileobj=temp) + temp.seek(0) # rewind to beginning of file after writing + sigmf_tarfile = tarfile.open(fileobj=temp, mode="r") basedir, file1, file2 = sigmf_tarfile.getmembers() self.assertEqual(basedir.name, "testarchive") self.assertEqual(Path(file1.name).stem, "testarchive")