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.24rc11.tar.gz (65.6 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.24rc11-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.24rc11-cp313-cp313t-musllinux_1_2_i686.whl (4.2 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

truss_transfer-0.0.24rc11-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.24rc11-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.24rc11-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl (4.3 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

truss_transfer-0.0.24rc11-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.24rc11-cp38-abi3-win_amd64.whl (3.4 MB view details)

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

truss_transfer-0.0.24rc11-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.24rc11-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.24rc11-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.24rc11-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.24rc11-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.24rc11-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.24rc11-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.24rc11-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.24rc11-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (4.3 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ i686

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

truss_transfer-0.0.24rc11-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.24rc11.tar.gz.

File metadata

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

File hashes

Hashes for truss_transfer-0.0.24rc11.tar.gz
Algorithm Hash digest
SHA256 46d44fbeef5502feebfa9b20eda159c818378a1d7904060bf2a9947ec00ae9fb
MD5 751e8696dccb11b622bf072ab9afcebc
BLAKE2b-256 ccc15aa1fdc48154a05950600966c9fd955507f05295ff7bae9afa8c421d7534

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 f9b4db0119e48ee39854a6d4ec6ec7cdcd87008361429cc7f1da8ca9b1e3892c
MD5 d8f30cdfc0779db2a634aaed4aef962e
BLAKE2b-256 6ffa558c37650cc1d3e226eb68c08e48f2a7e49af71c8a2a5c1fb69a8031c5e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2e99cc5d334ec661c8ae3f3cbd65430339afa3753c014f8cfdf71a65c21a9b25
MD5 b31c7a75c399a7725574e476d216fba2
BLAKE2b-256 0d0ab7517523edc3d34f4e6fd31e4a97e6e0cd2ec1760321549cbd1e1f85f049

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f87c80613b6f5ecc3930d2057f78bedc6715db58eb44aa03c092dc45d50e35cb
MD5 9462a2fa22adf9d77e22761d60822890
BLAKE2b-256 708383f88064c0a8c290b03c07b3d9d456ad26778de47ae5d2fd02d7df9c5cfa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 337a4049fd0f969581992a81f591ca34f7b860e5b14963075aac1e260555169e
MD5 99108cd88c2bdc2316279b5e2b9aeae4
BLAKE2b-256 16812134be89d42aaf5ed9bdd661ee2780dc4aa605278481e74352ecddbe04bb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4455f0f3605a54cf766118617b153ce9b78bc4d543d5cdada17925dcdd7fb2a8
MD5 5d3c4dc7d9777e283e698c5446b55918
BLAKE2b-256 ff323e291c0f68ac4e98db85010058ef70990312fab8fc8772b5027e19f330c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 008568e08b36773b4f189139375200c7b76059c1fa5066c45e6dd8966cd242b8
MD5 696f4d69f8b2d353cf42cf54c028a7ad
BLAKE2b-256 59522c822b86dba65c52d5951f46e37e07671b8becf6ca62f523bc233c3e66a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0683602e011719298e857320e89fc26ce5107703c06804a234debcde42ca75cf
MD5 55a2ef3bb7b6600c9832fca50b71c1f4
BLAKE2b-256 5407f1e12d0bc2ca576ec1bc91fd56d94b559efbb0f49253d9f8629222250f33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f554249291b34f15d9ebb8c584628430bd25a1ffae5373036206e0c21392c11
MD5 4c7508085eab502f6a26253303361850
BLAKE2b-256 d96498f8d8d5f89a0e6323e2ac97de7dd1a274cb9a9b8e47b0c2555807a35308

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ebd295814a108860ca6490cbcc525a4ba4bf0a823454db3dfa2d364eadb92107
MD5 a621b406919bdb69c989ccf115c24aea
BLAKE2b-256 2aaf46fb8f244b8012b3e3aceeeefad38ae1beb4fe666f1c3025dcb61567e221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4894a6721b972ed79abda5a7a742979a113985161d020aeccd3e46059e154fcc
MD5 5b5387c5cbbdbea75d17d9cb815982d4
BLAKE2b-256 29c3031f23b58bea2255dcbe9522989e704b25f563909e542b4e6c168b1eefd8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 4148b4cb9cd7916e2e451180f400b37aecfadfe5ccf259e4c043cf66dd0eef13
MD5 2dc88915041a913e43a6f55b00edc48d
BLAKE2b-256 ef6bdeacc6d3f5a47e799611ba162bd2b86836e13edd73042059d9527ccae1bf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 b3d269a6416ae0ef9ac27c37cabaf91278902e559b4d9d41b2861ad93f20afaa
MD5 97a61190814a87c73ae0db6c29af457b
BLAKE2b-256 0306a6f42bf7e9ef8664a7123e4b849ece1c0ed2bf3853fd3ddb98ebda6f62e6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2008681d2ccf61dfe65cceeda08f5d6ec06a7ea85e63c90daecabe16a2062cbd
MD5 a09e63d7d0e151e838b1aad82bbc53bf
BLAKE2b-256 81b499fd4e232196007fb5e3c79b5935a20cb9971c052c356311220e1edcae83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 faa6bd97e06f26ab5f913b1b0adf2e5a7dd4ef4d75914cbbb87b0ab122e2ec6a
MD5 57da222275d1ab09f112d2e8a474fa6c
BLAKE2b-256 63f0dbb0ab810bbe3efc4d8576e6a2625e54193f2915bf2b9aab60fe31eec950

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 4bb58f9226f7fca6469bfcc18e79e21013016d6f5c39679ebc877f6be6e11961
MD5 8e2f9f8d2fe2f5a53b48fb4cac7f7b3d
BLAKE2b-256 0ed03ff5210795b2e2d65be5e3ec548606bb099feba89ae55e82ae63f89f99db

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 f66e473794f6da55b05147be834db05a09ca2fd3ed0a391d75f1cf7fbb7f3908
MD5 8b8bb421177e1a475b7d63867c15f713
BLAKE2b-256 21467f8b168c28fff5f7be622caa41ed051479aec5d793b5d63efd25373e5076

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6a969ce4e3eb5fb096146a3a6c13bc61ec3c3eca45453451f1daaf84638bfb04
MD5 69ce92a77d08401b35b6cbdbcd64e65e
BLAKE2b-256 4a5910b5a2ad84014bab1822afcae0878af14414c6e42dc77752cf7cf78b00eb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ca767dfeedb8c5f2bd3e5c6ab44ac2d30dd4a954de21a940d68f7ee20bfdb960
MD5 c7912834836b0d2aebd87e300d2e0965
BLAKE2b-256 d611fb103e4c7c3c6eb0f389efc290d8200ceaec4d6fe7ae8a53eddc2120fe7e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3c90b9bdd503fc6ad46f9d8f2aa2890c0ac42636b0547f6467777289a90e8430
MD5 3abefc011f3ba5c3895d00cc2a0b6e3b
BLAKE2b-256 a873b7436f1882811952252f1549dd5b3ce9b55efb5b94d5fb1e6478424efe29

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3551aa3b206d249b6e7a4d70f26b5d717f67f182ff54425a959cc37487a94527
MD5 fe41fc9f1afbae4ccfe6ebaeac51d707
BLAKE2b-256 80b626482aee38b0f9d92b13168e2436aa99f17b1c93440cca8fc515adc78b83

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 885adf84a2234e15c6c3be76f2ed119a8e98317ebff9b1f5f77b328edcaffa08
MD5 711d0c6e3eab0143a4caee04495b5403
BLAKE2b-256 12da4a983fb378f20ec61bfba761a60642f5a7eed59c09ae6ea5c33ed79e4a60

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc11-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ddc6e2945cb133a36bf521abffbfd199f16060bb786cea302403004427af605e
MD5 dc9b2bd4fb290e4b4d447a04a9849664
BLAKE2b-256 ecc432ba27f8207068506c27140075955b83d8f10d537a5491cb7c5e411b8d43

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