Skip to main content

Python bindings for rust-ai-core: memory estimation, device detection, and ML utilities

Project description

rust-ai-core

Crates.io PyPI Documentation License: MIT

Foundation layer for the rust-ai ecosystem, providing unified abstractions for device selection, error handling, configuration validation, and CubeCL interop.

rust-ai-core is the shared foundation that enables a future AI framework built on transparency, traceability, performance, ease of use, repeatability, and customization depth.

Design Philosophy

CUDA-first: All operations prefer GPU execution. CPU is a fallback that emits warnings, not a silent alternative. This ensures users are aware when they're not getting optimal performance.

Ecosystem Integration: rust-ai-core serves as the foundation for all rust-ai crates, ensuring consistent behavior, unified error handling, and seamless interoperability across the entire stack.

Features

  • Unified Device Selection: CUDA-first with environment variable overrides
  • Common Error Types: CoreError hierarchy shared across all crates
  • Trait Interfaces: ValidatableConfig, Quantize, Dequantize, GpuDispatchable
  • CubeCL Interop: Candle ↔ CubeCL tensor conversion utilities

Installation

Rust

[dependencies]
rust-ai-core = "0.2"

# With CUDA support
rust-ai-core = { version = "0.2", features = ["cuda"] }

Python

pip install rust-ai-core-bindings

The Python package provides bindings for memory estimation, device detection, and dtype utilities.

Quick Start

Rust

use rust_ai_core::{get_device, DeviceConfig, CoreError, Result};

fn main() -> Result<()> {
    // Get CUDA device with automatic fallback + warning
    let device = get_device(&DeviceConfig::default())?;

    // Or with environment-based configuration
    let config = DeviceConfig::from_env();
    let device = get_device(&config)?;

    Ok(())
}

Python

import rust_ai_core_bindings as rac

# Memory estimation for AI training planning
batch, heads, seq_len, head_dim = 1, 32, 4096, 128
attention_bytes = rac.estimate_attention_memory(batch, heads, seq_len, head_dim, "bf16")
print(f"Attention layer: {attention_bytes / 1024**2:.1f} MB")

# Tensor memory estimation
shape = [1, 512, 4096]
tensor_bytes = rac.estimate_tensor_bytes(shape, "f32")
print(f"Tensor: {tensor_bytes / 1024**2:.1f} MB")

# Memory tracking for GPU budget management
tracker = rac.create_memory_tracker(limit_bytes=8 * 1024**3)  # 8 GB limit
rac.tracker_allocate(tracker, tensor_bytes)
print(f"Current: {rac.tracker_allocated_bytes(tracker)} bytes")
print(f"Peak: {rac.tracker_peak_bytes(tracker)} bytes")

# Device detection
if rac.cuda_available():
    device_info = rac.get_device_info()
    print(f"Device: {device_info['name']}")

# Data type utilities
print(f"f32 size: {rac.bytes_per_dtype('f32')} bytes")
print(f"bf16 is float: {rac.is_floating_point_dtype('bf16')}")
print(f"bf16 accumulator: {rac.accumulator_dtype('bf16')}")

Environment Variables

Variable Description
RUST_AI_FORCE_CPU Set to 1 or true to force CPU execution
RUST_AI_CUDA_DEVICE CUDA device ordinal (default: 0)

Legacy variables from individual crates are also supported:

  • AXOLOTL_FORCE_CPU, AXOLOTL_CUDA_DEVICE
  • VSA_OPTIM_FORCE_CPU, VSA_OPTIM_CUDA_DEVICE

Modules

device

CUDA-first device selection with fallback warnings.

use rust_ai_core::{get_device, DeviceConfig, warn_if_cpu};

// Explicit configuration
let config = DeviceConfig::new()
    .with_cuda_device(0)
    .with_force_cpu(false)
    .with_crate_name("my-crate");

let device = get_device(&config)?;

// In hot paths, warn if on CPU
warn_if_cpu(&device, "my-crate");

error

Common error types shared across the ecosystem.

use rust_ai_core::{CoreError, Result};

fn my_function() -> Result<()> {
    // Use convenient constructors
    if rank == 0 {
        return Err(CoreError::invalid_config("rank must be positive"));
    }
    
    if shape_a != shape_b {
        return Err(CoreError::shape_mismatch(shape_a, shape_b));
    }
    
    Ok(())
}

traits

Common trait interfaces for configuration and GPU dispatch.

use rust_ai_core::{ValidatableConfig, GpuDispatchable, CoreError, Result};

#[derive(Clone)]
struct MyConfig {
    rank: usize,
}

impl ValidatableConfig for MyConfig {
    fn validate(&self) -> Result<()> {
        if self.rank == 0 {
            return Err(CoreError::invalid_config("rank must be > 0"));
        }
        Ok(())
    }
}

cubecl (feature: cuda)

CubeCL ↔ Candle tensor interop.

use rust_ai_core::{has_cubecl_cuda_support, candle_to_cubecl_handle, cubecl_to_candle_tensor};

if has_cubecl_cuda_support() {
    let buffer = candle_to_cubecl_handle(&tensor)?;
    // ... launch CubeCL kernel with buffer.bytes ...
    let output = cubecl_to_candle_tensor(&output_buffer, &device)?;
}

Crate Integration

All rust-ai crates depend on rust-ai-core as their foundation:

rust-ai-core (Foundation Layer)
    │
    ├── trit-vsa          - Ternary Vector Symbolic Architectures
    ├── bitnet-quantize   - 1.58-bit quantization
    ├── peft-rs           - LoRA, DoRA, AdaLoRA adapters
    ├── qlora-rs          - 4-bit quantization + QLoRA
    ├── unsloth-rs        - GPU-optimized transformer kernels
    ├── vsa-optim-rs      - VSA optimizers and operations
    ├── axolotl-rs        - High-level fine-tuning orchestration
    └── tritter-accel     - Ternary GPU acceleration

Each crate uses rust-ai-core's:

  • Device selection: Consistent CUDA-first device logic
  • Error types: Shared CoreError hierarchy with domain-specific extensions
  • Traits: Common interfaces (ValidatableConfig, Quantize, etc.)
  • CubeCL interop: Unified Candle ↔ CubeCL tensor conversion

Public API Reference

Core Types

  • DeviceConfig - Configuration builder for device selection
  • CoreError - Unified error type with domain-specific variants
  • Result<T> - Type alias for std::result::Result<T, CoreError>
  • TensorBuffer - Intermediate representation for Candle ↔ CubeCL conversion

Traits

  • ValidatableConfig - Configuration validation interface

    trait ValidatableConfig: Clone + Send + Sync {
        fn validate(&self) -> Result<()>;
    }
    
  • Quantize<Q> - Tensor quantization (full precision → quantized)

    trait Quantize<Q>: Send + Sync {
        fn quantize(&self, tensor: &Tensor, device: &Device) -> Result<Q>;
    }
    
  • Dequantize<Q> - Tensor dequantization (quantized → full precision)

    trait Dequantize<Q>: Send + Sync {
        fn dequantize(&self, quantized: &Q, device: &Device) -> Result<Tensor>;
    }
    
  • GpuDispatchable - GPU/CPU dispatch pattern for operations with both implementations

    trait GpuDispatchable: Send + Sync {
        type Input;
        type Output;
    
        fn dispatch_gpu(&self, input: &Self::Input, device: &Device) -> Result<Self::Output>;
        fn dispatch_cpu(&self, input: &Self::Input, device: &Device) -> Result<Self::Output>;
        fn dispatch(&self, input: &Self::Input, device: &Device) -> Result<Self::Output>;
        fn gpu_available(&self) -> bool;
    }
    

Device Selection Functions

  • get_device(config: &DeviceConfig) -> Result<Device> - Get device with CUDA-first fallback
  • warn_if_cpu(device: &Device, crate_name: &str) - Emit one-time CPU warning

CubeCL Interop (feature: cuda)

  • has_cubecl_cuda_support() -> bool - Check if CubeCL CUDA runtime is available
  • candle_to_cubecl_handle(tensor: &Tensor) -> Result<TensorBuffer> - Convert Candle tensor to CubeCL buffer
  • cubecl_to_candle_tensor(buffer: &TensorBuffer, device: &Device) -> Result<Tensor> - Convert CubeCL buffer to Candle tensor
  • allocate_output_buffer(shape: &[usize], dtype: DType) -> Result<TensorBuffer> - Pre-allocate CubeCL output buffer

Error Handling Philosophy

rust-ai-core provides a structured error hierarchy that balances specificity with ergonomics:

use rust_ai_core::{CoreError, Result};

fn validate_shapes(a: &[usize], b: &[usize]) -> Result<()> {
    if a.len() != b.len() {
        return Err(CoreError::dim_mismatch(
            format!("expected {} dims, got {}", a.len(), b.len())
        ));
    }
    if a != b {
        return Err(CoreError::shape_mismatch(a, b));
    }
    Ok(())
}

Crates should extend CoreError with domain-specific variants:

#[derive(Error, Debug)]
pub enum PeftError {
    #[error("adapter '{0}' not found")]
    AdapterNotFound(String),

    #[error(transparent)]
    Core(#[from] CoreError),
}

Future Framework Goals

rust-ai-core is designed to enable a future AI framework with these principles:

  1. Transparency - Clear, understandable operations at every level
  2. Traceability - Track what happens at each step with detailed logging
  3. Performance - GPU-accelerated, optimized for production workloads
  4. Ease of use - Simple high-level API with sensible defaults
  5. Repeatability - Deterministic, reproducible results
  6. Customization depth - Users can go as deep as they want, from high-level APIs to custom kernels

See ARCHITECTURE.md for design decisions and extension points.

Python API Reference

The rust-ai-core-bindings package exposes the following functions:

Memory Estimation

# Estimate tensor memory
estimate_tensor_bytes(shape: list[int], dtype: str) -> int

# Estimate attention layer memory (Q, K, V + attention weights + output)
estimate_attention_memory(
    batch_size: int,
    num_heads: int,
    seq_len: int,
    head_dim: int,
    dtype: str
) -> int

Memory Tracking

# Create a memory tracker with optional limit
create_memory_tracker(limit_bytes: int = 0) -> MemoryTracker

# Record allocation (raises if exceeds limit)
tracker_allocate(tracker: MemoryTracker, bytes: int)

# Record deallocation
tracker_deallocate(tracker: MemoryTracker, bytes: int)

# Query tracker state
tracker_allocated_bytes(tracker: MemoryTracker) -> int
tracker_peak_bytes(tracker: MemoryTracker) -> int
tracker_would_fit(tracker: MemoryTracker, bytes: int) -> bool

# Reset tracker to initial state
tracker_reset(tracker: MemoryTracker)

Device Detection

# Check CUDA availability
cuda_available() -> bool

# Get device information (returns dict with type, ordinal, name)
get_device_info(force_cpu: bool = False, cuda_device: int = 0) -> dict

Data Type Utilities

# Get bytes per element for dtype
bytes_per_dtype(dtype: str) -> int

# Check if dtype is floating point
is_floating_point_dtype(dtype: str) -> bool

# Get accumulator dtype for mixed precision
accumulator_dtype(dtype: str) -> str

Supported Data Types

  • "f32" - 32-bit float
  • "f16" - 16-bit float
  • "bf16" - Brain float 16
  • "f64" - 64-bit float
  • "i64" - 64-bit integer
  • "u32" - 32-bit unsigned integer
  • "u8" - 8-bit unsigned integer

Logging

# Initialize logging (call once at startup)
init_logging(level: str = "info")  # debug, info, warn, error

License

MIT License - see LICENSE-MIT

Contributing

Contributions welcome! Please ensure:

  • All public items have documentation
  • Tests pass: cargo test
  • Lints pass: cargo clippy --all-targets --all-features
  • Code is formatted: cargo fmt

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

rust_ai_core_bindings-0.2.7.tar.gz (82.6 kB view details)

Uploaded Source

Built Distributions

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

rust_ai_core_bindings-0.2.7-cp314-cp314-win_amd64.whl (560.4 kB view details)

Uploaded CPython 3.14Windows x86-64

rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (709.6 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (619.8 kB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_11_0_arm64.whl (599.2 kB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_10_12_x86_64.whl (617.3 kB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

rust_ai_core_bindings-0.2.7-cp313-cp313-win_amd64.whl (560.2 kB view details)

Uploaded CPython 3.13Windows x86-64

rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (709.3 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (620.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_11_0_arm64.whl (599.7 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_10_12_x86_64.whl (618.0 kB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

rust_ai_core_bindings-0.2.7-cp312-cp312-win_amd64.whl (560.3 kB view details)

Uploaded CPython 3.12Windows x86-64

rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (709.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (620.3 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_11_0_arm64.whl (600.0 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_10_12_x86_64.whl (618.2 kB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

rust_ai_core_bindings-0.2.7-cp311-cp311-win_amd64.whl (563.0 kB view details)

Uploaded CPython 3.11Windows x86-64

rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (712.5 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (620.9 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_11_0_arm64.whl (601.8 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_10_12_x86_64.whl (620.3 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

rust_ai_core_bindings-0.2.7-cp310-cp310-win_amd64.whl (562.9 kB view details)

Uploaded CPython 3.10Windows x86-64

rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (712.4 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (621.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_11_0_arm64.whl (602.4 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_10_12_x86_64.whl (619.8 kB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

rust_ai_core_bindings-0.2.7-cp39-cp39-win_amd64.whl (564.1 kB view details)

Uploaded CPython 3.9Windows x86-64

rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (713.5 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (622.4 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_11_0_arm64.whl (604.6 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_10_12_x86_64.whl (621.7 kB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file rust_ai_core_bindings-0.2.7.tar.gz.

File metadata

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

File hashes

Hashes for rust_ai_core_bindings-0.2.7.tar.gz
Algorithm Hash digest
SHA256 469935e666e8ff6a1ca85aaf8e14b156c8294ef650acdc2522307d5812169e42
MD5 a5f62ee019683c18e3dec59620c256e9
BLAKE2b-256 6211c674fd9be356ad8f0f44682862d6b5a251a3bea44f3ccfea9b976c24da7c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7.tar.gz:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 6e586032b64664f531113d377e176775f8e858fc1e5aa76a25271b7b26724b14
MD5 48a5c5fe82cb9b2c7ea33f97a01a8bdd
BLAKE2b-256 2f71ddf2b5fc2d1320fd6d4957eda00dbd60bb445698a4b83ddc1f64d2fdc913

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp314-cp314-win_amd64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cc10c11cbe1de8806d98c5000f8aa277f24ba2d1c7fd99805b4dfeea9d2bc14b
MD5 392513d8eb53f3baba84d061343bf869
BLAKE2b-256 1f50933f5c55dd9222311a3342e6f9eaf81eb278838d87468152fb36f626993e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e178dc3df01fce7fbcc9b51732e417d8689e36dbda0337a30f7fe694a11516c8
MD5 a559fdbd31724a69d5d847f290a7a37f
BLAKE2b-256 ecce711f79c5797dce121933011fd7ed24124265a0439239f53ad1bad08d22a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 11433ed2f5a82481b205254d23d44686d060d7e79683cfda57202ce3371b10a1
MD5 46464c32619ed0a7fcf7576a1175c313
BLAKE2b-256 92859c0c4d9b321b3cc81ebc6d36c5de1db0d0e91d27fc0daae9499d4a1d96e6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b13549155fb8ca0a4d8ec621880de34d2a373db727dc25a95fc9fd92e42d16fd
MD5 9d5c5af0a02ebfd4a0b4d5bfbd9dd716
BLAKE2b-256 8b23b70779fae8ea2efdf47aa5c602ba17e5e2608b406cf4411ea5c847b70be0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 5f6c50464c4b8412a8d3ffc99f3b89b14b3d4975722f2e6b5530898d87e23ee3
MD5 48c0605338dbae20282ee7f69b17eaa2
BLAKE2b-256 db88bd9023ab073ce205b86a66e900c4718f38195a742da9d27823ae1693abd0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp313-cp313-win_amd64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 577253018bef5ceaaffef425b559af0531b8cca9075d6bc3d4d9c13b07b4af54
MD5 8e6020389848b0c9eede4171e33b16b9
BLAKE2b-256 548ef1df3a7d77025239212ae8f6e6abed509708ac2fdcfe658940fe4baa6df4

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f4e0298f7ba70b50da6ca2424ec320d1af43eafb6d078b6f7caea00b26ad04b5
MD5 2d001a61d62e1c0d2e3ebc7fdd616fac
BLAKE2b-256 56b7e7d8571ecb4c70aba82e1ee354149cf44ad5ce1d8e640d890deaa50b90d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7882d0c981dd5d312ee950a9e8104e28c1995d5227b5cf0f766e1e117e8f5c83
MD5 e09bb2958a1c391b4de2066ca53b74b2
BLAKE2b-256 062625d01e943dbb3b710c2f1ca206f1dccb9866fe07e294cd2a46619e1b1ebd

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f32547610dde697d26e3fc42c72fe48a39c7db63ee051272b8af044479eb272d
MD5 8ba6b18c19fd6290c624aa9430d6d97e
BLAKE2b-256 872f1c644d5286180d8cf6aa5368a4e1894a69c5a223eb2befec6a3dcfc94d56

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 a62976683a9b0429eaa2771a5008d9dc847d99603104bfd0df79da30b0abeb40
MD5 c9a85d17ecd20204fe766f512ca8a5c5
BLAKE2b-256 668ee88e9e917c24f28a11f7a1302ddb1f82d8765609177635cc5680724b853c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp312-cp312-win_amd64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6324014b321b19f4198f4f3665d100c1bd212eb4a7376b457eb83fd6d7b1a994
MD5 12f9e8a106ca926a59ef3f398b3923b7
BLAKE2b-256 4ccac351350f67ad067b5b653cbb8a076b2ea196f53b069d0cbfdf868625d92d

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f6344bde9411a13c005d2082c119b1e012fde8eac4759a6ace24344090c26e4d
MD5 2eb0e115676bc8b92dade41a108adc6a
BLAKE2b-256 d5564cf12e308b04038f4bd23e2d5c790db5e4115a47d21d8d42e9a7925274d6

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 42bcebb581aa5eb045ba31e4454f691d4c39b49bee93df42d3b6e350654cbbaa
MD5 822aa22767d49676fdbcc73dc4a758fb
BLAKE2b-256 5a9eb7c1d2e48cd3974cb4484d543f6df01644d90f51cda9068c5393ec1c82b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4453a13046cd3d0a5116fd3a8c07ccfa6156d71d64afdbe24799b0ef0491a7b1
MD5 0f9fc19cd3f18a84aca0ef8190e8fc67
BLAKE2b-256 5714b69da722248f26868276db43e9e23f6b22903477d7639c51f15e7d6a9a84

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e73f085d55d6f2f6876946bb72c42cf0cc00bf7db6c3cd4e32a038fd99873f0f
MD5 cfe209bdd5526aff879b4cd09671f0f4
BLAKE2b-256 0938c773fef0205693fbf968533f0059077b6e246c508f7e229f0cdea5997bdc

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp311-cp311-win_amd64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 242c0d508729537369e02003ef70362120b6fef0955382569eb6f8e641d474f1
MD5 0265eecabdaca934c4dd4b4b237529c6
BLAKE2b-256 29b77d34747840e46cae3e0fdca8aee399fcf282353a4d25070f3c8275e23d93

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b4010a3090bd394f4485b78f15faa54c8ef219b6376388bd4b58a5eb7c1964a7
MD5 2d14dacd797967497aea40cb2bdcb7b8
BLAKE2b-256 31ee51f92e250384bf6b5de109b1fd2e67af56bdf9242939fc3b9d3489de1744

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 757fdaaba26cdcc9512904d1325b6bc70acacd7741d68f86dad8a92b773ae0d0
MD5 88891df6f6d8a828100502b049f181e0
BLAKE2b-256 821ae37529e3cf59ed85310cd4ddeae65b46d79aa9546a576fc4494ca2c31dd3

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 04a8fe122082359c128d039cd645415bf18e11ebce91fadd555d106bf93268dc
MD5 bb96b0be5a915acaae7f62ab008a57a8
BLAKE2b-256 89506a7646c1aa74fc359c972205f0b7da7060e8b7443a47d563a264bda9309f

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c4b25fbf6ac9f6e05acdd2db7f0ffef3c44960f075a2508a90d43a99f61431fe
MD5 6edce34e5d5ee344be6409e0cfdbb3e6
BLAKE2b-256 e68d12e2ca8818cbcad252c506d3e78a75a7cce725bc401b26a56be2a760ccd8

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp310-cp310-win_amd64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 22a4724747b232d23aab89113559c604909bd15811ee85709b372c82e0aa27b7
MD5 76bd57ba6b5089b02759d4d12d5bfc64
BLAKE2b-256 609acb72cd192cdae1eee51f6efd1b394a4d24524de201db6477ab3d3b1fe6ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f610c79e67d47feecb58df5eb1a0b2d7e8f7547752ca930693bea25725d5163d
MD5 a871a52ce7e4f346cba0a0457c3693d6
BLAKE2b-256 64f95d81b3b0b1012e2ad4c6cafe1f35193f2e4ef930c59bc1a1d50da26064b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b833cb3fab72197c26b3918893c3731df1be05c456465b8fcfce826cec4e9ad4
MD5 aca4eb1899280355260d81bbabcd53ce
BLAKE2b-256 49109d19bd62736fc8af026f1664893043a6c68ac697c9892d6c3e4cef8c2618

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a5f8e5d90ec33a502ec2c9200e1a59d6553c5ffed0b95da19609780657276526
MD5 1a15f8a420168dffb3a516aa89b35d97
BLAKE2b-256 b44c4d2462d69e2d8a6d68057da6cc46be3241072714784942bb4b3c4682402c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 843540a1bcab9c39d35c9cf93a16fe6733b42da8ffc0b7f585d6fc78676658a0
MD5 dabbc744c50acb57b9ddf0ebcef099af
BLAKE2b-256 7b990b6657828e3d886ecf49ff7331587e697a9fb562c0a32812eba1fcfa23a7

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp39-cp39-win_amd64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d10224062a597df2a5eedb6ec3dabe72ecf49eca40cae2247b2b4463fff3ecc
MD5 6fcafba859b86f16995c25ff5735dab4
BLAKE2b-256 e8c135d98290c96be48a190a43e54d129058175796fbf51eff0a9f5a5f461071

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cd004970408d3ebc81294eacda3aaff5c7798388e0effb42a665ec1a2f55c6e6
MD5 fac67d0dfe79fa73fd1301044a2d7b73
BLAKE2b-256 d5fe32273f8886d28fd9891752c5fd181e27b1667df6befc5d032b5fd344439e

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 409c71931516805a14a9a393241424ef3d81e87612d5106fe8fb1cbd9e722fd9
MD5 2b6ab9d08aa281f68ac3cf44b5a340fa
BLAKE2b-256 1f6d1be1dc1050f5bd488adb3d7668ec0867535488416636c5f96b6fd99cfdef

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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

File details

Details for the file rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 49118ee3046eb0d0cbfdcd94e6e0672699a821719cf6abeafb535c2f2cc72ae0
MD5 bcec2473d0e3b85f512557130323df0f
BLAKE2b-256 24b80c78c11de12c5ba90298408e9fa34dd422f560f33a8b0d2ddb578780355c

See more details on using hashes here.

Provenance

The following attestation bundles were made for rust_ai_core_bindings-0.2.7-cp39-cp39-macosx_10_12_x86_64.whl:

Publisher: release.yml on tzervas/rust-ai-core

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