Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions .github/workflows/build-ta-lib.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
1 change: 1 addition & 0 deletions docs/packages/ta-lib.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
From 6acb434811142fe07fc2ded2f7af73aec10dd0be Mon Sep 17 00:00:00 2001
From: Ludovic Henry <git@ludovic.dev>
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 <git@ludovic.dev>
---
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"}
]
Loading