Skip to main content

Speed up file transfers with the baseten.co + baseten_fs.

Project description

Truss-Transfer

Python-optional download utility for resolving Baseten Pointers (bptr).

Installation

pip install truss-transfer
# pip install /workspace/model-performance/michaelfeil/truss/truss-transfer/target/wheels/truss_transfer-0.1.0-cp39-cp39-manylinux_2_34_x86_64.whl

How to Resolve a bptr

Via Python Package

import truss_transfer

# Resolve bptr using default download directory from environment
result_dir = truss_transfer.lazy_data_resolve()

# Resolve bptr with custom download directory
result_dir = truss_transfer.lazy_data_resolve("/custom/download/path")

# Example usage in a data loader
def lazy_data_loader(download_dir: str):
    print(f"download using {truss_transfer.__version__}")
    try:
        resolved_dir = truss_transfer.lazy_data_resolve(str(download_dir))
        print(f"Files resolved to: {resolved_dir}")
        return resolved_dir
    except Exception as e:
        print(f"Lazy data resolution failed: {e}")
        raise

Via CLI

# Using the compiled binary
./target/x86_64-unknown-linux-musl/release/truss_transfer_cli /tmp/download_dir

# Using the Python package CLI
python -m truss_transfer /tmp/download_dir

How to Build a bptr and Save it via Python

You can create Baseten Pointers from HuggingFace models using the Python API:

import truss_transfer
import json

# Define models to include in the bptr
models = [
    truss_transfer.PyModelRepo(
        repo_id="microsoft/DialoGPT-medium",
        revision="main",
        volume_folder="dialogpt",
        kind="hf",  # "hf" for HuggingFace, "gcs" for Google Cloud Storage
        runtime_secret_name="hf_access_token",
        allow_patterns=["*.safetensors", "*.json"],  # Optional: specific file patterns
        ignore_patterns=["*.txt"]  # Optional: patterns to ignore
    ),
    truss_transfer.PyModelRepo(
        repo_id="julien-c/dummy-unknown",
        revision="60b8d3fe22aebb024b573f1cca224db3126d10f3",
        volume_folder="julien_dummy",
        runtime_secret_name="hf_access_token_2"
    )
]

# Create the bptr manifest
bptr_manifest = truss_transfer.create_basetenpointer_from_models(models)

# Save to file
with open("/bptr/static-bptr-manifest.json", "w") as f:
    f.write(bptr_manifest)

# Or parse as JSON for programmatic use
manifest_data = json.loads(bptr_manifest)
print(f"Created bptr with {len(manifest_data)} pointers")

PyModelRepo Parameters

  • repo_id: Repository identifier (e.g., "microsoft/DialoGPT-medium")
  • revision: Git commit hash or branch name (e.g., "main", commit hash)
  • volume_folder: Local folder name where files will be stored
  • kind: Repository type - "hf" for HuggingFace, "gcs" for Google Cloud Storage
  • runtime_secret_name: Name of the secret containing access token
  • allow_patterns: Optional list of file patterns to include
  • ignore_patterns: Optional list of file patterns to exclude

End-to-End Flow

Here's a complete example of creating and resolving a bptr:

Step 1: Create a bptr Manifest

import truss_transfer
import json
import os

# Create models configuration
models = [
    truss_transfer.PyModelRepo(
        repo_id="microsoft/DialoGPT-medium",
        revision="main",
        volume_folder="dialogpt",
        runtime_secret_name="hf_access_token"
    ),
    truss_transfer.PyModelRepo(
        repo_id="gs://llama-3-2-1b-instruct/",
        revision="",
        volume_folder="llama",
        # requires json in /secrets/gcs-service-account-jsn
        runtime_secret_name="gcs-service-account-jsn",
        kind="gcs"
    ),
    truss_transfer.PyModelRepo(
        repo_id="s3://bt-training-dev-org-b68c04fe47d34c85bfa91515bc9d5e2d/training_projects",
        revision="",
        volume_folder="training",
        # requires json in /secrets/aws
        runtime_secret_name="aws-secret-json",
        kind="s3"
    )
]

# Generate the bptr manifest
bptr_manifest = truss_transfer.create_basetenpointer_from_models(models)

# Ensure the directory exists
os.makedirs("/bptr", exist_ok=True)

# Save the manifest
with open("/bptr/static-bptr-manifest.json", "w") as f:
    f.write(bptr_manifest)

print("bptr manifest created successfully!")

Step 2: Set up Environment (Optional)

# Configure download location
export TRUSS_TRANSFER_DOWNLOAD_DIR="/tmp/my-models"

# Enable b10fs caching (optional)
export BASETEN_FS_ENABLED=1

# Set up authentication (if needed)
export HF_TOKEN="your-huggingface-token"
# Or use the official HuggingFace environment variable
export HUGGING_FACE_HUB_TOKEN="your-huggingface-token"

Step 3: Resolve the bptr

import truss_transfer

# Resolve the bptr - downloads files to the specified directory
resolved_dir = truss_transfer.lazy_data_resolve("/tmp/my-models")
print(f"Files downloaded to: {resolved_dir}")

# Now you can use the downloaded files
import os
files = os.listdir(resolved_dir)
print(f"Downloaded files: {files}")

Step 4: Use the Downloaded Files

# Example: Load a model from the resolved directory
model_path = os.path.join(resolved_dir, "dialogpt")
# Your model loading code here...

Complete Workflow

# Complete example combining creation and resolution
import truss_transfer
import json
import os

def create_and_resolve_bptr():
    # runtime_secret_name: best to be created with `-` in baseten.
    # 1. Create bptr manifest
    models = [
        truss_transfer.PyModelRepo(
            repo_id="NVFP4/Qwen3-235B-A22B-Instruct-2507-FP4",
            revision="main",
            # write to folder named
            volume_folder="dialogpt",
            # read secret from /secrets/hf-access-token
            runtime_secret_name="hf-access-token"
        ),
        # requires a gcs service account json
    ]
    root = "/tmp/my-models"
    bptr_manifest = truss_transfer.create_basetenpointer_from_models(models, root)

    # 2. Save manifest
    os.makedirs("/static-bptr", exist_ok=True)
    with open("/static-bptr/static-bptr-manifest.json", "w") as f:
        f.write(bptr_manifest)

    # 3. Resolve bptr. If we would set `root` above to "", we could define the base dir here.
    truss_transfer.lazy_data_resolve(root)

    # 4. Verify files were downloaded
    dialogpt_path = os.path.join(root, "dialogpt")
    if os.path.exists(dialogpt_path):
        files = os.listdir(dialogpt_path)
        print(f"Successfully downloaded {len(files)} files to {dialogpt_path}")
        return dialogpt_path
    else:
        raise Exception("Model files not found after resolution")

# Run the workflow
model_path = create_and_resolve_bptr()

Secrets

Preferably, use a - to and lowercase characters to add credentials in baseten.

AWS

{
  "access_key_id": "XXXXX",
  "secret_access_key": "adada/adsdad",
  "region": "us-west-2"
}

Google GCS

{
      "private_key_id": "b717a4db1dd5a5d1f980aef7ea50616584b6ebc8",
      "private_key": "-----BEGIN PRIVATE KEY-----\nMI",
      "client_email": "b10-some@xxx-example.iam.gserviceaccount.com"
}

Huggingface

The Huggingface token.

Azure

(Untested)

{
    "account_key": "key",
}

Environment Variables and Settings

The following environment variables can be used to configure truss-transfer behavior:

Core Configuration

  • TRUSS_TRANSFER_DOWNLOAD_DIR (default: /tmp/bptr-resolved)

    • Directory where resolved files will be downloaded
    • Used when no explicit download directory is provided
    • Can be overridden by passing a directory to the CLI or Python function
  • RUST_LOG (default: info)

    • Controls logging level: error, warn, info, debug, trace
    • Example: RUST_LOG=debug for detailed logging

Authentication

  • HF_TOKEN (optional)

    • HuggingFace access token for accessing private repositories
    • Takes precedence over HUGGING_FACE_HUB_TOKEN
    • Used when runtime_secret_name is hf_token or hf_access_token
  • HUGGING_FACE_HUB_TOKEN (optional)

    • Official HuggingFace Hub token environment variable
    • Used as fallback if HF_TOKEN is not set
    • Allows access to private HuggingFace repositories

Baseten FS (b10fs) Configuration

  • BASETEN_FS_ENABLED (default: false)

    • Enable/disable Baseten FS caching: 1/true to enable, 0/false to disable
    • When enabled, files are cached in /cache/org/artifacts/truss_transfer_managed_v1
  • TRUSS_TRANSFER_B10FS_CLEANUP_HOURS (default: 96)

    • Hours after last access before deleting cached files from other tenants
    • Helps manage disk space by removing old cached files
    • Example: TRUSS_TRANSFER_B10FS_CLEANUP_HOURS=48 for 2 days
  • TRUSS_TRANSFER_B10FS_DOWNLOAD_SPEED_MBPS (default: 350)

    • Expected download speed in MB/s for b10fs performance benchmarking
    • Used to determine if b10fs is faster than direct download
    • Lower values make b10fs more likely to be used

Example Configuration

# Basic setup
export TRUSS_TRANSFER_DOWNLOAD_DIR="/tmp/my-models"
export RUST_LOG=info

# With b10fs enabled and authentication
export BASETEN_FS_ENABLED=1
export TRUSS_TRANSFER_B10FS_CLEANUP_HOURS=48
export TRUSS_TRANSFER_B10FS_DOWNLOAD_SPEED_MBPS=100
export HF_TOKEN="your-huggingface-token"

Development

Running Tests

# Run all tests
cargo test

# Run tests without network dependencies
cargo test --lib

# Run Python tests
python -m pytest tests/

Running the CLI as binary

Compiling the libary as musl-linux target for cross-platform usage.

# Add one-time installations
# apt-get install -y musl-tools libssl-dev libatomic-ops-dev
# rustup target add x86_64-unknown-linux-musl

# To build with cargo:
cargo build --release --target x86_64-unknown-linux-musl --features cli --bin truss_transfer_cli
# To run the binary
./target/x86_64-unknown-linux-musl/release/truss_transfer_cli /tmp/ptr

Building a wheel from source

Prerequisites:

# apt-get install patchelf
# Install rust via Rustup https://www.rust-lang.org/tools/install
pip install maturin==1.8.1

This will build you the wheels for your current python3 --version. The output should look like this:

maturin build --release
🔗 Found pyo3 bindings
🐍 Found CPython 3.9 at /workspace/model-performance/michaelfeil/.asdf/installs/python/3.9.21/bin/python3
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.75s
🖨  Copied external shared libraries to package truss_transfer.libs directory:
    /usr/lib/x86_64-linux-gnu/libssl.so.3
    /usr/lib/x86_64-linux-gnu/libcrypto.so.3
📦 Built wheel for CPython 3.9 to /workspace/model-performance/michaelfeil/truss/truss-transfer/target/wheels/truss_transfer-0.1.0-cp39-cp39-manylinux_2_34_x86_64.whl

Release a new version and make it the default version used in the serving image builder for new deploys

truss-transfer gets bundled with truss in the context-builder phase. In this phase, the truss-transfer version gets installed. To make truss-transfer bundeable, it needs to be published to pypi and github releases.

  1. Open a PR with rust changes
  2. Change the version to x.z.y+1.rc0 in Cargo.toml and push change to branch a.
  3. Run a `Buid and Release truss-transfer" action https://github.com/basetenlabs/truss/actions with "release to pypi = true" on this branch a.
  4. Make x.z.y+1.rc0 as truss pyproject.toml, and templates/server/requirements.txt dependency
  5. Edit truss to a new truss.rcX, publish truss.rcX to pypy.org (main.yml action)
  6. pip install truss=truss.rcX locally and truss push (on example that uses python truss)
  7. Merge PR
  8. Wait for CLI binary to be released under assets as part of a new tag (https://github.com/basetenlabs/truss/releases)
  9. add the CLI to the server.Dockerfile.jinja to have it available for trussless.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

truss_transfer-0.0.24rc9.tar.gz (64.8 kB view details)

Uploaded Source

Built Distributions

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

truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_i686.whl (4.2 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_armv7l.whl (4.1 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686

truss_transfer-0.0.24rc9-cp313-cp313t-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

truss_transfer-0.0.24rc9-cp313-cp313t-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

truss_transfer-0.0.24rc9-cp38-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.8+Windows x86-64

truss_transfer-0.0.24rc9-cp38-abi3-win32.whl (2.9 MB view details)

Uploaded CPython 3.8+Windows x86

truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_x86_64.whl (4.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_i686.whl (4.2 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_armv7l.whl (4.1 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_28_armv7l.whl (3.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ ARMv7l

truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_28_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ ARM64

truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (4.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ i686

truss_transfer-0.0.24rc9-cp38-abi3-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

truss_transfer-0.0.24rc9-cp38-abi3-macosx_10_12_x86_64.whl (3.8 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file truss_transfer-0.0.24rc9.tar.gz.

File metadata

  • Download URL: truss_transfer-0.0.24rc9.tar.gz
  • Upload date:
  • Size: 64.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.3

File hashes

Hashes for truss_transfer-0.0.24rc9.tar.gz
Algorithm Hash digest
SHA256 237ef6b72528183d8235016251d9ad4ae7abeeb0765acd9c389b52aa8da45bac
MD5 748cf236eb7fa2864ecfb4cb72d953dd
BLAKE2b-256 fbffcba41d21f21a6b09778840c2ea4ba82d78d0e9a7590f39e7eee0beaffc9f

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6c8c4580fc6561724b1fa9bfc7c824bebb808b93737765b380a717f4bef9ad6e
MD5 560ccdd381039a23ad7c18b738cbcf54
BLAKE2b-256 fe37cb5fb95329a05a723724e4cb95389513b46dd13159af2afbc3c259f6438a

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 3ed28690c35c7e098a506d6ef67d7457cccccdbb22959c900c8cc9ec51a27546
MD5 b87ca419ec9e4595e4b1664eae7aaa5d
BLAKE2b-256 dce77112a636479ba523184309488a433c51356d171436c9d6040bce74b0e98d

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 ce5f515014c52b9131b67450c8943f9dc4e3ad46b5779458b5b3bdd23faf21b9
MD5 c0fe19b7b82d4ca8feec8f065582dede
BLAKE2b-256 7bb6fe84a7ab933097df4fd2f6280847b07f46575e5099dd2aa353a761e9c333

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7ea924fc96a7c9a7d5bfa8b049971837a130c23385d198f13c046ec30b873721
MD5 f3c222a0e372135bf1b2bedb60bb6d3f
BLAKE2b-256 8b2e8dd2e3edc8f7d7cf8e1f05b82567a268fe205d4d4f38c23f993cdf23c240

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 14595039af52fa01476f064a56fd6c2abb7a2638568981bb2f1d591b5a3b836f
MD5 1cc3b7ad7c2f2e79ee68c3961f27127e
BLAKE2b-256 a1e78a1f29c97a6cc7d4a5b61f2bb5c320daeabf653e7ac06e23d6af9da8c867

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f632d9fecc1a6bbb910005dd57313ec45abefc1040332f26e4c11f7474cef126
MD5 93d6ed33be2f41caeaf5658666127eb9
BLAKE2b-256 d46f049b8c994b1ec582747ee00c2c9126e8771ebef9249508a4056017e51c2e

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 c2538309e20504e17b25c3bbf4b92996e909583a09820ea6f916a8d968868371
MD5 082951cdbf09e5ece87c78e880eaf1fb
BLAKE2b-256 e7015300ad680e4ffc2efaf2f64e66ad1f1b9ec0dbb0cac13211b6e5493bfafb

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a00b9dee3fb0fe06c6623fdfc3c245eac56350ddb87e06d20ee6d5477a35abea
MD5 56d5f49f8eefce7523aa33de154109de
BLAKE2b-256 cc4da49eee5b3cf2c3de32296d6cd67378f29dff1b3b4b089370b2aa1ef8d79c

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 df7fc3ce36bdbe843973a008971b54663bae1e158074dc7a52f6ed314b0eaf63
MD5 7813ed5a3f7c71bf649338afa087e330
BLAKE2b-256 6e7abfc0b11c190749e875d8ea839de71674a8898e7a7565ff9f025c191bc75e

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 72bb4d7889484f0e3bf002f20e41344fe6f76f397e9f385470a50b64a05e9877
MD5 f95bb7647cdea1a8dec4aec8d0aff8c9
BLAKE2b-256 c6a0e5fb3d5dea791d803ede0d754d1d8503ff4222cec97968f559cb1195cd54

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-win32.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 85c076dc865288d8ba12fbc734db3160c9acb605a96980de0e98a969c238cd7d
MD5 cf1a77243869da55db1086331710135e
BLAKE2b-256 7cbb4c566b2bcfb89cd26f42e04b34b5991bedbfbc8374d1fc378a64ba48a84c

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6f6b7a49e23e1cc994415cd19202d76660b35277abc729e7d42dcb9014379289
MD5 d74dd20c32505a2416d8517db9b70c26
BLAKE2b-256 8dbb585d6f464a64aa4783ea6520023a7098cce64aea54dd2bc28d6c1bd2a89a

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8664a2c85ba6883a8cfe77cee39a4c843802ef01f2ccf81f8ef777a6ae2427f8
MD5 3b42e9fb4a3c06c03580eff2dc4d8ed2
BLAKE2b-256 f666880674c0f3d2a3a4956409bd7276c8b137a446fda5e654bd177624964230

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5329074834029c9cf007e72de52a5ee9990c8d3111d9aa5e4e11e775459effaa
MD5 28775ab9666d006c4823f230a0eaf308
BLAKE2b-256 fcedbbae5a19ae3b5f662cf026de68c6eb3c91318898c109ac243380893da273

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 7201b82b12de214a8f4443fd53fd7dc4fdafa4c9637eaa803112f042ae3c3c47
MD5 335b92fe50b40d1ba155be44a8ca9203
BLAKE2b-256 64656319253a4379b8b8f8a9c43927214d7b6f02434676cbdafa06be85c10a88

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 3d566214af41c6880bddfff7024f7c854691e94f3a90f551ac9bdd9e3040e387
MD5 9497fed7570bb07be51ed9e00b242aa6
BLAKE2b-256 f637feec67c5530216a7ed603c9e15c08ca9bdeb8994a7d43b7085a9ffd87830

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 efee09a38362937de593098c54be2e13bf9f2669f67129c4a064feb724ca940e
MD5 2be752e77da0122cbb245b466074a58f
BLAKE2b-256 bef68c7d4fa0e92235c32979a3946bc48b637d544636cf17b0ad57f0e4b11c33

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8ce697d4f019208a2170d34ce0dcfd1271c11de731626e7503bc620bb321ac81
MD5 9e66dcf4ddb4a4eccf4514278db6c438
BLAKE2b-256 191d684e1e29d756303ee2da6765f845f2121ee7cf1c388ddf98c05f918e22c8

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1f2bfe8f37cfd461671b46cfb85e96c8d7cc210aa7b064dea3858ccd63863f2f
MD5 60dcdd71adbc60ef07167ea7fa134b43
BLAKE2b-256 5286752c035ce15356ec37db7dda30cf5e0ef6ae23bb3085dba09b186a143ff2

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a10592669d8437a32352942e27f4030169cbe30adaab802b1ce42485f4ee95ea
MD5 369434215a3c16fa110717a19f7a13a2
BLAKE2b-256 0d608fa2401d467fe5fc673feabf79f2577169ce93e1f6afed96b391759088b9

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7e2559c2f31fe9f80eae6b48dd44361b1f47c04fe651328968c9b72a208fb16d
MD5 8b027fe09e4eaf2305e33c21e7d12553
BLAKE2b-256 6fd16b541de46345334acad02d470d7f481dfbf101ed2d8680c01913814ca451

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.24rc9-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc9-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9e20ab08f7af9f4739a825f0750ae338a324daee0e3fc822cbf189c424f42f4f
MD5 af8787168bcf7c2388f8475caddeabc5
BLAKE2b-256 36382475ec1dc50c8cf04012c04dce4ddd1c57e4efa38b7098d7a23a472901bb

See more details on using hashes here.

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