Techalib
Techalib is a fast, reliable, and ergonomic technical analysis library written in Rust, with seamless Python bindings.
Inspired by TA-LIB, Techalib has been extensively tested against it to ensure accuracy and performance.
🚧 Techalib is in active development. More features, indicators, and improvements will come.
📦 Installation
Rust
Available soon on Cargo
Python
Available soon on PyPI
📚 Documentation
Rust
Available soon
Python
Available soon
⚡ Benchmarks
Techalib matches TA-LIB in performance and, for specific indicators, achieves even faster execution through algorithmic optimizations.
📊 Supported indicators
The number of supported indicators is set to increase.
| Category | Function name - Name | Status |
|---|---|---|
| Overlap | ||
| bbands - Bollinger Bands | ✅ | |
| midpoint - MidPoint over period | ✅ | |
| midprice - Midpoint Price over period | ✅ | |
| Moving Average | sma - Simple Moving Average | ✅ |
| ema - Exponential Moving Average | ✅ | |
| wma - Weighted Moving Average | ✅ | |
| dema - Double Exponential Moving Average | ✅ | |
| tema - Triple Exponential Moving Average | ✅ | |
| trima - Triangular Moving Average | ✅ | |
| t3 - Tillson Triple Moving Average | ✅ | |
| kama - Kaufman Adaptive Moving Average | ✅ | |
| Momentum | ||
| macd - Moving Average Convergence Divergence | ✅ | |
| adx - Average Directional Movement Index | ✅ | |
| aroon - Aroon | ✅ | |
| dx - Directional Movement Index | ✅ | |
| minus_di - Minus Directional Indicator | ✅ | |
| minus_dm - Minus Directional Movement | ✅ | |
| plus_di - Plus Directional Indicator | ✅ | |
| plus_dm - Plus Directional Movement | ✅ | |
| roc - Rate of change | ✅ | |
| rocr - Rate of change ratio | ✅ | |
| Oscillator | rsi - Relative Strength Index | ✅ |
| aroonosc - Aroon Oscillator | ✅ | |
| Volume | ||
| ad - Chaikin A/D Line | ✅ | |
| Volatility | ||
| atr - Average True Range | ✅ |
🤓 Contribution
To contribute to the techalib project, first fork the repository and create a new branch from upstream/main using a proper naming convention (feat/, fix/, etc.). Set up your development environment by installing Python, Rust, and project dependencies, then build the project and run tests. If you're adding a new indicator, use the provided tools to generate boilerplate code and test data, and follow the inserted TODO comments. Follow the commit message guidelines and rebase your branch onto the latest changes from upstream/main. Finally, open a pull request with a clear description, allow edits by maintainers, and be ready to respond to review feedback.
For a more detailed description please read this guidelines before submitting a pull request.
Metadata
Release files for techalib 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| techalib-0.1.0.tar.gz | 60.5 kB | Without provenance | Details for techalib-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| techalib-0.1.0-cp38-abi3-manylinux_2_34_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.34+ x86-64 | Details for techalib-0.1.0-cp38-abi3-manylinux_2_34_x86_64.whl |
Total release size: 496.6 kB
Release files / techalib-0.1.0.tar.gz
| Download URL | techalib-0.1.0.tar.gz |
|---|---|
| Size | 60.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a962b3773bb9869881ff99e8ca47a706761fee68aae40077239c7986bc379e65
|
|
BLAKE2b-256 checksum How to use checksums |
aac1d9345833950872ad4eba3fd2967d2790bda46b1bca929b62ccab3fe6938c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.8.7
|
Release files / techalib-0.1.0-cp38-abi3-manylinux_2_34_x86_64.whl
| Download URL | techalib-0.1.0-cp38-abi3-manylinux_2_34_x86_64.whl |
|---|---|
| Size | 436.1 kB |
| Tags | CPython 3.8 Linux glibc 2.34+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8d163237e948a2edd807bce2891759382182338c1dcf20299d30c0aa5199f04a
|
|
BLAKE2b-256 checksum How to use checksums |
86619a700106be94c656099ce80492428c9b619684e434cfb37657eedb56f186
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.8.7
|
Security for techalib 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.