From 1fd2790e3b6317bbd8d169796d57d5ffec688738 Mon Sep 17 00:00:00 2001 From: David C Ellis Date: Thu, 9 Apr 2026 15:17:15 +0100 Subject: [PATCH 1/2] build the zipapp with python 3.14 --- .github/workflows/build_zipapp.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_zipapp.yml b/.github/workflows/build_zipapp.yml index 4b40336..a95ec5a 100644 --- a/.github/workflows/build_zipapp.yml +++ b/.github/workflows/build_zipapp.yml @@ -17,7 +17,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.10" # build with oldest supported python + python-version: "3.14" # Build with 3.14 to ensure reannotate is included - name: Build the Zipapp run: >- python3 scripts/build_zipapp.py From 8156d2638a0012724c8c3f93adbfd9d4fa38ffa2 Mon Sep 17 00:00:00 2001 From: David C Ellis Date: Thu, 9 Apr 2026 15:30:06 +0100 Subject: [PATCH 2/2] add a zipapp group for local builds --- pyproject.toml | 2 ++ uv.lock | 13 +++++++++++++ 2 files changed, 15 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 72662c0..c8be525 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,8 @@ dev = [ "mypy>=1.16", ] +zipapp = ["pip>=26.0"] + [tool.setuptools.packages.find] where = ["src"] diff --git a/uv.lock b/uv.lock index c44201f..7c169f7 100644 --- a/uv.lock +++ b/uv.lock @@ -170,6 +170,9 @@ dev = [ { name = "pytest" }, { name = "pytest-cov" }, ] +zipapp-build = [ + { name = "pip" }, +] [package.metadata] requires-dist = [ @@ -185,6 +188,7 @@ dev = [ { name = "pytest", specifier = ">=8.4" }, { name = "pytest-cov", specifier = ">=6.1" }, ] +zipapp-build = [{ name = "pip", specifier = ">=26.0" }] [[package]] name = "exceptiongroup" @@ -377,6 +381,15 @@ wheels = [ { url = "https://files.pythonhosted.org/packages/ef/3c/2c197d226f9ea224a9ab8d197933f9da0ae0aac5b6e0f884e2b8d9c8e9f7/pathspec-1.0.4-py3-none-any.whl", hash = "sha256:fb6ae2fd4e7c921a165808a552060e722767cfa526f99ca5156ed2ce45a5c723", size = 55206, upload-time = "2026-01-27T03:59:45.137Z" }, ] +[[package]] +name = "pip" +version = "26.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/48/83/0d7d4e9efe3344b8e2fe25d93be44f64b65364d3c8d7bc6dc90198d5422e/pip-26.0.1.tar.gz", hash = "sha256:c4037d8a277c89b320abe636d59f91e6d0922d08a05b60e85e53b296613346d8", size = 1812747, upload-time = "2026-02-05T02:20:18.702Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/de/f0/c81e05b613866b76d2d1066490adf1a3dbc4ee9d9c839961c3fc8a6997af/pip-26.0.1-py3-none-any.whl", hash = "sha256:bdb1b08f4274833d62c1aa29e20907365a2ceb950410df15fc9521bad440122b", size = 1787723, upload-time = "2026-02-05T02:20:16.416Z" }, +] + [[package]] name = "pluggy" version = "1.6.0"