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.9.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.9-cp312-cp312-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.12Windows x86-64

tulip_rs-0.1.9-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.9-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.9-cp312-cp312-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tulip_rs-0.1.9-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.9-cp311-cp311-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.11Windows x86-64

tulip_rs-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

tulip_rs-0.1.9-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.9-cp311-cp311-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tulip_rs-0.1.9-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.9-cp310-cp310-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.10Windows x86-64

tulip_rs-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

tulip_rs-0.1.9-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.9-cp310-cp310-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tulip_rs-0.1.9-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.9-cp39-cp39-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.9Windows x86-64

tulip_rs-0.1.9-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.9-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.9-cp39-cp39-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tulip_rs-0.1.9-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.9-cp38-cp38-win_amd64.whl (3.9 MB view details)

Uploaded CPython 3.8Windows x86-64

tulip_rs-0.1.9-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.9-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.9-cp38-cp38-macosx_11_0_arm64.whl (3.4 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

tulip_rs-0.1.9-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.9.tar.gz.

File metadata

  • Download URL: tulip_rs-0.1.9.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.9.tar.gz
Algorithm Hash digest
SHA256 af2894a3943995e9e40ba2ac0cdc74781caf530ee1d56fd648e7df2528fdb50b
MD5 c167f45e0cbcaf82b9eac21044afd9f0
BLAKE2b-256 3bb339ad34c427978c5722ff004b1670c259ffc19f79899d1ce68e01a9997c6c

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9.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.9-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.9-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.9-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 5aa4e83b0e0122c3aeca8c1be82c813cc60d618125108c9533f644d32c9f9201
MD5 1fb0d800ab02cf8e69cab4e622e56775
BLAKE2b-256 a87dcfb68dfc40668fb35f0bc30a30d2642c2eb62991184708e2712e0f911914

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fc8e1e0b6ab916cef0b0eda79234cc946a75846817fa07a4168e8ce1c43de4d7
MD5 43905a30d60d8786fed7e475b89ab4f0
BLAKE2b-256 2bba2525397f85693cf324c4f17309f8d18a4d1fc07f078527e2076a86795bde

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 79af7df3983c4a7dcd5b914ccda8836eb3d08c3d27ac2a8e9607c45898f9a630
MD5 135f5fb51d6eae7299932b2b23c57a94
BLAKE2b-256 0d2459fed2eaf63297ddbe8d77184d0e7265d6964bceaf3470f7775f1878d62f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0289d6cccc5ba19618e7a789f3ce82f2a918155d0e2aff43bbba644bd0f2de9d
MD5 8f0bdaec81340a05905268a39faeddfa
BLAKE2b-256 799efe5b8c4508d45115d5675ab3bebd1891ee1e5ace15d452613eab02757548

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 baeaf50db4c5f07a420dd166819b67c64932783ac73cc488177c17e60785fc9e
MD5 829d028a8452a26513d9d5db590f6913
BLAKE2b-256 519615cc3cfac977f14bae10cf80e77f35ee9ef5f7ec2659b0d3389032364dd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.9-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.9-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f67d35249b83e1f9dacdcfccf5a5067db5133968decd078c09a4dca21899a119
MD5 feecad23edeee68162e0316462958988
BLAKE2b-256 178629f905fe873424f6a7b8bf34c130fc18976b1f0d5f037b63b7e0b876a545

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d3bf5a18276ad1ccab3249d4309e83349fcf809daad57ecb9d147943e06fda90
MD5 e553121dbc2fa6805836c431837ae96b
BLAKE2b-256 59838551be4ee5dbee5c7143cde9f8cae33d3147740e8d1477306b96ab8d7ad3

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1cde3c8045e5dc6349688abbe94b67c6f81a498196eebeb23ddbb811de48e13a
MD5 4a9fcf0f7425bc67ce8bf15e822214f1
BLAKE2b-256 dd8864c4d2711b06d2896f5d4acdd60717f1c5c2d8995683bda0a782a543416a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ffe108092efa5f0fe59c1931df0d82cc1e7f9db251562cca8407aaf2e65e3aa
MD5 4396370218bcfdf409328941a3f62faf
BLAKE2b-256 4b804733e4234d0c9337a3d57003825ccd6225e4ca3a9f93d355dd670fde1d60

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 82866c280499d711a14a1561fb5fb34b4728f47512b63a754e4a16dc3a9760f2
MD5 f32d11917ec755083ff3245d5e25656d
BLAKE2b-256 b9e534f17979ec17678f4285b4b2fc255e0b58ed49d9c8ee07f5ea669efbe52b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.9-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.9-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f898103f307b77c262a5d3b858fa2ea4110315b740e8f4cbee633870c470883d
MD5 ff048346c7957d9ce287acd514c0b72d
BLAKE2b-256 59f3411ae9c075e2112aa69f3b0c90bee3f2769aa307d675ec152e748402e92f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 41932483f12fe1c3114abdffc4c4e7060522523d72d1166e270b11167ee4c8c0
MD5 e55d17c350f375966a91040243243194
BLAKE2b-256 22b6184919b1d139d455b8f9600b7edf7a23adce32849b5e60246d3783815273

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a33e50095a1ec971e553181498afde3aaecdb11d60304b04d6e7eab4ef7caa3
MD5 273d79b00b484ed1fd90c9b31600c35d
BLAKE2b-256 edb789d84871c6fe9444d7f03fbcd43744eeb94152339f7f027b32da680ab46f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7f1181e04c1f82c5c2f18140c6436dcc587c771a2d371163f22b35bd6845c3f9
MD5 6d77750e82f7fc82062fcfc7e6e067f6
BLAKE2b-256 d103089720522e29af80497d644c3546189915321e2e9d21545a2c174454f1c2

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0371e261a19244a4e4a201b359e09a7039bde650f6395e7869a62880b208ede6
MD5 2276d00304cb0ca7b86e35f96d020116
BLAKE2b-256 404bc4c86269b28faacb83de56cb827eebb7d2f4b0ce71d4c56ec4170d4d9420

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.9-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.9-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3499c036691356c8275fcaaabfa1b158caef4587f9de8d270e46b78a6e45b0c5
MD5 b089dc693e0dcf9538752641ccc1fc55
BLAKE2b-256 45fe7d4554af2a8b4f516d7216e1381169a18648b7111dbd01bae9c28b2f875f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c901d5fa15f581e62064241e638e5d8e1c125fcef27ca30d1257cde533d4a377
MD5 ff9f5881c3bd73f36d4e8ecc19b3c331
BLAKE2b-256 b3f6ecd93240c1d2822ca623c056b224ade323c24169b8eec106ac4733dab6e8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eecee2913b51c5ef3edd6eccf21ae38e09c460502d2b78c37dd9e97b87274e30
MD5 3def068507e3776c2401ea4c33553518
BLAKE2b-256 0b91336f89ac51f65bf3507ec8a0b69a50c0f9fc8741b37311515bdd3274c514

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 20275766590e27df20ce75a7a4beb70b4bc68083e0844ff9362ad2eb60e42472
MD5 12b6cef47283e10056616925230f11b7
BLAKE2b-256 fd5abfc6800dd91ef01984bed5b9f685b32acffa5355ba37732e2194cb292338

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d399733d938dda71deea677495c8c6848f965a45b4aedec9a7edfc17679c26de
MD5 f5241c33e3c4268574439baf449a2b4f
BLAKE2b-256 cb6cdf98ce3b14e077e2613546a8478f471ebb7686143f4069d9b1687b39a873

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: tulip_rs-0.1.9-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.9-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 dcf7113b746ce417beff1473ca0172ccc2df7db2e2b118b07ed31898bc9a422d
MD5 4b16278656389e6b4596b5f7c74c0592
BLAKE2b-256 ece3e12216dcedccb851717b4f904c09648946e27d08d6177e31f3b6b441e117

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0a840a5b4a74151e8b56bad6cc66b3c1ff833e8e213e30d2d1ff2e07c37d5320
MD5 ab3d69c50e58a0d09de2c12e402439cb
BLAKE2b-256 1d2251fb114c0943573a36adf1881448ae1e1ce11918907b13c93f155627fe29

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cac220b1715a5c2460cb78ecff090afe8502d97f2ba03b2380574cf3db6163a4
MD5 26d1696d8c5090728c214449bdfe5031
BLAKE2b-256 8ec505e0ea669dbb63805065468967b91785e90269530968dd7a7576d25fbadc

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9e72e7be28782eaf613ab203578b568f996e468c7f531f32f25c13f425dedebb
MD5 ac090a42d472bb7229a93e4a738d7d4a
BLAKE2b-256 fdde77dc8c2d5f5c7ee67febc9a97cd34b2f1c80e49927ab8ceb01c59b19bff3

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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.9-cp38-cp38-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.9-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 331a90f31f71734810ec33ddfb133fada12b349e048edb60dda91ad08eb6d62d
MD5 59fda2f9539c633c9d4b55aa6dd2dff3
BLAKE2b-256 5157fe591d4c75c49e7c5b143bf9db4b0a9102e1736627695cfc75dde2271bd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.9-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