Skip to main content

High-performance technical analysis library - TA-Lib compatible

Project description

TechKit Python Bindings

High-performance Python bindings for TechKit technical analysis library.

Features

  • 189 Technical Indicators - Moving averages, oscillators, volatility, volume indicators, and more
  • 100% TA-Lib Compatible - Drop-in replacement API for easy migration
  • High Performance - C++ core with zero-copy NumPy integration
  • Streaming Support - Both incremental (streaming) and batch calculation modes
  • Type Hints - Full typing support for IDE integration
  • Cross-Platform - Windows, Linux, macOS support

Installation

From PyPI (when available)

pip install techkit

From Source

cd bindings/python
pip install -e .

Quick Start

OOP API (Recommended)

from techkit import SMA, RSI, MACD, BBANDS
import numpy as np

# Sample data
prices = np.random.randn(100).cumsum() + 100

# Simple Moving Average
sma = SMA(period=20)
result = sma.calculate(prices)  # Batch calculation

# Incremental/streaming updates
sma.reset()
for price in prices:
    result = sma.update(price)
    if result.valid:
        print(f"SMA: {result.value}")

# Multi-output indicators
macd = MACD(fast=12, slow=26, signal=9)
result = macd.calculate(prices)
print(f"MACD: {result.macd[-1]}")
print(f"Signal: {result.signal[-1]}")
print(f"Histogram: {result.histogram[-1]}")

# Bollinger Bands
bbands = BBANDS(period=20, std_up=2.0, std_dn=2.0)
result = bbands.calculate(prices)
upper, middle, lower = result  # Can unpack

TA-Lib Compatible API

from techkit import talib_compat as ta

# Same API as TA-Lib
sma = ta.SMA(prices, timeperiod=20)
rsi = ta.RSI(prices, timeperiod=14)
macd, signal, hist = ta.MACD(prices)
upper, middle, lower = ta.BBANDS(prices, timeperiod=20)

# OHLCV indicators
atr = ta.ATR(high, low, close, timeperiod=14)
slowk, slowd = ta.STOCH(high, low, close)

Indicator Chaining

from techkit import Chain, RSI, EMA

# Smoothed RSI: RSI(14) -> EMA(9)
chain = Chain([RSI(14), EMA(9)])
smoothed_rsi = chain.calculate(prices)

Available Indicators

Moving Averages

  • SMA, EMA, WMA, DEMA, TEMA, KAMA, TRIMA, T3

Momentum

  • RSI, MACD, MOM, ROC, CCI, ADX, WILLR, STOCH, MFI, TRIX, ULTOSC, CMO, etc.

Volatility

  • ATR, NATR, TRANGE, BBANDS

Volume

  • OBV, AD, ADOSC

Statistics

  • STDDEV, VAR, LINEARREG, TSF, BETA, CORREL

Price Transform

  • AVGPRICE, MEDPRICE, TYPPRICE, WCLPRICE

Math Operators

  • MAX, MIN, SUM, MIDPOINT, MIDPRICE, MINMAX

Hilbert Transform

  • HT_DCPERIOD, HT_DCPHASE, HT_TRENDMODE, HT_TRENDLINE, HT_PHASOR, HT_SINE

Parabolic SAR

  • SAR

Performance

TechKit is designed for high performance:

  • C++ core compiled with optimizations
  • Zero-copy NumPy integration
  • O(1) incremental updates
  • O(period) memory footprint
  • Thread-safe (no global state)

Requirements

  • Python 3.10, 3.11, 3.12, or 3.13
  • NumPy >= 1.21.0

License

MIT License

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

techkit-1.2.0.tar.gz (24.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

techkit-1.2.0-cp312-cp312-win_amd64.whl (176.3 kB view details)

Uploaded CPython 3.12Windows x86-64

techkit-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (251.0 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

techkit-1.2.0-cp312-cp312-macosx_11_0_arm64.whl (164.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

techkit-1.2.0-cp312-cp312-macosx_10_14_x86_64.whl (183.9 kB view details)

Uploaded CPython 3.12macOS 10.14+ x86-64

techkit-1.2.0-cp311-cp311-win_amd64.whl (175.4 kB view details)

Uploaded CPython 3.11Windows x86-64

techkit-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (250.8 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

techkit-1.2.0-cp311-cp311-macosx_11_0_arm64.whl (163.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

techkit-1.2.0-cp311-cp311-macosx_10_14_x86_64.whl (180.9 kB view details)

Uploaded CPython 3.11macOS 10.14+ x86-64

techkit-1.2.0-cp310-cp310-win_amd64.whl (174.6 kB view details)

Uploaded CPython 3.10Windows x86-64

techkit-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (248.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

techkit-1.2.0-cp310-cp310-macosx_11_0_arm64.whl (162.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

techkit-1.2.0-cp310-cp310-macosx_10_14_x86_64.whl (179.4 kB view details)

Uploaded CPython 3.10macOS 10.14+ x86-64

File details

Details for the file techkit-1.2.0.tar.gz.

File metadata

  • Download URL: techkit-1.2.0.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for techkit-1.2.0.tar.gz
Algorithm Hash digest
SHA256 36a020e88059f2de80c760e1f8781070a76445a9ea34baa8c3bc7eedd77af2fa
MD5 14f3437a26343b15f93b16bf7bd187eb
BLAKE2b-256 3cc4a0ae260a396ed4e844783dcd2542571690f90edf8f91fb13fb20db9fdfaf

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: techkit-1.2.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 176.3 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for techkit-1.2.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 8b6cf31cb46d14d7ee20369fc91d2df933f7e3314bff5270829ead6afd93fc8e
MD5 b01ea4611bb9d63a88c9926810a4705e
BLAKE2b-256 46004778a702ea50f2361044295fa4881d310e3b9a91e814c2f9fbde00d90b21

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 053d23a2fa91fda4024df91f418a0fd7c393d99a99f30ff43e643888640a09db
MD5 7c81c78c7168ab48d35d9d9dc525d09c
BLAKE2b-256 28fed7a44a90b92394edd2ade3f54f526aa2733723b103b5ae3542250561a300

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d73391fcefcf762d2d413dca4a2b185f1dfa1ac2b4e5c6f3f9749b0d9f933677
MD5 e00babe36601370cf3f1bf4f81951fbb
BLAKE2b-256 391674343b52fa5aa9d654cb6764f24e3ed68466d8f6119fd1c4e840ea7d0439

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp312-cp312-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp312-cp312-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 c4588242827410564836a74c989b5a2e5f0a78fe7153f91b7ed2db33eb7b756d
MD5 471980c202ff1630e2319124c5bf2992
BLAKE2b-256 06d04e6c9438260f83c7179ba6dcb0e7d2d59d4c71930a25b979e8d5820b4356

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: techkit-1.2.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 175.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for techkit-1.2.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 72785ab92b398ce658795da69a5366a5d30b03db473429a6f0eddca4f58c8598
MD5 cdeed6b9a6b42bdfb22571132e6fcc42
BLAKE2b-256 99ec458c0b5a798113657d382ac61793adf542085e56bffdd0337ddc2e614456

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8debd6fe3c57de3f801e590f4de27fdedeb78fd2e5f76fcd3eccf46808af3669
MD5 77d1671e75a0e5a8aaf2df8fe527582f
BLAKE2b-256 b23d2d40611229f7bb43fa6f0ee64d46ae8e4560132f1b0986f61288bafb7527

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f0ff12f9ec45cbce94b006f55f739aae9c8e68ab8ff9d393d2fd064e10fb1b1d
MD5 fce7c46de533a24000482bd6799df873
BLAKE2b-256 dea68b72e614f4c28f2ced35b1b1aa0365564679962fe2881da6abea7415a9b4

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp311-cp311-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp311-cp311-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 8ff490be3eb94c018435ad219b46920989acafe0bb1965168a5f26b3d8af427e
MD5 7111f86ce7c95c48455c015f1afe8472
BLAKE2b-256 0cf2455b979d4a85054ec64c7d50440b5589aa9eb7b010d127bd3f48bd08776f

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: techkit-1.2.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 174.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for techkit-1.2.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 8a3e43b2d9f47830a3650ae5ec87470718e31d9ac31181f1150603e6f2d134b9
MD5 69e12a8d11d33654056a497c58f22f7e
BLAKE2b-256 d5034c5933704062c59fc43639f097171dadf8f27c1f669905048628b7d4ae2d

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b23953c081c32152e6f7a5c77e97f200373265f4f3b330587ed00a34bb0f6344
MD5 a04907872615362308fe38c7c81be95f
BLAKE2b-256 9f798e15ae7dd3ba5a92ad0846c806afb6d057cd836bbc95fa30a21657ce2049

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8c4cc7192ad9b070fd5a7aaddd0e0b0d9e08f13072d7178ea75b2519a2360e6c
MD5 473ff01db13fb3ac3c251749a50bb85b
BLAKE2b-256 bb3d8903936b5cafec7310558d3cf5128d06df5ad7b201f74c97227b9835305a

See more details on using hashes here.

File details

Details for the file techkit-1.2.0-cp310-cp310-macosx_10_14_x86_64.whl.

File metadata

File hashes

Hashes for techkit-1.2.0-cp310-cp310-macosx_10_14_x86_64.whl
Algorithm Hash digest
SHA256 ce47fc995081fd7b49b58f7e5c8a04d7629533dcd1598624176a617c826d2dae
MD5 66812d6ef0d00500f17887afbbc89b35
BLAKE2b-256 3cb479e8489a354505e855c7d31958af59401816a40402722f206a02b4d9b03e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page