Skip to main content

ta-lib-takt

TA-Lib 0.8.1 for Python with a faster core. The Python package is the official TA-Lib wrapper, unchanged (import talib); only the C library inside it is replaced by a TAKT build of TA-Lib 0.8.1. Every output is identical to the official library, bit for bit.

Install

pip uninstall -y TA-Lib      # both packages provide `import talib`
pip install ta-lib-takt

Linux x86-64 with glibc 2.29 or newer, Python 3.9 to 3.14. The faster paths need AVX2 and FMA (Intel Haswell, AMD Zen or newer); on other CPUs the original code runs. Gains need long series: for short ones (a few thousand bars) the original code runs at the original speed.

How much faster

A parameter sweep (99 periods over one million bars) through the unchanged Python wrapper, the whole process timed, against the official TA-Lib 0.8.1 wheel from PyPI. AMD Zen 3 (Threadripper PRO 5975WX), 7 interleaved rounds with takt-harness; the output was identical in every run:

Indicator Wall-time factor Indicator Wall-time factor
CCI 6.35× EMA 2.17×
DX 2.81× RSI 2.03×
ADX 2.80× BBANDS 1.23×
SAR 2.58× MACD 1.20×
STOCH 2.18× ATR 1.14×

Called from C the same library is 2.3–7.4× faster on these seven indicators, on AMD Zen 3 and Zen 4. All other TA-Lib functions run the original code. Full measurements, readings and the reproduction steps: https://taktcycles.com/showcase/talib/README.html?src=pypi

The same output, bit for bit

Every output array and both output indices match the official TA-Lib library: 4.59 million C API calls and 40,824 calls through this Python wrapper were compared with zero differences, over random walks, constant, alternating and volatile series, NaN and infinity inserts, magnitudes from 1e-300 to 1e300, lengths from 1 to one million and 20 periods. To check on your own data, compute the same indicators in two virtual environments (one with TA-Lib, one with ta-lib-takt) and compare the arrays with numpy.array_equal (NaN in the same places counts as equal: use equal_nan=True).

Your own code, this fast?

TAKT speeds up the hot code of backtests, parameter sweeps and model training, with output identical to the original, and measures the speedup before you pay. Free speed check: https://taktcycles.com/?src=pypi#start · Measurements and updates: https://t.me/taktcycles

Licence

The Python wrapper is TA-Lib's (BSD 2-clause, John Benediktsson). The C library is a modified build of TA-Lib 0.8.1 (BSD 3-clause, Mario Fortier); the source of the modified functions is not published. Both licences are included. This package is not affiliated with the TA-Lib project.

Questions, bugs, a function you want faster: https://github.com/abx-takt/ta-lib-takt/issues

Metadata

Release files for ta-lib-takt 0.8.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for ta-lib-takt 0.8.1
File
ta_lib_takt-0.8.1-cp314-cp314-manylinux_2_29_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.29+ x86-64 Details
ta_lib_takt-0.8.1-cp313-cp313-manylinux_2_29_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.29+ x86-64 Details
ta_lib_takt-0.8.1-cp312-cp312-manylinux_2_29_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.29+ x86-64 Details
ta_lib_takt-0.8.1-cp311-cp311-manylinux_2_29_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.29+ x86-64 Details
ta_lib_takt-0.8.1-cp310-cp310-manylinux_2_29_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.29+ x86-64 Details
ta_lib_takt-0.8.1-cp39-cp39-manylinux_2_29_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.29+ x86-64 Details

Total release size: 21.9 MB

Release files / ta_lib_takt-0.8.1-cp314-cp314-manylinux_2_29_x86_64.whl

Download URL ta_lib_takt-0.8.1-cp314-cp314-manylinux_2_29_x86_64.whl
Size 3.7 MB
Tags CPython 3.14 Linux glibc 2.29+ x86-64
SHA-256 checksum
How to use checksums
afe6f1d10c26a16144735b554980a3404850b5d5e7c561b4a28e7fe3326f8aaf
BLAKE2b-256 checksum
How to use checksums
ae9eae63929939d1c0a469dc04f999b2cd4bc19d941de2e7510079e8c8e9259f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / ta_lib_takt-0.8.1-cp313-cp313-manylinux_2_29_x86_64.whl

Download URL ta_lib_takt-0.8.1-cp313-cp313-manylinux_2_29_x86_64.whl
Size 3.7 MB
Tags CPython 3.13 Linux glibc 2.29+ x86-64
SHA-256 checksum
How to use checksums
78b81ebe44644b710670d3e167cd872b6e3405e95e71ba4a244a3021270a56dc
BLAKE2b-256 checksum
How to use checksums
a85f349aa33779d04debf513a40cf343107e81bb2797e5471eb6b38fc7959e74
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / ta_lib_takt-0.8.1-cp312-cp312-manylinux_2_29_x86_64.whl

Download URL ta_lib_takt-0.8.1-cp312-cp312-manylinux_2_29_x86_64.whl
Size 3.7 MB
Tags CPython 3.12 Linux glibc 2.29+ x86-64
SHA-256 checksum
How to use checksums
86b0410903a4dc0e2b53cb71ef702f69e7786a8eb8966897c477a2fa951da26b
BLAKE2b-256 checksum
How to use checksums
fa3a35fbccbfecfcde4d0026a6d3b771933dfa6119a273e2c29d807676aa2aad
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / ta_lib_takt-0.8.1-cp311-cp311-manylinux_2_29_x86_64.whl

Download URL ta_lib_takt-0.8.1-cp311-cp311-manylinux_2_29_x86_64.whl
Size 3.6 MB
Tags CPython 3.11 Linux glibc 2.29+ x86-64
SHA-256 checksum
How to use checksums
76a7acbed0267fca868c17551ebb940854bc8530d3b99d1da1377ffa273e4644
BLAKE2b-256 checksum
How to use checksums
5137527bd21aabc9f347546ecda09c74c491616096116f7aeb4e38db2b84930a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / ta_lib_takt-0.8.1-cp310-cp310-manylinux_2_29_x86_64.whl

Download URL ta_lib_takt-0.8.1-cp310-cp310-manylinux_2_29_x86_64.whl
Size 3.7 MB
Tags CPython 3.10 Linux glibc 2.29+ x86-64
SHA-256 checksum
How to use checksums
08428a88a44defd26d35e03de0e7d29197ac6bffb8b9cd977fe993f559610771
BLAKE2b-256 checksum
How to use checksums
6c3a2fcbc972ab78206a7438fcf4edcdf1b263f7d9d4b97b26e477a86c20ccb8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / ta_lib_takt-0.8.1-cp39-cp39-manylinux_2_29_x86_64.whl

Download URL ta_lib_takt-0.8.1-cp39-cp39-manylinux_2_29_x86_64.whl
Size 3.7 MB
Tags CPython 3.9 Linux glibc 2.29+ x86-64
SHA-256 checksum
How to use checksums
2b56ccaaa99ace4802db1356256dadb2194846573b688edcb74b5c6b58ad1a7b
BLAKE2b-256 checksum
How to use checksums
c4bb281c044f20b031d424d0314231d949d6c8763d14d468937b7c83d2e5adc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

0.8.1 This release

6 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page