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:
Metadata
Release files for jesse-rust 1.3.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 | |
|---|---|---|---|
| jesse_rust-1.3.0.tar.gz | 59.7 kB | Details |
Built distributions (wheels)
Total release size: 7.9 MB
Release files / jesse_rust-1.3.0.tar.gz
| Download URL | jesse_rust-1.3.0.tar.gz |
|---|---|
| Size | 59.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9609ec6b74aeccaf2889f8bdc5551cdc0fe0d093e0c657f8b1629f7dbc1600e1
|
|
BLAKE2b-256 checksum How to use checksums |
331883e2ec2cf8ccdbd493498d0a7a53fed8c7d0eaa59f1f70c65cbc48d9dc4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp313-cp313-win_amd64.whl
| Download URL | jesse_rust-1.3.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 335.1 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5e29ad2a2388e714239781ecf77ecd001dadc47026c6c64dd46891f5e309ce1b
|
|
BLAKE2b-256 checksum How to use checksums |
752645eb90d4ab84f33b0487951d045900982a416dd8c0080238e18163202082
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 431.8 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
0bd32a8bfa638cbe654ed95bb03c437202304e42ab7136327302b9cff0262669
|
|
BLAKE2b-256 checksum How to use checksums |
c665faeaa49680ef331b102831fef0b740621364cf66b1c6cc6e194cf9a5a261
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 399.0 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
5a97e2dae6775768be91fb7abf990606754472e220289e32794eb8159154864e
|
|
BLAKE2b-256 checksum How to use checksums |
1f18cf0ed87c42d5091fc173c4cd53711607ee0390ec046daaa233364dec47ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 375.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
faba47ec4a706781a4c3c246b361e51a8fe2bf1ac962e9a7ba5870a5db258c6d
|
|
BLAKE2b-256 checksum How to use checksums |
0934d13ebe795436a48322c66601cde4c252c4df39ac9df7e4cd227be2cab9e5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 409.8 kB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
6020e46904d765ae84325d16e682c75f0dcdec52b42a7d904d1c58cfc0c9331c
|
|
BLAKE2b-256 checksum How to use checksums |
7e95233bc1cd7da5363b275007abb01c5153bc7de6c94e804cf268dbed3e13b1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp312-cp312-win_amd64.whl
| Download URL | jesse_rust-1.3.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 335.1 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
1e82e6213290e1550c9b775d2b7b2eeba6909c93e1f0c88cd3192dd72500927c
|
|
BLAKE2b-256 checksum How to use checksums |
80e11e1e5013d73143531c398faaff79f3c2b6170cca65ea3e429a23df2e57f7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 431.8 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
65c0e9edd3af5397642ca417da2ef7c23f311d6fa2bf6a2d46c729f656528cee
|
|
BLAKE2b-256 checksum How to use checksums |
fadc3a2e6f3b63027af4696a2e679899f00da707da68cb84de6b8d3d03a5f25c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 399.0 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
7133b6866d647bd91982febb36e3c0a3594ff53385ffdb4b306c88585f6fc7ba
|
|
BLAKE2b-256 checksum How to use checksums |
545f6af4f61ef3a2fb753c937124c2c7b861147e5bd32a92bbe09deb079dd3a2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 375.2 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7462381d170479d1db25b2f07d04086a46985b7680bad6dc45cb16b1efa0d9c6
|
|
BLAKE2b-256 checksum How to use checksums |
08ea850059d7c830a07af785367c66f6cb7ca206a8d1b2b39b81e8d25629d63f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 409.8 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
c8bab814bc7f9fc7a658cfdd01884586a898f875ff87fe309902a6cc772beca2
|
|
BLAKE2b-256 checksum How to use checksums |
77f00f2d5d15c43f03ca40db97800fccced81fa647c2bc1ca48d50c93802ffc2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp311-cp311-win_amd64.whl
| Download URL | jesse_rust-1.3.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 336.0 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d80917d53e90163efcce2eedfc7f1d001a9593d9a33bbe0d62e40b182bfa9f36
|
|
BLAKE2b-256 checksum How to use checksums |
3e4947831ce94d0540e4ff05a12929c0396182cc2fd848617f784c9027fb5155
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 432.7 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
81c22c5c1a95a35f59b1400fed5caadab255712a556c6f72038033dd2250ffeb
|
|
BLAKE2b-256 checksum How to use checksums |
12bf876226ba1a4e5f3fbe2964c49ccc09f25ddaa41b71d2803c116749f640c7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 399.8 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
b7d77bb54b586646dd209fc270fd8cc3db16cebed41fb364968adc8fb4267609
|
|
BLAKE2b-256 checksum How to use checksums |
be7a927a8b6700b186bd9fb307451edd41a6f200c07462f92066afb61b432a1e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 375.4 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
53c46c2f9389c584fc799fcbdbdf67b4f3447a7e655f39cb447d68c6ef6887d0
|
|
BLAKE2b-256 checksum How to use checksums |
71341974c26c776c50738e8924c84e28957eaf35d0727909e4f52379cc30ffb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 411.5 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
dc2feab64e7d9384d75f4ef868e321111800a59738f1d1a8ac3c00cc199738bd
|
|
BLAKE2b-256 checksum How to use checksums |
07044f8374f75067bff3554799e4539931a4a1f98fc4daf3c8f3e37bcda1f119
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp310-cp310-win_amd64.whl
| Download URL | jesse_rust-1.3.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 338.2 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bbfe0f3f17e1dfae75318e801f432851990c9c8960ac059a309e461c0b2e9a1e
|
|
BLAKE2b-256 checksum How to use checksums |
0c6209e7577fe7a1920dd80f533bd64ca9ba35cda3da1ce746049c9ec2484632
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 432.7 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
36173cf491a681e53cd165e1042dc9f3bdd305b4d2fd3641ccf03fb8be62944f
|
|
BLAKE2b-256 checksum How to use checksums |
97bb94094bfbcdb5279b4e3e55e0e979f3fcaa873d438a7c9d8fd27ca538b83c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 399.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
9b24cfa7f197f55aafba0e11564f5f9ed705328999cf2445c0ffff25e47f0267
|
|
BLAKE2b-256 checksum How to use checksums |
db8d151167c3ab0994a858c6dba038c96e7afec18aeb9522d2c649cefbeb8c6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 375.3 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3ad46f8eaea0e8f1e619211aed6966cd3c8bcbf630218da29474c45d07d31bcf
|
|
BLAKE2b-256 checksum How to use checksums |
a6c0d7643c6d4b178df44e9ead3af201b969c85009c4e4b504f5283af52fa5ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.0-cp310-cp310-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.0-cp310-cp310-macosx_10_12_x86_64.whl |
|---|---|
| Size | 411.5 kB |
| Tags | CPython 3.10 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
7b6b981823b7598866d836f6d285ae15075eeae2790f92845be901a10101741f
|
|
BLAKE2b-256 checksum How to use checksums |
e9442d23b6b3ffcb547690698da09f06dd3face0fe8d1d333da4e85eca5a0c53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|