Skip to main content

Python bindings for TulipRS - Technical Analysis Library with 100+ indicators and candlestick patterns

Project description

TulipRS Python Bindings

Python Rust License

High-performance Python bindings for the TulipRS technical analysis library. Provides 100+ technical indicators and candlestick pattern recognition with zero-copy numpy integration.

Features

  • 100+ Technical Indicators: Moving averages, oscillators, trend indicators, volume indicators, and more
  • 60+ Candlestick Patterns: Complete Japanese candlestick pattern recognition
  • Zero-Copy Performance: Direct numpy array integration without unnecessary data copying
  • State Management: Support for streaming/real-time calculations with state preservation
  • Comprehensive Error Handling: Clear error messages and validation
  • Type Safety: Full type hints and comprehensive documentation

Installation

From PyPI (when published)

pip install tulip-rs

From Source

Requirements:

  • Python 3.8+
  • Rust 1.70+
  • maturin
# Clone the repository
git clone https://github.com/me60732/tulip-rs-python.git
cd tulip-rs-python
export PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 
# Install maturin
pip install maturin

# Build and install in development mode
maturin develop

# Or build wheel for distribution
maturin build --release
#Or for build specific to current machine cpu archicture can also compile for other archictures by changing native to other rust cargo attributes
RUSTFLAGS="-C target-cpu=native" maturin build --release

Quick Start

import numpy as np
import tulip_rs

# Sample price data
prices = np.array([100.0, 101.5, 102.0, 101.0, 103.5, 104.0, 102.5])

# Calculate Simple Moving Average
sma_result = tulip_rs.sma(prices, period=3.0)
sma_values = sma_result.get_output()
print(f"SMA values: {sma_values}")

# Calculate RSI
rsi_result = tulip_rs.rsi(prices, period=14.0)
rsi_values = rsi_result.get_output()
print(f"RSI values: {rsi_values}")

# OHLC data for candlestick patterns
open_prices = np.array([100.0, 101.0, 102.0, 101.5, 103.0])
high_prices = np.array([101.0, 103.0, 103.5, 102.0, 104.0])
low_prices = np.array([99.5, 100.5, 101.5, 100.0, 102.5])
close_prices = np.array([101.0, 102.5, 101.5, 103.0, 103.5])

# Detect hammer patterns
hammer_result = tulip_rs.hammer(
    open_prices, high_prices, low_prices, close_prices,
    line_period=10.0, body_period=10.0,
    min_long_cdl_height=0.001, min_cdl_height_tolerance=0.05,
    doji_max_height=0.1
)

patterns = hammer_result.get_patterns()
print(f"Hammer patterns: {patterns}")

Available Indicators

Moving Averages

  • sma - Simple Moving Average
  • ema - Exponential Moving Average
  • wma - Weighted Moving Average
  • dema - Double Exponential Moving Average
  • tema - Triple Exponential Moving Average
  • trima - Triangular Moving Average
  • hma - Hull Moving Average
  • zlema - Zero Lag Exponential Moving Average
  • kama - Kaufman Adaptive Moving Average
  • vidya - Variable Index Dynamic Average
  • vwma - Volume Weighted Moving Average
  • wilders - Wilder's Smoothing

Oscillators

  • rsi - Relative Strength Index
  • stoch - Stochastic Oscillator
  • stochrsi - Stochastic RSI
  • willr - Williams %R
  • cci - Commodity Channel Index
  • cmo - Chande Momentum Oscillator
  • ultosc - Ultimate Oscillator
  • ao - Awesome Oscillator
  • fisher - Fisher Transform
  • fosc - Forecast Oscillator

Trend Indicators

  • macd - Moving Average Convergence Divergence
  • ppo - Percentage Price Oscillator
  • apo - Absolute Price Oscillator
  • adx - Average Directional Movement Index
  • adxr - Average Directional Movement Index Rating
  • dm - Directional Movement
  • di - Directional Indicator
  • dx - Directional Movement Index
  • aroon - Aroon
  • aroonosc - Aroon Oscillator
  • psar - Parabolic SAR

Volatility Indicators

  • bbands - Bollinger Bands
  • atr - Average True Range
  • natr - Normalized Average True Range
  • tr - True Range
  • stddev - Standard Deviation
  • volatility - Volatility
  • vhf - Vertical Horizontal Filter

Volume Indicators

  • ad - Accumulation/Distribution Line
  • adosc - Accumulation/Distribution Oscillator
  • obv - On Balance Volume
  • mfi - Money Flow Index
  • nvi - Negative Volume Index
  • pvi - Positive Volume Index
  • vosc - Volume Oscillator
  • kvo - Klinger Volume Oscillator
  • emv - Ease of Movement
  • wad - Williams Accumulation/Distribution

Price/Statistical Indicators

  • avgprice - Average Price
  • medprice - Median Price
  • typprice - Typical Price
  • wcprice - Weighted Close Price
  • max - Highest Value Over Period
  • min - Lowest Value Over Period
  • mom - Momentum
  • roc - Rate of Change
  • rocr - Rate of Change Ratio
  • bop - Balance of Power
  • linreg - Linear Regression
  • tsf - Time Series Forecast
  • trix - TRIX
  • dpo - Detrended Price Oscillator
  • And many more...

Candlestick Patterns

One Bar Patterns

  • hammer - Hammer
  • hanging_man - Hanging Man
  • bullish_belt_hold - Bullish Belt Hold
  • bearish_belt_hold - Bearish Belt Hold
  • northern_doji - Northern Doji
  • southern_doji - Southern Doji
  • gapping_up_doji - Gapping Up Doji
  • gapping_down_doji - Gapping Down Doji
  • one_candle_shooting_star - Shooting Star
  • takuri_line - Takuri Line

Two Bar Patterns

  • bullish_engulfing - Bullish Engulfing
  • bearish_engulfing - Bearish Engulfing
  • dark_cloud_cover - Dark Cloud Cover
  • piercing - Piercing Pattern
  • bullish_harami - Bullish Harami
  • bearish_harami - Bearish Harami
  • inverted_hammer - Inverted Hammer

Three Bar Patterns

  • three_white_soldiers - Three White Soldiers
  • three_black_crows - Three Black Crows
  • morning_star - Morning Star
  • evening_star - Evening Star
  • three_inside_up - Three Inside Up
  • three_inside_down - Three Inside Down
  • advance_block - Advance Block

Four Bar Patterns

  • concealing_baby_swallow - Concealing Baby Swallow
  • bullish_three_line_strike - Bullish Three Line Strike
  • bearish_three_line_strike - Bearish Three Line Strike

Advanced Usage

Working with Results

import tulip_rs
import numpy as np

# Calculate MACD (returns multiple outputs)
prices = np.random.randn(100).cumsum() + 100
result = tulip_rs.macd(prices, fast_period=12.0, slow_period=26.0, signal_period=9.0)

# Get individual outputs
macd_line = result.get_output()  # First output
all_outputs = result.get_all_outputs()  # All outputs as list

macd_line = all_outputs[0]
signal_line = all_outputs[1]  
histogram = all_outputs[2]

print(f"MACD has {result.num_outputs()} outputs")
print(f"State available: {result.has_state()}")

State Management for Streaming

# Initial calculation
prices_batch1 = np.array([100, 101, 102, 103, 104])
result1 = tulip_rs.sma(prices_batch1, period=3.0)
sma1 = result1.get_output()

# Save state for continuation
state_json = result1.state_to_json()

# Continue with new data (when supported)
# This feature enables real-time streaming calculations

Candlestick Pattern Analysis

# OHLC data
open_data = np.array([100, 102, 104, 103, 105])
high_data = np.array([101, 104, 105, 104, 106])
low_data = np.array([99, 101, 103, 102, 104])
close_data = np.array([102, 103, 103, 105, 105])

# Detect bullish engulfing pattern
result = tulip_rs.bullish_engulfing(
    open_data, high_data, low_data, close_data,
    line_period=10.0, body_period=10.0,
    min_long_cdl_height=0.001, min_cdl_height_tolerance=0.05,
    doji_max_height=0.1
)

# Analyze patterns
patterns = result.get_patterns()  # Returns numpy array of i8
pattern_bools = result.get_pattern_bools()  # Returns boolean array

bullish_count = result.count_bullish()
bearish_count = result.count_bearish()

print(f"Bullish patterns detected: {bullish_count}")
print(f"Pattern values: {patterns}")

Utility Functions

# List all available indicators
indicators = tulip_rs.list_indicators()
print(f"Available indicators: {len(indicators)}")

# List all candlestick patterns  
patterns = tulip_rs.list_candle_patterns()
print(f"Available patterns: {len(patterns)}")

# Get detailed information about an indicator
info = tulip_rs.get_indicator_info("rsi")
if info:
    print(f"Name: {info.name}")
    print(f"Full Name: {info.full_name}")
    print(f"Inputs: {info.inputs}")
    print(f"Options: {info.options}")
    print(f"Outputs: {info.outputs}")

Performance

TulipRS Python bindings are designed for maximum performance:

  • Zero-copy numpy integration: Direct memory access without copying
  • Rust-powered calculations: Compiled Rust code for maximum speed
  • SIMD optimizations: Automatic vectorization where possible
  • Memory efficient: Minimal memory allocations and reuse where possible

Benchmark comparison with other popular libraries:

SMA (10,000 points):
- TulipRS:     0.045ms
- TA-Lib:      0.123ms  
- Pandas:      0.267ms

RSI (10,000 points):
- TulipRS:     0.087ms
- TA-Lib:      0.156ms
- Pandas:      0.445ms

Error Handling

The library provides comprehensive error handling:

try:
    # This will raise an error - period too small
    result = tulip_rs.sma(np.array([1, 2]), period=10.0)
except ValueError as e:
    print(f"Error: {e}")
    # Error: Not enough data: more input data points are required

try:
    # This will raise an error - mismatched array lengths  
    result = tulip_rs.atr(
        high=np.array([1, 2, 3]),
        low=np.array([1, 2]),  # Different length!
        close=np.array([1, 2, 3]),
        period=2.0
    )
except ValueError as e:
    print(f"Error: {e}")
    # Error: Array length mismatch: array 1 has length 2, expected 3

API Reference

IndicatorResult

Result object returned by indicator functions.

Methods:

  • get_output() -> numpy.ndarray: Get the first (primary) output array
  • get_all_outputs() -> List[numpy.ndarray]: Get all output arrays
  • num_outputs() -> int: Get the number of outputs
  • has_state() -> bool: Check if state is available for continuation
  • state_to_json() -> Optional[str]: Serialize state to JSON

CandleResult

Result object returned by candlestick pattern functions.

Methods:

  • get_patterns() -> numpy.ndarray[int8]: Get pattern values (-100, 0, 100)
  • get_pattern_bools() -> numpy.ndarray[bool]: Get patterns as boolean array
  • count_bullish() -> int: Count bullish patterns (value = 100)
  • count_bearish() -> int: Count bearish patterns (value = -100)
  • has_state() -> bool: Check if state is available
  • state_to_json() -> Optional[str]: Serialize state to JSON

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Development Setup

# Clone the repository
git clone https://github.com/yourusername/tulip-rs-python.git
cd tulip-rs-python

# Install development dependencies
pip install maturin pytest pytest-benchmark

# Build in development mode
maturin develop

# Run tests
pytest tests/

# Run benchmarks
pytest benchmarks/ --benchmark-only

License

This project is licensed under the MIT License - see the LICENSE file for details.

Credits

Changelog

v0.1.0 (Initial Release)

  • 100+ technical indicators
  • 60+ candlestick patterns
  • Zero-copy numpy integration
  • State management support
  • Comprehensive error handling
  • Full type hints and documentation

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

tulip_rs-0.1.3.tar.gz (121.3 kB view details)

Uploaded Source

Built Distributions

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

tulip_rs-0.1.3-cp312-cp312-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.12Windows x86-64

tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

tulip_rs-0.1.3-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tulip_rs-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

tulip_rs-0.1.3-cp311-cp311-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.11Windows x86-64

tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

tulip_rs-0.1.3-cp311-cp311-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tulip_rs-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

tulip_rs-0.1.3-cp310-cp310-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.10Windows x86-64

tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

tulip_rs-0.1.3-cp310-cp310-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tulip_rs-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

tulip_rs-0.1.3-cp39-cp39-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.9Windows x86-64

tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

tulip_rs-0.1.3-cp39-cp39-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tulip_rs-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

tulip_rs-0.1.3-cp38-cp38-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.8Windows x86-64

tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (3.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

tulip_rs-0.1.3-cp38-cp38-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

tulip_rs-0.1.3-cp38-cp38-macosx_10_12_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

Details for the file tulip_rs-0.1.3.tar.gz.

File metadata

  • Download URL: tulip_rs-0.1.3.tar.gz
  • Upload date:
  • Size: 121.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tulip_rs-0.1.3.tar.gz
Algorithm Hash digest
SHA256 db471a61731b9a6f09ef905061de0c7c457964083b1b835f63c93d57eaf6ee29
MD5 7b79d6aa46ca19a50e6f4d030ee75afe
BLAKE2b-256 17d8ccc1412d3896ac26fd52044826eaaa1d96968ad747e77bf7c321438750d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3.tar.gz:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tulip_rs-0.1.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 eca8903c7515f61ce8fd843536923f8dc5ee9001b263033684addf275305719b
MD5 8971c50b0a43a37f5f61b9e5a52fd8a6
BLAKE2b-256 8297d231ad4aa67083119875c3a3e481d6ff5f8ba818b54303403101b3a40033

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e114f701f285a578c9e9e2f05bd87c2cf8a5e184f0f73dbd32e55e64abe8e5da
MD5 b82c503558767aa37378b5c57b402252
BLAKE2b-256 d0e0b8eaae1d34a2a35bb1b2509ea4907723fe8562aa5088bc97320110502f56

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ac138845e322b8dee021e42f34ca299fef22e025ec19d5ac41f533084449a56b
MD5 f0d384e9ee800761dd68f88f48a8d1ed
BLAKE2b-256 4093147677a12bcedbd7c4827bc52c151d59928799cb45cb8a27c34fb2a9d853

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 40fd0102adca2acd417466fbfb8ec2cdadfc98eee0453d63c9be20095f8812c9
MD5 63a456b78e16a36fec600a57b1769001
BLAKE2b-256 73b27103d67ef2578151bc77eeaba9478d7188e5580ce154f0c8f81e686fa7fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 cf8213034888d65a127c9939b576de67effbe05c283e7c691f2ec921445df90f
MD5 0d5f19fbf31161696aaa7e72d6be9301
BLAKE2b-256 edbd0fffbd14c764bc1cba75f363d3d0ab145766925e157adaa6acc22fdaba46

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tulip_rs-0.1.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 56d2a978f935b08720297660053fa23a44d366d5c6e056200fdc0f384eed5116
MD5 8e51f1eb65f97da3705c5c0470a3fd5e
BLAKE2b-256 32137b57dd6cbee819517e5fb12d293a4f9801e24761204e7596fb46cec06c2a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d6e836a399c9acb46f44a36c409468b7696c367d7d259fe2c78749a68a1ea422
MD5 5ac482857625bc966ed28f7e8472d4ab
BLAKE2b-256 33c19129bf679891956c46b4be006dabadba061ee694f9ad0162e372133f2ea2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c8481afe6156f7a56e964c4de112d9eb37739d352adf209fd0416504997fface
MD5 7ef64de2dfab3a586126ac11d4c399eb
BLAKE2b-256 cf0d069fb09570620b4a4e70c846d27f3c4dea33e0977f61eefe4c0b45f693f8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 543655841167f9eb0a85195a88f7c5e997ca774b0a1ae562a5264489e56de5af
MD5 acf6f0a4750eebdd1b8762a8a8567882
BLAKE2b-256 2ffe480af3feaa85c86de5fa7142769fdefb6b113f8b118d21fa664f74c6b3a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 88038f94632a6c69084a1138fe7c322ba83f807639de11893fa9f245a244b9ee
MD5 7ee3c8d72d1bc55b8dc95374c0941c42
BLAKE2b-256 199127870db82b7e8edf474857b183a93132bc34232a0520d29b83170cde5152

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tulip_rs-0.1.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c4e1a8a8dba5ed3da42c5879f09acf4e954282e8ba0b7c918a23137442d90f16
MD5 06c58f1d367d446d1528fe3e73b48b5a
BLAKE2b-256 e17ad9b9949a43d2d16879c959f46c63bbd5fb926d5b7114e041fe6d2b492620

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 50cbac698798eeaeeb220d7fb29bff4ca04ea6afee4f7007c786bc4d22ad8ba3
MD5 96500d40d63328459065d759b131b5cb
BLAKE2b-256 3725c3ec4a3da284e60d0e1de259513d1030af3e6b4e75aec6321630fc77e1c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 a83cc0acd173ebf06a1a42a4a3da164446a7a6964856bcd221dc8099974b1f86
MD5 50436622dff51f5cb9916fef747127c0
BLAKE2b-256 b6c4732a47f0581f19bddf5e6c4b826cc1325c44a5e1694f43294521c86b524b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 dc66ab626c49edb9a0313773ef8c21c40861c099c117c18bd5ae0e2e16ce42db
MD5 d026982469ec10a5244ff8da9d3a867c
BLAKE2b-256 f35467c990a9a5685b7e6f4a5ad2da4d711ea9d4bfdfaf3ae42dd8b703673432

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6a9fd365831590c55c2e87e067fca67726f3177226695bb84572e6c288a63c4b
MD5 161cbf534daf2ae0cae06dc5fa4fb62e
BLAKE2b-256 b9a0e426ae9c7bdb01eaf87eb665318589a1373c34b024380cd8513e77c47593

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.3-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tulip_rs-0.1.3-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0467e55742e0ee4b37f445b7d310f9b23a9f33029b62d4ca509518218421a5b1
MD5 d36e067aceed9d5cd651eba7d4a7aee3
BLAKE2b-256 c83114bd6d605d346c126f7f76f5b7a6d53e858a52afd90dc8b2fd9f39c907f6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 87753cf72211c142bdd6ad15231df2f920f7acc4b80640f146ff34f3f00e491a
MD5 2bb5b8d698c2d1cfe972843ed7ec115e
BLAKE2b-256 87496cd86caf882c159409bff33d3b39af4bc760b72a6674b2d9328df99840d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3119f9124efc95c40292d142cb99c190207f213bd660ac3f601b012164fc209a
MD5 043f34c23698dfaf83e4819dffdc8529
BLAKE2b-256 be615fabb5d22941278c9c19451e335e6f5d69282c8b2e6dc96d18dab08075a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7b4c1967e0a84924886809fc10d1cec8761f81470709d9f4b1b50e8c3bf0ce3
MD5 076155acdbe454936825ec6023a94843
BLAKE2b-256 edada8f520bacde7bd1b48caa2e78562f005d8bca674d6d445ed9d8d056ed5f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 022818a0affc9197aebc7b8f52620a2370238e174eb15ee8de39ec8c9aa0cf85
MD5 e4788d8398fda22adc8bfc8848fbd106
BLAKE2b-256 b9d849c27a6b17ba367dd6b5bb271b4ab071cf3c042861a6090b18080b9b4ee6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp39-cp39-macosx_10_12_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.3-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 3.9 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for tulip_rs-0.1.3-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 2f52cd1c092294b8f8bc0a240a13fb7b5151a88e865bc23c59007dfa16fd356d
MD5 bbc63bb72a8d08e275e08c68e9e2bce3
BLAKE2b-256 07a362c05cbaf1dc0f6c3bf5f2c11f222520c9577bbb04851ce962a762da04c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp38-cp38-win_amd64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0de3ef36ecb0e68e214f54c00551cb7e2f13a92a33016f5a11ac121497acd2c1
MD5 8fc5712059fe1e6a6dda01f37316bd0c
BLAKE2b-256 84e49e100d4d2041ea41566ffddf5b88e3920ad5e9e4996ef6cc0b2d9e45c9df

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8083174ba53849f6094461425329f8abc584736028f43ab03cdabf60f616092d
MD5 356ae23f99251c425ddc9172ff283340
BLAKE2b-256 4ae4b7bf1e75270e90181ee74ef2e47a02100b5931e946907ab9c2e3d8d93834

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a01cb51e7e55bbae3682bb9b8d36254965c04c0844eb9726939e04a80d158d2
MD5 1b74bb8b2f8c21e300576bd8bbe51911
BLAKE2b-256 83aca759cba37931c6dd8c0f8f37651db6cf29b94fc32044de49e295a8d074d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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

File details

Details for the file tulip_rs-0.1.3-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.3-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3ee9e7ba95422f31c4c9e77184ad53c123854ec32cf365904483648be7ab439a
MD5 f09eff0f442de0ee488fca23d1f74686
BLAKE2b-256 280bb62554ed7836c475fef6e925aead91030507d51b6bdbc882c4376932515d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.3-cp38-cp38-macosx_10_12_x86_64.whl:

Publisher: publish.yml on me60732/tulip-rs-python

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