High-performance Rust-based technical indicators for Jesse trading framework
Project description
Jesse Rust
The native technical-indicator engine that powers the Jesse trading framework — written in Rust, exposed to Python via PyO3.
Why
jesse_rust is, to our knowledge, the fastest technical-indicator library
available for Python. Indicators are implemented in native Rust, compiled
with full LTO and opt-level = 3, and called from Python with zero-copy
NumPy bindings. It is consistently faster than equivalent pure-Python or
pandas-based implementations and is also faster than numba-accelerated
versions of the same algorithms — without the cold-start JIT cost, without a
runtime LLVM dependency, and without numba's per-call overhead.
- Native speed — everything runs as compiled machine code, no JIT warm-up.
- Memory-safe — no
unsafeblocks in the indicator code. - Zero-copy NumPy — input arrays are read in place via PyO3's
numpybindings. - Drop-in for Jesse — every Jesse indicator that needs an inner loop is routed here; you don't have to call this library directly.
- Cross-platform — pre-built wheels for Linux, macOS, and Windows.
Installation
pip install jesse-rust
Requirements: Python 3.10+, NumPy 1.26.4+.
Usage
You normally don't import jesse_rust yourself. Strategies call indicators
through Jesse's standard interface and the Rust backend is used automatically:
from jesse.strategies import Strategy
import jesse.indicators as ta
class MyStrategy(Strategy):
def update_indicators(self):
rsi = ta.rsi(self.candles, period=14)
ema = ta.ema(self.candles, period=200)
macd = ta.macd(self.candles)
bands = ta.bollinger_bands(self.candles)
Direct use from Python is supported too if you need it:
import numpy as np
import jesse_rust as jr
source = np.asarray(prices, dtype=np.float64)
ema_50 = jr.ema(np.ascontiguousarray(source), 50)
Supported indicators
99 functions across 9 categories.
Moving averages and smoothers (29)
cwma, dema, ema, epma, frama, hma, hwma, jma, kama,
maaq, mcginley_dynamic, mwdx, nma, rma, sma, smma, sqwma,
srwma, t3, tema, trix, vidya, vlma_inner, vpwma, vwap,
vwma, wilders, wma, zlema
Oscillators / momentum (20)
aroonosc, cci, cfo, cg, cmo, dpo, dti, fisher, fosc,
lrsi, macd, mass, pfe, rsi, rsx, srsi, stoch, stochf,
willr, wt
Trend / directional (11)
adx, adxr, alligator, di, dm, dx, ichimoku_cloud,
safezonestop, sar, supertrend, vi
Volume (7)
adosc, cvi, efi, emv, nvi, pvi, wad
Bands / channels / volatility (7)
atr, bollinger_bands, bollinger_bands_width, chande, chop,
donchian, keltner_inner
Ehlers filters (14)
bandpass, correlation_cycle, edcf, gauss, high_pass,
high_pass_2_pole, itrend, mama, pma, reflex, supersmoother,
supersmoother_3_pole, trendflex, voss
Candle transforms (3)
emd, heikin_ashi_candles, qstick
Statistical (3)
damiani_volatmeter, hurst_rs, linearreg
Utilities (5)
find_order_index, moving_std, shift, subtract_floats, sum_floats
Building from source
You only need this section if you're contributing.
Prerequisites
Build
git clone https://github.com/jesse-ai/jesse-rust.git
cd jesse-rust
pip install maturin
# Develop build (installs into your current Python env)
maturin develop --release
# Wheel build (outputs to ./target/wheels)
maturin build --release
Contributing
This package is part of the Jesse trading framework. Please refer to the main Jesse repository for contribution guidelines.
License
MIT — see the LICENSE file.
Support
- Documentation: docs.jesse.trade
- Community: Jesse Discord
- Issues: GitHub Issues
Acknowledgments
Built with:
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
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file jesse_rust-1.2.0.tar.gz.
File metadata
- Download URL: jesse_rust-1.2.0.tar.gz
- Upload date:
- Size: 59.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
358a9719a84f6c3f1f16c797157f9c57b2848f96349d3f1d9dfc86f4cb923560
|
|
| MD5 |
041c9b0cb9b11028cd31ed2d811549f4
|
|
| BLAKE2b-256 |
e280c80cf3de5cf13aef1561dc2030843de214cdf0914fece8f7d47552889c7f
|
File details
Details for the file jesse_rust-1.2.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8640339272e2728c27e2649e573624ff6ed75d491d8d2c46de5742128ae2c6a4
|
|
| MD5 |
40ce4b2d83c5a1e909c10672a1b3e6ba
|
|
| BLAKE2b-256 |
1977415b944b4fc3d94ec174bcaa3e223fd825e065de594ce1764008c27053af
|
File details
Details for the file jesse_rust-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 427.1 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
440e7bdedc899a0fd6fee6337cf6b6dcf48c86b8c72a3f123c3bee7579a0748e
|
|
| MD5 |
7bcf4a7cab74ca6e2f55c563f7e1cd11
|
|
| BLAKE2b-256 |
7f85b39fcde30412329f71f1cd977f5f188b173f18544d338804fae661262d15
|
File details
Details for the file jesse_rust-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 393.6 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3b7bc59ed3ac8f78ed349e208073bc9eedecebcdb445eeb07c001b16fa6711e4
|
|
| MD5 |
1a17697f2d2b1a6f3aa54c1814283968
|
|
| BLAKE2b-256 |
0eb7a5c0039406dc67278a6cb19d25758c24250bb0f9802d2ea1ecf4831346c9
|
File details
Details for the file jesse_rust-1.2.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 371.4 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edef993d5acc20ef0ef85575f4f3e2545d8c5fb9307710be7ab8ed195dd77a24
|
|
| MD5 |
e9da54f37d60404a2f2986a9e71e853c
|
|
| BLAKE2b-256 |
84e2a356872fb885bacc9ac6f3f62b28b4d5537ca447ce346fce3d45898233d6
|
File details
Details for the file jesse_rust-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 419.0 kB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
46af29b14336cb4fdabfbd729d3c2790ddb70f1924fcfc63192c160fffa48b66
|
|
| MD5 |
57ea84dc83f957e9850fd9922bb6d5a0
|
|
| BLAKE2b-256 |
fb379101f21c44bc7dd242be48b17bc722d84518bf5dacf0e0af21373ee7e53e
|
File details
Details for the file jesse_rust-1.2.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 329.2 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c58a55d3a6970f372dac78162f9c76a22a275372c4881c25cf92c801aaebbb8d
|
|
| MD5 |
7f93036880703cc8a591f1a7e6725ab9
|
|
| BLAKE2b-256 |
74b69644874cdf1fcf927e7bffd47f15bc531c2676f2b7162ae8c8905179f576
|
File details
Details for the file jesse_rust-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 427.1 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fba700a50b73c1d373c9db5d5d4ac97d0e2b8eb929a1aa29d6a80210f0ed291c
|
|
| MD5 |
2c4e7fc7a8cff158543b02633b666318
|
|
| BLAKE2b-256 |
1336879e5c8401e66d905d6e9d1d286ef11bda9af864cb5fa5034d651099a720
|
File details
Details for the file jesse_rust-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 393.6 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
53a5a604babc607f3ea8d33396880b37d4c30f9587229273a94db500da1fce00
|
|
| MD5 |
5d130563bf639bd5100851b304cc4f1b
|
|
| BLAKE2b-256 |
48b4239ca15f8e4562919bb35ed91c525fe2e0b18b6b9261b2c8037b78ad0955
|
File details
Details for the file jesse_rust-1.2.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 371.4 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
744af0a640aa22e208340bac307ac2d84f3e3c5fcc688852d9e0a0c948312614
|
|
| MD5 |
71ec7e79a703e6ae112d8db630993f95
|
|
| BLAKE2b-256 |
e0947f849f9390c0b65bb0a2abc98f7bba153adff066614a3411613426c0f6a1
|
File details
Details for the file jesse_rust-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 419.0 kB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
048414c265db8dc79449ecaa24a5614409701ddd85d4227353a0125b0a6770fe
|
|
| MD5 |
8cd8a10ccf15a3ecc87e9efffb37e4c1
|
|
| BLAKE2b-256 |
95d0b51510ef4a5564646e375bcba8af0f4a5ca6b093f8e1876f287114f48e9c
|
File details
Details for the file jesse_rust-1.2.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 330.4 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6cdb05039b05ee5472ae688a740642215731dca8f99f038d367d3e60ba23281f
|
|
| MD5 |
56a421ae848a8127a67db4c165a7eb08
|
|
| BLAKE2b-256 |
fd84bf7d7c494ce38917a74b5e19b0078e4bab0209af9b5b28b07bcfd67aa4d7
|
File details
Details for the file jesse_rust-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 427.7 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
96d41165d637e0dad7790d929cab7c85f71ce4329680b258daa684eda57d28e8
|
|
| MD5 |
96a50e1f8d8cf9d93c340e734cccc3cd
|
|
| BLAKE2b-256 |
abd7688430d7dd07fd20465b4bd5da774868d019a724e488580b1f6f724daa81
|
File details
Details for the file jesse_rust-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 395.1 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
299206965710a61941b2c91254d4512bb0e27a91c8da432f3971e76f398f465b
|
|
| MD5 |
427c23cbee380509b948c0913dcdd844
|
|
| BLAKE2b-256 |
301cf0db0aa31e7e76f5e8fc133789e572a4bead544c6bd72271900dd4b014bd
|
File details
Details for the file jesse_rust-1.2.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 371.6 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
741fed1aed9cc7885aeb10fc50336bca56da8f2a3a2a367d501d766ace320145
|
|
| MD5 |
c21f9c3c36a55ed296206086a6abe4b8
|
|
| BLAKE2b-256 |
0002b41c785c10a079b0fe0d19b00422cb47211583cbe6c9cbaa63b3fa2a2cc1
|
File details
Details for the file jesse_rust-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 420.1 kB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e1ada6e788e3f6036e8ac6e74b7fcba9be65ef4b44b49b817c7724dbcf0ed5d
|
|
| MD5 |
e9c7c0182aeb235877e90ca01ae1a0a0
|
|
| BLAKE2b-256 |
7f328e67394144972502eb1a88c9004f6f4d7c9b30922eb3e5fd68cba76d65f4
|
File details
Details for the file jesse_rust-1.2.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 332.6 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b484735ddaaf51e8bd351c1a8fb4af16ba5dc36be3f880e9098a9d410b9012f4
|
|
| MD5 |
87a13b64972b1f47bf4918c0bf7e7251
|
|
| BLAKE2b-256 |
8879c11a7b4120c2174aa2ca3d458fa26fc04d53a5c9d31583eb4e83d11936d5
|
File details
Details for the file jesse_rust-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 427.7 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dc6fd6a11415338892801e83cbb907cca1bbc43ab881805ba44fbf0727ba665e
|
|
| MD5 |
7144cff5af72dc35435f811ce13ddaf6
|
|
| BLAKE2b-256 |
8b8317e1fcb30b0a08cf34fb69bfde302ece94c090c732089838c3067746c927
|
File details
Details for the file jesse_rust-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 395.1 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f614cc8e66543bf4fb4d8cde67702ce6f991a7db4c5e934820cef084546b91b6
|
|
| MD5 |
a33ff8cb1b3294d1895af310dd7875b1
|
|
| BLAKE2b-256 |
5ca818d6f87e5b9fba2b5fe4efbd7fc42a195bf577734d61233167a7b2e607b2
|
File details
Details for the file jesse_rust-1.2.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 371.5 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aac8a37a0f882468e678742a04615b76755a375c582e8f883324dfee5fe4cb46
|
|
| MD5 |
4b7154b5ae9a2e089ccc6d4668256797
|
|
| BLAKE2b-256 |
0538f42dfef5005071ab1be91652daf01b63b896917466e4fe2ce7de6d282a79
|
File details
Details for the file jesse_rust-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl.
File metadata
- Download URL: jesse_rust-1.2.0-cp310-cp310-macosx_10_12_x86_64.whl
- Upload date:
- Size: 420.1 kB
- Tags: CPython 3.10, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: maturin/1.14.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dbe1e8831620a4627a78e6a46b2e45656fa50fb15d0f1e18ae98e6b8abbe525
|
|
| MD5 |
b20eb5a9d14021c61b8fce58e4393c7e
|
|
| BLAKE2b-256 |
4554ded40ae60501275c20b4f0466d56c0fb05c0b72d7a725a119b64061fcd0e
|