Skip to main content

High-performance Rust backtesting engine with Python bindings. Drop-in VectorBT replacement with up insanely faster performance at fractional memory footprint.

Project description

RaptorBT

PyPI version License: MIT Python 3.10+ Rust

Blazing-fast backtesting for the modern quant.

RaptorBT is a high-performance backtesting engine written in Rust with Python bindings via PyO3. It serves as a drop-in replacement for VectorBT — delivering HFT-grade compute efficiency with full metric parity.

5,800x faster · 45x smaller · 100% deterministic


Quick Install

pip install raptorbt

30-Second Example

import numpy as np
import raptorbt

# Configure
config = raptorbt.PyBacktestConfig(initial_capital=100000, fees=0.001)

# Run backtest
result = raptorbt.run_single_backtest(
    timestamps=timestamps, open=open, high=high, low=low, close=close,
    volume=volume, entries=entries, exits=exits,
    direction=1, weight=1.0, symbol="AAPL", config=config,
)

# Results
print(f"Return: {result.metrics.total_return_pct:.2f}%")
print(f"Sharpe: {result.metrics.sharpe_ratio:.2f}")

Developed and maintained by the Alphabench team.

Table of Contents


Overview

RaptorBT was built to address the performance limitations of VectorBT. Benchmarked by the Alphabench team:

Metric VectorBT RaptorBT Improvement
Disk Footprint ~450MB <10MB 45x smaller
Startup Latency 200-600ms <10ms 20-60x faster
Backtest Speed (1K bars) 1460ms 0.25ms 5,800x faster
Backtest Speed (50K bars) 43ms 1.7ms 25x faster
Memory Usage High (JIT + pandas) Low (native) Significant reduction

Key Features

  • 5 Strategy Types: Single instrument, basket/collective, pairs trading, options, and multi-strategy
  • 30+ Metrics: Full parity with VectorBT including Sharpe, Sortino, Calmar, Omega, SQN, and more
  • 10 Technical Indicators: SMA, EMA, RSI, MACD, Stochastic, ATR, Bollinger Bands, ADX, VWAP, Supertrend
  • Stop/Target Management: Fixed, ATR-based, and trailing stops with risk-reward targets
  • 100% Deterministic: No JIT compilation variance between runs
  • Native Parallelism: Rayon-based parallel processing with explicit SIMD optimizations

Performance

Benchmark Results

Tested on Apple Silicon M-series with random walk price data and SMA crossover strategy:

┌─────────────┬────────────┬───────────┬──────────┐
│ Data Size   │ VectorBT   │ RaptorBT  │ Speedup  │
├─────────────┼────────────┼───────────┼──────────┤
│ 1,000 bars  │ 1,460 ms   │ 0.25 ms   │ 5,827x   │
│ 5,000 bars  │ 36 ms      │ 0.24 ms   │ 153x     │
│ 10,000 bars │ 37 ms      │ 0.46 ms   │ 80x      │
│ 50,000 bars │ 43 ms      │ 1.68 ms   │ 26x      │
└─────────────┴────────────┴───────────┴──────────┘

Note: First VectorBT run includes Numba JIT compilation overhead. Subsequent runs are faster but still significantly slower than RaptorBT.

Metric Accuracy

RaptorBT produces identical results to VectorBT:

VectorBT Total Return: 7.2764%
RaptorBT Total Return: 7.2764%
Difference: 0.0000% ✓

Architecture

raptorbt/
├── src/
│   ├── core/              # Core types and error handling
│   │   ├── types.rs       # BacktestConfig, BacktestResult, Trade, Metrics
│   │   ├── error.rs       # RaptorError enum
│   │   └── timeseries.rs  # Time series utilities
│   │
│   ├── strategies/        # Strategy implementations
│   │   ├── single.rs      # Single instrument backtest
│   │   ├── basket.rs      # Basket/collective strategies
│   │   ├── pairs.rs       # Pairs trading
│   │   ├── options.rs     # Options strategies
│   │   └── multi.rs       # Multi-strategy combining
│   │
│   ├── indicators/        # Technical indicators
│   │   ├── trend.rs       # SMA, EMA, Supertrend
│   │   ├── momentum.rs    # RSI, MACD, Stochastic
│   │   ├── volatility.rs  # ATR, Bollinger Bands
│   │   ├── strength.rs    # ADX
│   │   └── volume.rs      # VWAP
│   │
│   ├── metrics/           # Performance metrics
│   │   ├── streaming.rs   # Streaming metric calculations
│   │   ├── drawdown.rs    # Drawdown analysis
│   │   └── trade_stats.rs # Trade statistics
│   │
│   ├── signals/           # Signal processing
│   │   ├── processor.rs   # Entry/exit signal processing
│   │   ├── synchronizer.rs # Multi-instrument sync
│   │   └── expression.rs  # Signal expressions
│   │
│   ├── stops/             # Stop-loss implementations
│   │   ├── fixed.rs       # Fixed percentage stops
│   │   ├── atr.rs         # ATR-based stops
│   │   └── trailing.rs    # Trailing stops
│   │
│   ├── python/            # PyO3 bindings
│   │   ├── bindings.rs    # Python function exports
│   │   └── numpy_bridge.rs # NumPy array conversion
│   │
│   └── lib.rs             # Library entry point
│
├── Cargo.toml             # Rust dependencies
└── pyproject.toml         # Python package config

Installation

From Pre-built Wheel

pip install raptorbt

From Source

cd raptorbt
maturin develop --release

Verify Installation

import raptorbt
print("RaptorBT installed successfully!")

Quick Start

Basic Single Instrument Backtest

import numpy as np
import pandas as pd
import raptorbt

# Prepare data
df = pd.read_csv("your_data.csv", index_col=0, parse_dates=True)

# Generate signals (SMA crossover example)
sma_fast = df['close'].rolling(10).mean()
sma_slow = df['close'].rolling(20).mean()
entries = (sma_fast > sma_slow) & (sma_fast.shift(1) <= sma_slow.shift(1))
exits = (sma_fast < sma_slow) & (sma_fast.shift(1) >= sma_slow.shift(1))

# Configure backtest
config = raptorbt.PyBacktestConfig(
    initial_capital=100000,
    fees=0.001,        # 0.1% per trade
    slippage=0.0005,   # 0.05% slippage
    upon_bar_close=True
)

# Optional: Add stop-loss
config.set_fixed_stop(0.02)  # 2% stop-loss

# Optional: Add take-profit
config.set_fixed_target(0.04)  # 4% take-profit

# Run backtest
result = raptorbt.run_single_backtest(
    timestamps=df.index.astype('int64').values,
    open=df['open'].values,
    high=df['high'].values,
    low=df['low'].values,
    close=df['close'].values,
    volume=df['volume'].values,
    entries=entries.values,
    exits=exits.values,
    direction=1,       # 1 = Long, -1 = Short
    weight=1.0,
    symbol="AAPL",
    config=config,
)

# Access results
print(f"Total Return: {result.metrics.total_return_pct:.2f}%")
print(f"Sharpe Ratio: {result.metrics.sharpe_ratio:.2f}")
print(f"Max Drawdown: {result.metrics.max_drawdown_pct:.2f}%")
print(f"Win Rate: {result.metrics.win_rate_pct:.2f}%")
print(f"Total Trades: {result.metrics.total_trades}")

# Get equity curve
equity = result.equity_curve()  # Returns numpy array

# Get trades
trades = result.trades()  # Returns list of PyTrade objects

Strategy Types

1. Single Instrument

Basic long or short strategy on a single instrument.

result = raptorbt.run_single_backtest(
    timestamps=timestamps,
    open=open_prices, high=high_prices, low=low_prices,
    close=close_prices, volume=volume,
    entries=entries, exits=exits,
    direction=1,  # 1=Long, -1=Short
    weight=1.0,
    symbol="SYMBOL",
    config=config,
)

2. Basket/Collective

Trade multiple instruments with synchronized signals.

instruments = [
    (timestamps, open1, high1, low1, close1, volume1, entries1, exits1, 1, 0.33, "AAPL"),
    (timestamps, open2, high2, low2, close2, volume2, entries2, exits2, 1, 0.33, "GOOGL"),
    (timestamps, open3, high3, low3, close3, volume3, entries3, exits3, 1, 0.34, "MSFT"),
]

result = raptorbt.run_basket_backtest(
    instruments=instruments,
    config=config,
    sync_mode="all",  # "all", "any", "majority", "master"
)

Sync Modes:

  • all: Enter only when ALL instruments signal
  • any: Enter when ANY instrument signals
  • majority: Enter when >50% of instruments signal
  • master: Follow the first instrument's signals

3. Pairs Trading

Long one instrument, short another with optional hedge ratio.

result = raptorbt.run_pairs_backtest(
    # Long leg
    leg1_timestamps=timestamps,
    leg1_open=long_open, leg1_high=long_high,
    leg1_low=long_low, leg1_close=long_close,
    leg1_volume=long_volume,
    # Short leg
    leg2_timestamps=timestamps,
    leg2_open=short_open, leg2_high=short_high,
    leg2_low=short_low, leg2_close=short_close,
    leg2_volume=short_volume,
    # Signals
    entries=entries, exits=exits,
    direction=1,
    symbol="TCS_INFY",
    config=config,
    hedge_ratio=1.5,      # Short 1.5x the long position
    dynamic_hedge=False,  # Use rolling hedge ratio
)

4. Options

Backtest options strategies with strike selection.

result = raptorbt.run_options_backtest(
    timestamps=timestamps,
    open=underlying_open, high=underlying_high,
    low=underlying_low, close=underlying_close,
    volume=volume,
    option_prices=option_prices,  # Option premium series
    entries=entries, exits=exits,
    direction=1,
    symbol="NIFTY_CE",
    config=config,
    option_type="call",           # "call" or "put"
    strike_selection="atm",       # "atm", "otm1", "otm2", "itm1", "itm2"
    size_type="percent",          # "percent", "contracts", "notional", "risk"
    size_value=0.1,               # 10% of capital
    lot_size=50,                  # Options lot size
    strike_interval=50.0,         # Strike interval (e.g., 50 for NIFTY)
)

5. Multi-Strategy

Combine multiple strategies on the same instrument.

strategies = [
    (entries_sma, exits_sma, 1, 0.4, "SMA_Crossover"),    # 40% weight
    (entries_rsi, exits_rsi, 1, 0.35, "RSI_MeanRev"),     # 35% weight
    (entries_bb, exits_bb, 1, 0.25, "BB_Breakout"),       # 25% weight
]

result = raptorbt.run_multi_backtest(
    timestamps=timestamps,
    open=open_prices, high=high_prices,
    low=low_prices, close=close_prices,
    volume=volume,
    strategies=strategies,
    config=config,
    combine_mode="any",  # "any", "all", "majority", "weighted", "independent"
)

Combine Modes:

  • any: Enter when any strategy signals
  • all: Enter only when all strategies signal
  • majority: Enter when >50% of strategies signal
  • weighted: Weight signals by strategy weight
  • independent: Run strategies independently (aggregate PnL)

Metrics

RaptorBT calculates 30+ performance metrics:

Core Performance

Metric Description
total_return_pct Total return as percentage
sharpe_ratio Risk-adjusted return (annualized)
sortino_ratio Downside risk-adjusted return
calmar_ratio Return / Max Drawdown
omega_ratio Probability-weighted gains/losses

Drawdown

Metric Description
max_drawdown_pct Maximum peak-to-trough decline
max_drawdown_duration Longest drawdown period (bars)

Trade Statistics

Metric Description
total_trades Total number of trades
total_closed_trades Number of closed trades
total_open_trades Number of open positions
winning_trades Number of profitable trades
losing_trades Number of losing trades
win_rate_pct Percentage of winning trades

Trade Performance

Metric Description
profit_factor Gross profit / Gross loss
expectancy Average expected profit per trade
sqn System Quality Number
avg_trade_return_pct Average trade return
avg_win_pct Average winning trade return
avg_loss_pct Average losing trade return
best_trade_pct Best single trade return
worst_trade_pct Worst single trade return

Duration

Metric Description
avg_holding_period Average trade duration (bars)
avg_winning_duration Average winning trade duration
avg_losing_duration Average losing trade duration

Streaks

Metric Description
max_consecutive_wins Longest winning streak
max_consecutive_losses Longest losing streak

Other

Metric Description
start_value Initial portfolio value
end_value Final portfolio value
total_fees_paid Total transaction costs
open_trade_pnl Unrealized PnL from open positions
exposure_pct Percentage of time in market

Indicators

RaptorBT includes optimized technical indicators:

import raptorbt

# Trend indicators
sma = raptorbt.sma(close, period=20)
ema = raptorbt.ema(close, period=20)
supertrend, direction = raptorbt.supertrend(high, low, close, period=10, multiplier=3.0)

# Momentum indicators
rsi = raptorbt.rsi(close, period=14)
macd_line, signal_line, histogram = raptorbt.macd(close, fast=12, slow=26, signal=9)
stoch_k, stoch_d = raptorbt.stochastic(high, low, close, k_period=14, d_period=3)

# Volatility indicators
atr = raptorbt.atr(high, low, close, period=14)
upper, middle, lower = raptorbt.bollinger_bands(close, period=20, std_dev=2.0)

# Strength indicators
adx = raptorbt.adx(high, low, close, period=14)

# Volume indicators
vwap = raptorbt.vwap(high, low, close, volume)

Stop-Loss & Take-Profit

Fixed Percentage

config = raptorbt.PyBacktestConfig(initial_capital=100000, fees=0.001)
config.set_fixed_stop(0.02)    # 2% stop-loss
config.set_fixed_target(0.04)  # 4% take-profit

ATR-Based

config.set_atr_stop(multiplier=2.0, period=14)    # 2x ATR stop
config.set_atr_target(multiplier=3.0, period=14)  # 3x ATR target

Trailing Stop

config.set_trailing_stop(0.02)  # 2% trailing stop

Risk-Reward Target

config.set_risk_reward_target(ratio=2.0)  # 2:1 risk-reward ratio

VectorBT Comparison

RaptorBT is designed as a drop-in replacement for VectorBT. Here's a side-by-side comparison:

VectorBT (before)

import vectorbt as vbt
import pandas as pd

# Run backtest
pf = vbt.Portfolio.from_signals(
    close=close_series,
    entries=entries,
    exits=exits,
    init_cash=100000,
    fees=0.001,
)

# Get metrics
print(pf.stats()["Total Return [%]"])
print(pf.stats()["Sharpe Ratio"])
print(pf.stats()["Max Drawdown [%]"])

RaptorBT (after)

import raptorbt
import numpy as np

# Configure backtest
config = raptorbt.PyBacktestConfig(
    initial_capital=100000,
    fees=0.001,
)

# Run backtest
result = raptorbt.run_single_backtest(
    timestamps=timestamps,
    open=open_prices, high=high_prices,
    low=low_prices, close=close_prices,
    volume=volume,
    entries=entries, exits=exits,
    direction=1, weight=1.0,
    symbol="SYMBOL",
    config=config,
)

# Get metrics
print(f"Total Return: {result.metrics.total_return_pct}%")
print(f"Sharpe Ratio: {result.metrics.sharpe_ratio}")
print(f"Max Drawdown: {result.metrics.max_drawdown_pct}%")

Metric Mapping

VectorBT Key RaptorBT Attribute
Total Return [%] metrics.total_return_pct
Sharpe Ratio metrics.sharpe_ratio
Sortino Ratio metrics.sortino_ratio
Max Drawdown [%] metrics.max_drawdown_pct
Win Rate [%] metrics.win_rate_pct
Profit Factor metrics.profit_factor
SQN metrics.sqn
Omega Ratio metrics.omega_ratio
Total Trades metrics.total_trades
Expectancy metrics.expectancy

API Reference

PyBacktestConfig

config = raptorbt.PyBacktestConfig(
    initial_capital: float = 100000.0,
    fees: float = 0.001,
    slippage: float = 0.0,
    upon_bar_close: bool = True,
)

# Stop methods
config.set_fixed_stop(percent: float)
config.set_atr_stop(multiplier: float, period: int)
config.set_trailing_stop(percent: float)

# Target methods
config.set_fixed_target(percent: float)
config.set_atr_target(multiplier: float, period: int)
config.set_risk_reward_target(ratio: float)

PyBacktestResult

result = raptorbt.run_single_backtest(...)

# Attributes
result.metrics        # PyBacktestMetrics object

# Methods
result.equity_curve()    # numpy.ndarray
result.drawdown_curve()  # numpy.ndarray
result.returns()         # numpy.ndarray
result.trades()          # List[PyTrade]

PyBacktestMetrics

metrics = result.metrics

# All available metrics
metrics.total_return_pct
metrics.sharpe_ratio
metrics.sortino_ratio
metrics.calmar_ratio
metrics.omega_ratio
metrics.max_drawdown_pct
metrics.max_drawdown_duration
metrics.win_rate_pct
metrics.profit_factor
metrics.expectancy
metrics.sqn
metrics.total_trades
metrics.total_closed_trades
metrics.total_open_trades
metrics.winning_trades
metrics.losing_trades
metrics.start_value
metrics.end_value
metrics.total_fees_paid
metrics.best_trade_pct
metrics.worst_trade_pct
metrics.avg_trade_return_pct
metrics.avg_win_pct
metrics.avg_loss_pct
metrics.avg_holding_period
metrics.avg_winning_duration
metrics.avg_losing_duration
metrics.max_consecutive_wins
metrics.max_consecutive_losses
metrics.exposure_pct
metrics.open_trade_pnl

# Convert to dictionary (VectorBT format)
stats_dict = metrics.to_dict()

PyTrade

for trade in result.trades():
    print(trade.id)           # Trade ID
    print(trade.symbol)       # Symbol
    print(trade.entry_idx)    # Entry bar index
    print(trade.exit_idx)     # Exit bar index
    print(trade.entry_price)  # Entry price
    print(trade.exit_price)   # Exit price
    print(trade.size)         # Position size
    print(trade.direction)    # 1=Long, -1=Short
    print(trade.pnl)          # Profit/Loss
    print(trade.return_pct)   # Return percentage
    print(trade.fees)         # Fees paid
    print(trade.exit_reason)  # "Signal", "StopLoss", "TakeProfit"

Building from Source

Prerequisites

  • Rust 1.70+ (install via rustup)
  • Python 3.10+
  • maturin (pip install maturin)

Development Build

cd raptorbt
maturin develop --release

Production Build

cd raptorbt
maturin build --release
pip install target/wheels/raptorbt-*.whl

Testing

Rust Unit Tests

cd raptorbt
cargo test

Python Integration Tests

import raptorbt
import numpy as np

config = raptorbt.PyBacktestConfig(initial_capital=100000, fees=0.001)
result = raptorbt.run_single_backtest(
    timestamps=np.arange(100, dtype=np.int64),
    open=np.random.randn(100).cumsum() + 100,
    high=np.random.randn(100).cumsum() + 101,
    low=np.random.randn(100).cumsum() + 99,
    close=np.random.randn(100).cumsum() + 100,
    volume=np.ones(100),
    entries=np.array([i % 20 == 0 for i in range(100)]),
    exits=np.array([i % 20 == 10 for i in range(100)]),
    direction=1,
    weight=1.0,
    symbol='TEST',
    config=config,
)
print(f'Total Return: {result.metrics.total_return_pct:.2f}%')
print('RaptorBT is working correctly!')

Comparison Test (VectorBT vs RaptorBT)

import numpy as np
import pandas as pd
import vectorbt as vbt
import raptorbt

# Create test data
np.random.seed(42)
n = 500
dates = pd.date_range('2023-01-01', periods=n, freq='D')
close = np.cumprod(1 + np.random.randn(n) * 0.02) * 100
entries = np.zeros(n, dtype=bool)
exits = np.zeros(n, dtype=bool)
entries[::20] = True
exits[10::20] = True

# VectorBT
pf = vbt.Portfolio.from_signals(
    close=pd.Series(close, index=dates),
    entries=pd.Series(entries, index=dates),
    exits=pd.Series(exits, index=dates),
    init_cash=100000, fees=0.001
)

# RaptorBT
config = raptorbt.PyBacktestConfig(initial_capital=100000, fees=0.001)
result = raptorbt.run_single_backtest(
    timestamps=dates.astype('int64').values,
    open=close, high=close, low=close, close=close,
    volume=np.ones(n), entries=entries, exits=exits,
    direction=1, weight=1.0, symbol="TEST", config=config
)

print(f"VectorBT: {pf.stats()['Total Return [%]']:.4f}%")
print(f"RaptorBT: {result.metrics.total_return_pct:.4f}%")
# Results should match within 0.01%

License

MIT License - see LICENSE for details.


Changelog

v0.1.0

  • Initial release
  • 5 strategy types: single, basket, pairs, options, multi
  • 30+ performance metrics with full VectorBT parity
  • 10 technical indicators (SMA, EMA, RSI, MACD, Stochastic, ATR, Bollinger Bands, ADX, VWAP, Supertrend)
  • Stop-loss management: fixed, ATR-based, and trailing stops
  • Take-profit management: fixed, ATR-based, and risk-reward targets
  • PyO3 Python bindings for seamless Python integration

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

raptorbt-0.2.1.tar.gz (96.2 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

raptorbt-0.2.1-cp312-cp312-win_amd64.whl (310.5 kB view details)

Uploaded CPython 3.12Windows x86-64

raptorbt-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (372.8 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

raptorbt-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (348.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

raptorbt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (337.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

raptorbt-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl (356.3 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

raptorbt-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (373.6 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

raptorbt-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (348.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

raptorbt-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (373.6 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

raptorbt-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (348.9 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

File details

Details for the file raptorbt-0.2.1.tar.gz.

File metadata

  • Download URL: raptorbt-0.2.1.tar.gz
  • Upload date:
  • Size: 96.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for raptorbt-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4d286ee44a3713f2897086cd35650666aaffe8ce89349f09a07121da1053afd2
MD5 74c76b377ea5c99a894a23c95c60a03d
BLAKE2b-256 a633a5cdfbbaebec16a49a9557021b033c374435ac7bfdca4cf9c50b792acc68

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1.tar.gz:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: raptorbt-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 310.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for raptorbt-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7e378bd069c5ebb884b2af3163354c9358b0bf6cbe3490f34d6120909981ad2d
MD5 9ad4a4c2e369c4d65e2669c91cfd4cc5
BLAKE2b-256 fe003dc5b8e385329d5dc02a41136cc46398a57abb799644797edd840c7ef2a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d99facb425719af7fed1cc4596cdb44ab775490526b20b4fc704767a16fe12d0
MD5 6510b8d84ae064f0fac2ac48fd20960e
BLAKE2b-256 f106ed2e0b16374c1e265fe60f5baed7444ccb9bd80e3d9ca9d2e895016f1d89

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 15f1288c195df8e8d8ea6b2eabaea570a56b98e1af83f8c1dfa4c3689314bccb
MD5 7d298944bc4c41912ad1db52ba71a8c2
BLAKE2b-256 ff983ab13164ac0b633e75d9d9dd5cac845899a1bd2ce504aa67ad71fd67846c

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f6e9df76cd9e17dd1cba920f886137799ca670a8cfcad912010497b53104c03e
MD5 a1557263fd0a3e682cc986f917b1d93d
BLAKE2b-256 35c89c2de8d3f3bbabfbf65e637c2bf1866e200d7059b745e13552f065538b78

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 477678e28e57aa3ec0ec14e291cb948e600680b6f81bfb73f387f9abb90ece00
MD5 c925dc88a660f99393db3b6d1af4c8e8
BLAKE2b-256 438a84fb763ef5c063a7744bae3e4ecfd1305415d3a5b39b5a2d70be216a0570

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 750c6e3b6e1e8918cca90a41addda5b772ddece4f88eb1df3d890801c41f59d9
MD5 ffa9155721b2c3807af554a030aae066
BLAKE2b-256 681ae75535eee826113dda2afbea9f9e47b16def800eab982efe4f9aa5a3a747

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 014e4fba32d3d79cefd6ae2eb1aad8b97c700e2fbca292ef1744bf03828da6a9
MD5 24e593f0b0561e32e438adff5a9017f2
BLAKE2b-256 75938e876265bf864e7fadeb87f6a879009ca509991d61d1561ce58b1605d695

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 78283710aec6bd42d5d13fce7aa512db3b763f3a22ff2dbb81a7fdac40cd0967
MD5 7c66e90cc7bdc7a5b46da63d25efee82
BLAKE2b-256 d6963f90b555ab5bb8dda551a76ac512530c62d23fbd2a504c871b1fa8abf70e

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file raptorbt-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for raptorbt-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cc2d26b38c92ad71bd7c26cc07066ea9a779c16bf1a36e722184532ba4e54cc2
MD5 9887a4cbd7781f300627f361dc077417
BLAKE2b-256 96b848b31dcb704a0daabf4568e11da9ed253c0ca66d60d031ed83aa6b64abb2

See more details on using hashes here.

Provenance

The following attestation bundles were made for raptorbt-0.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on alphabench/raptorbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page