From 2265568ea98a2a36edaacd5a5c0f948d903a1c88 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 17 Sep 2026 21:35:48 +0000 Subject: [PATCH 1/3] ta-lib: Add version 0.8.0 Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- docs/packages/ta-lib.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/packages/ta-lib.yaml b/docs/packages/ta-lib.yaml index 01cc654a06..f8b0aa5fd2 100644 --- a/docs/packages/ta-lib.yaml +++ b/docs/packages/ta-lib.yaml @@ -15,3 +15,4 @@ versions: - filename: ta_lib-0.7.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl sha256: 224fe707f41e360b0219ee6f4eb25781e1d8a1336f059b3259d1ff577c699ae1 requires-python: '>=3.9' +- version: 0.8.0 From 84f0cb3a2e6a0684467286252bd9a97ac88ec140 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 18 Sep 2026 06:09:27 +0000 Subject: [PATCH 2/3] ta-lib: Add 0.8.0 patches The license-files patch needed rebasing onto 0.8.0's pyproject. --- ...les-to-cover-the-vendored-TA-Lib-C-l.patch | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 patches/ta-lib/0.8.0/0001-Widen-license-files-to-cover-the-vendored-TA-Lib-C-l.patch diff --git a/patches/ta-lib/0.8.0/0001-Widen-license-files-to-cover-the-vendored-TA-Lib-C-l.patch b/patches/ta-lib/0.8.0/0001-Widen-license-files-to-cover-the-vendored-TA-Lib-C-l.patch new file mode 100644 index 0000000000..1726b0c559 --- /dev/null +++ b/patches/ta-lib/0.8.0/0001-Widen-license-files-to-cover-the-vendored-TA-Lib-C-l.patch @@ -0,0 +1,38 @@ +From 6acb434811142fe07fc2ded2f7af73aec10dd0be Mon Sep 17 00:00:00 2001 +From: Ludovic Henry +Date: Fri, 18 Sep 2026 06:09:20 +0000 +Subject: [PATCH] Widen license-files to cover the vendored TA-Lib C licence + +license-files = ["LICENSE"] is an explicit PEP 639 list, so it replaces +setuptools' default LICEN[CS]E* glob rather than adding to it. The Linux, +macOS and Windows wheels dynamically link libta-lib, built from the +TA-Lib C library release that tools/build_talib_linux.sh (and its macOS/ +Windows equivalents) downloads at build time from TA-Lib/ta-lib, which is +licensed under the 3-clause BSD licence whose clause 2 requires the +copyright notice to be reproduced in binary redistributions -- but the +built wheel ships only ta-lib-python's own LICENSE. + +Widening the list to also match LICENSE.* lets a LICENSE.ta-lib-c dropped +at the project root reach dist-info/licenses/ with no other packaging +change. + +Upstream-Status: To upstream [not yet submitted; the same gap exists in every ta-lib wheel on PyPI, so this needs a maintainer discussion rather than a drive-by PR] + +Signed-off-by: Ludovic Henry +--- + pyproject.toml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/pyproject.toml b/pyproject.toml +index 37df184d..4e7ab045 100644 +--- a/pyproject.toml ++++ b/pyproject.toml +@@ -7,7 +7,7 @@ name = "TA-Lib" + version = "0.8.0" + description = "Python wrapper for TA-Lib" + readme = "README.md" +-license-files = ["LICENSE"] ++license-files = ["LICENSE", "LICENSE.*"] + authors = [ + {name = "John Benediktsson", email = "mrjbq7@gmail.com"} + ] From 2a0bc9d1879e245c4fc00f6c51e9fc6b9ad3f0c0 Mon Sep 17 00:00:00 2001 From: Ludovic Henry Date: Fri, 18 Sep 2026 13:16:03 +0000 Subject: [PATCH 3/3] ta-lib: resolve TALIB_C_VER per release instead of a fixed 0.7.1 pin ta-lib-python 0.8.0 wraps TA-Lib C functions (TA_ERI, TA_HA, TA_SUPERTREND, TA_VWAP, ...) added after C 0.7.1, so cp312/cp313/cp314 all failed to compile with implicit-declaration errors against the TALIB_C_VER=0.7.1 library our workflow builds in CIBW_BEFORE_ALL_LINUX. Upstream's own wheels.yml pins a different TALIB_C_VER per tag (0.7.1 for v0.7.1, 0.8.1 for v0.8.0); read it from the checked-out ta-lib-python repo instead of hardcoding one value for every version. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_011RwtHNpuiuiCk4MstTLu8m --- .github/workflows/build-ta-lib.yml | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-ta-lib.yml b/.github/workflows/build-ta-lib.yml index ef4cc2a8cc..d41b812890 100644 --- a/.github/workflows/build-ta-lib.yml +++ b/.github/workflows/build-ta-lib.yml @@ -32,9 +32,6 @@ permissions: contents: read # to fetch code (actions/checkout) env: - # The TA-Lib C library version fetched by tools/build_talib_linux.sh; a - # separate pin from TA_LIB_VERSION, mirroring upstream's own workflow. - TALIB_C_VER: '0.7.1' MANYLINUX_RISCV64_IMAGE: quay.io/pypa/manylinux_2_39_riscv64 jobs: @@ -78,6 +75,15 @@ jobs: - name: Patch ta-lib-python source run: git apply python-wheels/patches/ta-lib/${{ env.TA_LIB_VERSION }}/*.patch + # The TA-Lib C library version tracked by each ta-lib-python release + # changes independently of TA_LIB_VERSION (0.8.0 needs C 0.8.1, not + # 0.7.1); read it straight from upstream's own workflow at this tag. + - name: Determine the TA-Lib C library version this release needs + run: | + talib_c_ver="$(sed -n 's/^ TALIB_C_VER: *//p' .github/workflows/wheels.yml)" + test -n "$talib_c_ver" + echo "TALIB_C_VER=${talib_c_ver}" >> "$GITHUB_ENV" + - name: Build wheels uses: pypa/cibuildwheel@1828c10ab37f080699c7b81cea34097c684a7074 # v4.2.0 with: