Jesse Rust
The native technical-indicator engine that powers the Jesse trading framework, plus its local shared-state coordinator — 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)
Shared-state coordinator
Starting with version 1.3.1, the same extension includes Jesse's local coordinator.
jesse run starts a dedicated Python child that calls jesse_rust.run_coordinator();
it chooses a private loopback port, authenticates workers, and manages shutdown.
Normal users need no separate service, connection settings, or Rust compiler.
Importing this package or Jesse does not start the service.
The coordinator keeps temporary shared values, locks and dashboard events in
memory; PostgreSQL continues to hold persistent application data. See
coordination/README.md for the protocol, resource limits,
external deployment options and failure boundaries. Dependency notices ship in
THIRD_PARTY_LICENSES.txt with every wheel and source archive.
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.1
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.1.tar.gz | 116.3 kB | Details |
Built distributions (wheels)
Total release size: 11.4 MB
Release files / jesse_rust-1.3.1.tar.gz
| Download URL | jesse_rust-1.3.1.tar.gz |
|---|---|
| Size | 116.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f36eae95a92efb9390a70dcf20533a3c9796aac4c04ad2cccef1992f502e9557
|
|
BLAKE2b-256 checksum How to use checksums |
2994fc19b8acc1ba9c8c90da383433713c56e1a43a27d48cdfe99bf02c0c2382
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp313-cp313-win_arm64.whl
| Download URL | jesse_rust-1.3.1-cp313-cp313-win_arm64.whl |
|---|---|
| Size | 434.9 kB |
| Tags | CPython 3.13 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
8bc302e3a7f1955102d88b2ba1acbffdaa6512fe594d3945525828c863cef8d1
|
|
BLAKE2b-256 checksum How to use checksums |
d3340b865709aa8b09fa37a6b1893c677274496108fbf062317ab406e09ceadc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp313-cp313-win_amd64.whl
| Download URL | jesse_rust-1.3.1-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 470.9 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
79e2507981b859377aa5cda4a4c5647d45791fa29e26e960d5e94e5840054c2a
|
|
BLAKE2b-256 checksum How to use checksums |
49eb349699546a9b5a0d921ae3693b2855af15d55ba9ce0532fbc36e6453e963
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 561.8 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
93c19d77479d45a37838890ae9eaa9cb9c6de662ed05c3f8cdd04f9483af97a5
|
|
BLAKE2b-256 checksum How to use checksums |
af69e3c922e353dcd57915278a832505acd57161b6180c35865fbda22e5432ac
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 527.4 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
18605db3bc5d6fcb3b2c13288081ba17cc5bcac191087dcee36ae6fa9a9461c6
|
|
BLAKE2b-256 checksum How to use checksums |
54fdf0c99ba54d7b5a3732a3a4c4857a6c19e5e4244664f5c8e32fccbaa84fad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 499.0 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3c4ca26d6949982912ecf42b668da7b07d585a31d3dfa2179457f55520a59dd5
|
|
BLAKE2b-256 checksum How to use checksums |
3a5bdb981e342fe442186914b5ca4727145206b9829aab4b3e8f6c79e46cf8ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp313-cp313-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp313-cp313-macosx_10_12_x86_64.whl |
|---|---|
| Size | 539.0 kB |
| Tags | CPython 3.13 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
c523b4a65908c161b71c8a0a021ffcf0e3fdb6509e975c073888b58b7126a488
|
|
BLAKE2b-256 checksum How to use checksums |
3ac9fd4de718425e5c3cadcaeece59767d7f818489b95671cbeb32ddff134228
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp312-cp312-win_arm64.whl
| Download URL | jesse_rust-1.3.1-cp312-cp312-win_arm64.whl |
|---|---|
| Size | 434.9 kB |
| Tags | CPython 3.12 Windows ARM64 |
|
SHA-256 checksum How to use checksums |
16eab17487f1770882207e3945849d03583c85bb62934818e31321953d85e839
|
|
BLAKE2b-256 checksum How to use checksums |
5ef6b6412eae010f55fca3d2df1080f1e97b5258b25e87dd55592f2e2a216bf2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp312-cp312-win_amd64.whl
| Download URL | jesse_rust-1.3.1-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 470.9 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
4789b1368d7f82adde912348d93e3ea5e4629f67b82e973ab3df897ffcbf8083
|
|
BLAKE2b-256 checksum How to use checksums |
7d4a88347eb72a9cbf5351e34b843a9ef286e1aa01881d8c9bdb980fde3653a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 561.8 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
94398ac4c5153cd509a9fd3ec55d1626df7457f5eefc20367f602c8bf7021e7e
|
|
BLAKE2b-256 checksum How to use checksums |
745ff5841fa133622079ba5b51c179c57b392e215ce38e50409022a77e7056b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 527.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
09287991d4c132396364a58c9439421373e9e7660abd3892903591ab17cf0922
|
|
BLAKE2b-256 checksum How to use checksums |
67bc215d31e07a52f8a9a5336ac396677f090e6f074528676b605e6c5ea72a0e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 499.0 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
51e704ee58814802becbc752a08b6b87295408f0e2e60f2c52dcb147f64ffb1a
|
|
BLAKE2b-256 checksum How to use checksums |
8191412aefdd28c8ec8e330732bc063424fbb113537308681d587eaf00410506
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp312-cp312-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp312-cp312-macosx_10_12_x86_64.whl |
|---|---|
| Size | 539.0 kB |
| Tags | CPython 3.12 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
a434b14ae31c78502a6fea8b6e00ba73374ba14c631a61401c17887c17824593
|
|
BLAKE2b-256 checksum How to use checksums |
280f50d17c41ee8fbf740698380ef9dfc931df97a90c8e1604678d6409916d17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp311-cp311-win_amd64.whl
| Download URL | jesse_rust-1.3.1-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 471.9 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b9558ffa774c9285771830e109f33bedd9e009e8ebdd6eeed6a66085a49c87d8
|
|
BLAKE2b-256 checksum How to use checksums |
9995e6ee119396401e1cc59b4047dd88e4573637d57887e89fd92666c285dd01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 562.9 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b7b636f2c1288f006e35d5015725d6ba32f4297bea25800319b3228ee2cc3c0
|
|
BLAKE2b-256 checksum How to use checksums |
934130a0d4b7c8c3d9f76460bb9290553e734d8216039d67e899232bbc2f1465
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 527.2 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
2f5f5133c18f3b241132b13ca9e65b237d8217fe49cfa6887561c6b94184935a
|
|
BLAKE2b-256 checksum How to use checksums |
7d6e6f7187085b7b6f3eb12ebfc0fcb2ecd4a071a41be657c99679936be06262
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 499.5 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3a2f6b135b26be743cdba5be68730bce8fb51f1b6701e930746d54f1204e3194
|
|
BLAKE2b-256 checksum How to use checksums |
dd6457e9452ffa7aaccdf5c62a2a9c07320b9225335dc0505fbaa256cb766db0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp311-cp311-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp311-cp311-macosx_10_12_x86_64.whl |
|---|---|
| Size | 540.8 kB |
| Tags | CPython 3.11 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
9b9a67bff5c4d84968ee51e9a550828b723401041bbbd601821eff78ccbb89ef
|
|
BLAKE2b-256 checksum How to use checksums |
b0538d009961a879e6c19e5d58de2368a54dd7e8298eb57d25b2d477f1c25a17
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp310-cp310-win_amd64.whl
| Download URL | jesse_rust-1.3.1-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 474.0 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
ad775360c6a2abb471613a3e2bbd5a1bcd55a55e2bb39e34bed5c8af0b665238
|
|
BLAKE2b-256 checksum How to use checksums |
721945ae357c7c7a17e3f5ea897c7a55c3d1a2476061a312a1bb4e88dfbea775
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 562.9 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 |
|
SHA-256 checksum How to use checksums |
0b3fff9f6b53b314b2b606ce41c77deec544da79638b8c369fd6f98b31fc8041
|
|
BLAKE2b-256 checksum How to use checksums |
5431418ac70e1ce3a37b9b9627e22268bf17c384c918e644a20f02f77147aca5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | jesse_rust-1.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 527.2 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 |
|
SHA-256 checksum How to use checksums |
a49e82c80a494adfefa960f0e7cead1793be7c93bcd3384244343fb675707c57
|
|
BLAKE2b-256 checksum How to use checksums |
db853b345999796c5c88c745492cca24b2eac8923b9e4ec39dd030d498555420
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | jesse_rust-1.3.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 499.5 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
d262c4ac2ec35fc24b181e9ccc88725e8b3a09e04e2dd922d4824cf34a0f557d
|
|
BLAKE2b-256 checksum How to use checksums |
19ae64865d26a161c1d82972c515d3c5409af9f42108cea8688dd0f6a56ce704
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / jesse_rust-1.3.1-cp310-cp310-macosx_10_12_x86_64.whl
| Download URL | jesse_rust-1.3.1-cp310-cp310-macosx_10_12_x86_64.whl |
|---|---|
| Size | 540.7 kB |
| Tags | CPython 3.10 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
57295853662b05ac9a5a4e801f70c00d6f46b6b173fb89654adfde3bf7b60b0d
|
|
BLAKE2b-256 checksum How to use checksums |
d12a09758bf4816d71ecc02cd9c6b9a39f0cbee8fc63292efbb4d9bffef621df
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|