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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

truss_transfer-0.0.24rc10-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.24rc10-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.24rc10-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.24rc10-cp313-cp313t-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

truss_transfer-0.0.24rc10-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.24rc10-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.24rc10-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.24rc10-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.24rc10-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.24rc10-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.24rc10-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.24rc10-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.24rc10-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.24rc10-cp38-abi3-macosx_11_0_arm64.whl (3.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

  • Download URL: truss_transfer-0.0.24rc10.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.24rc10.tar.gz
Algorithm Hash digest
SHA256 ed2bea4669637f487062ff93fb5579b6d73bef3f85416633c31926a275aa202b
MD5 d263db7b38d7e93a8f20ab28d7bef5ec
BLAKE2b-256 6b1bccfea94ae97e9f1a993c10e6edc88734e07eae5e9c7e7482bcd9d1ada573

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6ef6b86693e63b3e3193f565dfe7caaa1b8e98f257c4a5e4f761f9d9204dbf87
MD5 88bd4ef7378e234b48c50af4d69418c3
BLAKE2b-256 18e50a197c6d373721435c0e321933759b31e4667fe8b0c54a8e488116252735

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 b5af28f33985af0b3fba96bc3dd9647b80ffd12f4bdc8cd8a70ccdd8ed85074f
MD5 63153b22646f20a583f960d0ac89bfa5
BLAKE2b-256 c4d3e020728f10504e03805cadf70cc3fa7a96237923821fa66aac48f880243c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 679c43789d7253c572c32c3b9aead6e94800027d26c86834d0915b0d4587ed55
MD5 f91995315d85128d43c204db967eed80
BLAKE2b-256 43374e9f2ba7037cb4b9833c90cc174600f493e25d5a0525819272f0aa339448

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 f6eb44c3df815b8901b8ef4723889478cef27dee6a76159c298bc263d79c0994
MD5 c4a1cf1f697dada238c618e6fe414eae
BLAKE2b-256 b07241e77c0fbe03ca241e035e71e4d27f7d5a723a898adb673ba9547ef17960

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7355fe4fe3d30e075e174ba92d605c32735e97bd6fa5b1f197b1bea1ded20e87
MD5 ad9331a74e15e523a1710e98066b3284
BLAKE2b-256 3cdd74c4841f7144e27e31b9b39c827c38a37351a62ae7ae987ef5b3407e41b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 6164707c505ef4fc0209df2726f5071b0387b58e7484288b1e0a0830ddf70d46
MD5 64468291abd530944bf7ce876fc1b817
BLAKE2b-256 a27fb6e8479c47165985733088612506fadda3efb118f21424de47f8edee7d27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 dd5ee92f951ef4d738dc66a9e3cafbaadec43e1fe8d7cc985a18caea2ba4baf6
MD5 cf37848c4f3b0c577a9ea2853c188468
BLAKE2b-256 f51fa6fcabc58bcc72b813b9200934a22b486be264526dd0fb2917810ea9703b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fcdb9ac7343c17a6898e37f1d28e310e5fe3d37aebaa1085deca133e9ed6defd
MD5 f59169861e4c6bc6f4ef9da4f7314c8a
BLAKE2b-256 b068c2a7cc580e046b5215a10b08eb8f08dd369ea667fc0a5da255d54b0eaac6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a26817dab25ac2b0bd780aa2937456293e895361c880fb61bf092ec8083ae81d
MD5 84c28ab6b6f327864b198057da5eba0c
BLAKE2b-256 4c50d7a0bb22a64714e6fbf7eba7a6da0ed409709ca523c57aa40a93f78be256

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 be345d2b04e99d5f23e80c29c7ce1598a54731d8514e499ee988576185733373
MD5 63dd9b09791f472f0820544f64c07fad
BLAKE2b-256 2442988803e3a2e8673394cb59ccdc1f108453cce0f3125b4b6897c57fefd250

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 5a194a58ee84f7503f07de780d846547e6cd1a0c08263baa3008d77b5d794de2
MD5 65e1aea69995ece280a21383622887e1
BLAKE2b-256 ea199c6c8bb0810beac71d5087040476dccc15b6d691580f3d4ba91ce2a14a74

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 39c5182e4247ae88850f652f02fc79bad9d76960d08456d410a0b0ef4d867664
MD5 2387d6ea9337ee5253b7fb0c6502a7d6
BLAKE2b-256 c02515bada55325077a6cbcfa887b8e410b38f83b24388c14be4db08d78319df

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 9fd71dcc91e9529d653320f915c842e1a9b2f518be7831217797ed2a4f073ce4
MD5 1f738e787438eb1517d88b583aeef4d6
BLAKE2b-256 52f5475820557514996e050a8abdad39c8433dab837db487508a5ee83c367b69

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 752617aae282b5af3feaf5480b086382cbe539cee2a9ba9c7fe3cfeb98d5be98
MD5 e5bba9bc09091d247ec69f42c90645e8
BLAKE2b-256 17fa28b4c9eb136f038e2cdefcac80592f54c70da3ce8a87758f930bfbadf438

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 de5b2db562a4da59aa91fae39eacceb6afaa2524f589c03128f515c9b4e823ca
MD5 7c1acb7cd2e6d0a6ab203248ade7c555
BLAKE2b-256 57a794a09de14860a8cb80cc38ad7a2d10b5a200bd0f0d3cbfce348175f0d612

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 aec5c895d152fe3c3aae8f30232b7d10267a81bdc4863e31d0071dd0edf76ca7
MD5 23fd3a374a822d494690dad66ef3d597
BLAKE2b-256 c0f82b76aee8694e1839556b3b6a0c5c8cda895fb53b5b50a7ce685f83717adf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 38cc3764931db9fad03c53540c37466cfc16bd8a30609a4b0d7032da0fbea546
MD5 98499cf822b4bc178c67e6d083c31e99
BLAKE2b-256 6149c5ad006566b7ec46992c1fe4df9bd66b889689a80c8b4aa7c6fc77551139

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5dd2c4e22fe33dcda7da39f1b003bc46c9e145387c286b6d1492fec9e6fe12fb
MD5 12f6250f396f0d3d78232fc15092ac25
BLAKE2b-256 4fd36c3655444020340c68ea8055296a898fff2d0a302ab072aa8beedc9deef6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 96ba52fa4757c75991b71766c7d14776c923f7975e2f12ecf6fcb3775864a79d
MD5 8848db633eb5d376270d0645914575bc
BLAKE2b-256 d565e54a37123e627499d118715dff1d93a821eb0c73238eee7020016f39d095

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 d65ec87ead9af5d357d89cd863d20547918406fd47d5beb4253089a5c5c919d7
MD5 16ea8aa57b9f1bca4f2ca399e9647ff3
BLAKE2b-256 31b522fba38f9cf6a1d7e4f1fa71202d1c6bfe1461e89c669d49617cadc4e019

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa880b5b1d1b3cd85b12f9f254dc2fc09d684d960fbd40a95885aa0542f29194
MD5 3d3390813e6424cf23d4f482bae08fff
BLAKE2b-256 14c561f195d24a0c888c40c026052e627cefc9a8cf7ee0fd8d85e663f9432a63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc10-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9b6471bc2a5da8a323d8cd24a05e7fb94b9c7f231ee15bd19aee007b16b46b8d
MD5 00257fdf3b86661afef441d7c16b9886
BLAKE2b-256 3e4778786ed727cc37a3826e67418336baca06a7bfe28e8f6d98560723ad87c4

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