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.14.tar.gz (1.4 MB 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.14-cp312-cp312-win_amd64.whl (4.5 MB view details)

Uploaded CPython 3.12Windows x86-64

tulip_rs-0.1.14-cp312-cp312-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

tulip_rs-0.1.14-cp312-cp312-manylinux_2_28_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ ARM64

tulip_rs-0.1.14-cp312-cp312-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

tulip_rs-0.1.14-cp312-cp312-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

tulip_rs-0.1.14-cp311-cp311-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.11Windows x86-64

tulip_rs-0.1.14-cp311-cp311-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

tulip_rs-0.1.14-cp311-cp311-manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ ARM64

tulip_rs-0.1.14-cp311-cp311-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

tulip_rs-0.1.14-cp311-cp311-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

tulip_rs-0.1.14-cp310-cp310-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.10Windows x86-64

tulip_rs-0.1.14-cp310-cp310-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

tulip_rs-0.1.14-cp310-cp310-manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ ARM64

tulip_rs-0.1.14-cp310-cp310-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

tulip_rs-0.1.14-cp310-cp310-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

tulip_rs-0.1.14-cp39-cp39-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.9Windows x86-64

tulip_rs-0.1.14-cp39-cp39-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

tulip_rs-0.1.14-cp39-cp39-manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ ARM64

tulip_rs-0.1.14-cp39-cp39-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

tulip_rs-0.1.14-cp39-cp39-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

tulip_rs-0.1.14-cp38-cp38-win_amd64.whl (4.6 MB view details)

Uploaded CPython 3.8Windows x86-64

tulip_rs-0.1.14-cp38-cp38-manylinux_2_28_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

tulip_rs-0.1.14-cp38-cp38-manylinux_2_28_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ ARM64

tulip_rs-0.1.14-cp38-cp38-macosx_11_0_arm64.whl (3.9 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

tulip_rs-0.1.14-cp38-cp38-macosx_10_12_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.8macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: tulip_rs-0.1.14.tar.gz
  • Upload date:
  • Size: 1.4 MB
  • 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.14.tar.gz
Algorithm Hash digest
SHA256 f59b32f76d0fa4428c47dc33fccece3608b71e7580b7ad2fb674a936f8f30a93
MD5 c208fb300a64323599efd2b6fb3e0445
BLAKE2b-256 6218136398e50d1b0ccda7744d59a472e66572d262313d87bcc832fc84212708

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tulip_rs-0.1.14-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 4.5 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.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4f94306204917d322da3d1298af5f27119ae2865db919de9086e335f10c464ce
MD5 38c0c7e3a757ae4d01fd992efbd48b1c
BLAKE2b-256 1fbf96caa2079fa200b594609213a5a2ea538d3dcac26facc2a60fbbb1ded625

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-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.14-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8dba6b7b2525ddc4416474551fde67533add9aaaec3a4c4021865f278f84432e
MD5 3a9ac816719f4d4bf01567f26af640a1
BLAKE2b-256 707b8ad92e064f3226290b7b4858460c922da09c11bdccde130d85ecccfd4e68

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-cp312-cp312-manylinux_2_28_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.14-cp312-cp312-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp312-cp312-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 17cd34d911337250210276857e956891b7ef9f0c1312f20763d9f3b1f3348ed5
MD5 49d19238a09e48fbf6039c28316ab15d
BLAKE2b-256 8ae30bbce24e44f2dc0023416b1081aad48d443ce285583f0cabd19b0ab03842

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 ee972685298ab9afb691f1c562fd64b30b3c31c1454e49f7992b88beef682d33
MD5 9e4cfe9e56e53d9562625f54788e3cf4
BLAKE2b-256 f082639613b011bc414d28cf407b148e34836992fc9db0d91e7177e80002cc76

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e3f24e283e1609d284e4f8f63a6c2925d5d14209598cf3e26709abb1aa3e8c4a
MD5 0f82661a76323d4b673d49fec3eee476
BLAKE2b-256 ed26df27bafa5278e949811fd9716fc21e296d1fca8639ffba2abb0f5eaa4fdc

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tulip_rs-0.1.14-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 4.6 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.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 c177bc48232c84c356901b66d6cba44f5399f0c9579c8742ae0770877280f2f6
MD5 2b482bd0fabd3ce37b431c225492d8b4
BLAKE2b-256 3e1463631caa3cb66865eb50cf9ecd13536c5992313d844ca8b9eebe0a41550d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-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.14-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a11b03a5cc15dfd963f303ebef3377c3deba28cd2024577a687ede5d8d65c93
MD5 72897a6eb59d057d0193831dbc8bc0f0
BLAKE2b-256 d8c85c6fb8b4405b1dc4cedb949576f33095adce93f104271a776db6800f52b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-cp311-cp311-manylinux_2_28_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.14-cp311-cp311-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp311-cp311-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dc9c16f9d2abb826e498009a4d3fe86aba62c0a0d69ba4c77e6e168ee0588dfc
MD5 19fee42ffbfe03c4a6ff3b58d5100174
BLAKE2b-256 a026dd3786bee8b793bd7ed8bc8196dfd6fdd91d72a40aa3f22de6eec7a4ebf5

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 356605a9ddf1312227b8b2bc60cb3a077e6de6fd9740d767cff2bb878122a819
MD5 f5ac814da47105a3f874217eda14d873
BLAKE2b-256 7663ec0c77aeb10194c11568efcdfe2d6b324672b85f227fbeae697599c20c5a

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 54668ae65f0ad8f72f7f50049f2059dfc0caf36e67dba8e7ac485c7032d1a342
MD5 a15effca9f57bde716860615a4dec56b
BLAKE2b-256 d5f6a93a9526233a311b857e57d4daf2ae86972837b1f9e18251f16645227535

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tulip_rs-0.1.14-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 4.6 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.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 765b1bb89899abfab6cea140d04cac8ee142ca963cde19a24df78b2287bd613b
MD5 573ab74152bc08a51177e1c8d3c43bad
BLAKE2b-256 d3cf6eee99df2c6e55884f01e4838f935102b07b07f7015b520270dbc0519033

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-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.14-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 872f8309deb13d9a08d3c4b160f401c1b841cfa8807af8a29e74d284f3b9a443
MD5 8c28f13b5402d26e3e593c5e1b9da586
BLAKE2b-256 d717c372386228f478a1e3a5c815e8b751e00846fe2ae127b16721cafe979f60

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-cp310-cp310-manylinux_2_28_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.14-cp310-cp310-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp310-cp310-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 810a247f30d23b0ca3ea215990548ac3ab0ba518a1be51cd03f472dd1f1ec646
MD5 caeda8bb88c7d6a7827548690eb5f79a
BLAKE2b-256 89e5dd2caf871416eb922c908565003c70398ef81ebdc7f324aba5afcf2efaaf

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 12774090bc6c70f3d2e7c3313fa85ddcee5f560b363592f7e8f7b440cefb48df
MD5 e1aaabf7de4218cb42e1ac09a59a38be
BLAKE2b-256 233f72b83cd2850617532b8f8aa4a96c85460e34df16b20e2185e5f9094aab0f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b38fef1fc2820ca3f002d49963afa38eb0a3bfc364bd25979b16ba30bc09978d
MD5 5b934ea8a50442b36671a0436934a319
BLAKE2b-256 b61794bad8b6bf118f66a13538b2e699be2cf109a2ec08a221dc2e566c40652c

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tulip_rs-0.1.14-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 4.6 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.14-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a5e844f9ea24508a49719c2e240c8698f08b5aae13b356f7749c4ad162f29a13
MD5 2599ba0e4d54aa6d20609c37853e18dd
BLAKE2b-256 a1a9d6510e60fe0b9a6a6976cdc3a857c2443ba54d2b58afd17f5596dabeaf8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-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.14-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4d5d38994f82b70050cc1c36e3053709c38d91ffa301f39efeaf4d5c3ce89e71
MD5 ea222daefd1ccc2d215ba8a91ca8d41c
BLAKE2b-256 9bbeb4a3a75d23c522b71454e5b3610acbf04c804e09808cb0e577a7e6355702

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-cp39-cp39-manylinux_2_28_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.14-cp39-cp39-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp39-cp39-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 eb55fd9b85ebcb17c05c7f148aaa229ea0486bcec7c1611c5678b8480a327e64
MD5 655340178e7470726afe4703fb3ad9f8
BLAKE2b-256 2fca9816d3a11048c80821cfae24b43f837d528210fe37c8f13f7eb721403a4b

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9b3d51ee8f929b092180bbcb6631114e2651163550b9f8ceb5380afda76b000b
MD5 d8db28ab8a17da7dbf75611f8cd487ed
BLAKE2b-256 a86f68ddc94609ae0571a1363c98fa66b1292c90465cd720c62448bad946c76f

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d18469925b478776cb5c7308b96e6e3af36efbe61ae581e88da78175b54c2663
MD5 6269d096b5b88a83f23b749d5d0984ed
BLAKE2b-256 426d0aeb9194b8cac00118644d5e5a7e0b8f95a84f0e09dcff5c910371dda742

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: tulip_rs-0.1.14-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 4.6 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.14-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 3917e3864867bc6e6b18ba76a128f878a8aa8910627cc751fd7e5d9ca777ef4e
MD5 7a9748f2ddbf16d1c631162156847cee
BLAKE2b-256 cced074af55f03ee658c43ba5c2c79da10f878772e179d91efec8d3e53d4386b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-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.14-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1bb625370c9cf2e5dcae0f6a9f747160e7503bf99314b3c247d428586df14628
MD5 5bba0c63c00fe8fc508be44911729760
BLAKE2b-256 3ad517063e983a8421f33e80c12dc02962f5e12b866d53b718fc3ae69d932651

See more details on using hashes here.

Provenance

The following attestation bundles were made for tulip_rs-0.1.14-cp38-cp38-manylinux_2_28_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.14-cp38-cp38-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp38-cp38-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 694511c8b1db04560979d2c5290e4849d691fb8d4348012faf97217be439df82
MD5 2bf338d7386a07aa4466a1d5b0d6ac8d
BLAKE2b-256 c4b9d4b58f578eac428abc88bc948945f51729a2228edb5e36ef522027d1197d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 18b071fb17794c653ae9400c37cf34e5dd39050b8951fcb574fe5d42787eee38
MD5 8d45f3afbf0d7aa7cb8293e4f4bd7d22
BLAKE2b-256 d0479b51e513ce02cccad102cedc997950442b9595ea6d1180b6fb0a06e1f524

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for tulip_rs-0.1.14-cp38-cp38-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 878e526b5b163ca279dfd9c58bf8ce91d69542c92e2b1db3b4e2e3bf6242ef07
MD5 a37e22d30b9f15cb17d7b7ddd595f45e
BLAKE2b-256 4c083a1c2b111d3e693bd68c30394315c7d72c055b3479d855f1d8a6e0cc83c4

See more details on using hashes here.

Provenance

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