Skip to main content

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 unsafe blocks in the indicator code.
  • Zero-copy NumPy — input arrays are read in place via PyO3's numpy bindings.
  • 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

Acknowledgments

Built with:

  • PyO3 — Rust bindings for Python
  • Maturin — Build and publish Rust-based Python extensions
  • NumPy — Numerical computing in Python

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)

Source distribution for jesse-rust 1.3.0
File Size Uploaded
jesse_rust-1.3.0.tar.gz 59.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for jesse-rust 1.3.0
File
jesse_rust-1.3.0-cp313-cp313-win_amd64.whl CPython 3.13 CPython 3.13 Windows x86-64 Details
jesse_rust-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ x86-64 Details
jesse_rust-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.17+ ARM64 Details
jesse_rust-1.3.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
jesse_rust-1.3.0-cp313-cp313-macosx_10_12_x86_64.whl CPython 3.13 CPython 3.13 macOS 10.12+ x86-64 Details
jesse_rust-1.3.0-cp312-cp312-win_amd64.whl CPython 3.12 CPython 3.12 Windows x86-64 Details
jesse_rust-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ x86-64 Details
jesse_rust-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.17+ ARM64 Details
jesse_rust-1.3.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details
jesse_rust-1.3.0-cp312-cp312-macosx_10_12_x86_64.whl CPython 3.12 CPython 3.12 macOS 10.12+ x86-64 Details
jesse_rust-1.3.0-cp311-cp311-win_amd64.whl CPython 3.11 CPython 3.11 Windows x86-64 Details
jesse_rust-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
jesse_rust-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ ARM64 Details
jesse_rust-1.3.0-cp311-cp311-macosx_11_0_arm64.whl CPython 3.11 CPython 3.11 macOS 11.0+ ARM64 Details
jesse_rust-1.3.0-cp311-cp311-macosx_10_12_x86_64.whl CPython 3.11 CPython 3.11 macOS 10.12+ x86-64 Details
jesse_rust-1.3.0-cp310-cp310-win_amd64.whl CPython 3.10 CPython 3.10 Windows x86-64 Details
jesse_rust-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
jesse_rust-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ ARM64 Details
jesse_rust-1.3.0-cp310-cp310-macosx_11_0_arm64.whl CPython 3.10 CPython 3.10 macOS 11.0+ ARM64 Details
jesse_rust-1.3.0-cp310-cp310-macosx_10_12_x86_64.whl CPython 3.10 CPython 3.10 macOS 10.12+ x86-64 Details

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

Release history Release notifications | RSS feed

This release

1.3.0 This release

21 release files

1.2.0

21 release files

1.1.0

21 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