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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for truss_transfer-0.0.24rc5.tar.gz
Algorithm Hash digest
SHA256 c37efccb5db4d784842a024556877031c1578785f80f59a54703b4c68361d7c8
MD5 dbb3020947132d1d7193cb234aaec1de
BLAKE2b-256 e20302ddd25997fcb6710d74997a35c12e226f3e1a502620b469cb25bf533590

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 e2f4c81a284df65c38fa7ac06078e1942743f7fa3c8213bf0d55317d30b5c9c2
MD5 81ab96b757e8d8a052d1da71ce30367c
BLAKE2b-256 c477079005e7e26839b630b88d8909a7817b7c1ad1f463155fc9d82ff48ea1c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1101962ee18f1b83acc883cee303b921082584b9ef398bd68bb771bbf413a268
MD5 5d72fadce04ef34b43ed3a66b32b4d43
BLAKE2b-256 9f3fa04aae9c0494d03fb8ddf1e2a52a8563a023e17cfd5effd20ad41fc18380

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 2c1ea051bb25e938c9ca83d936a166934052963df7599534210dd1b231d5933d
MD5 5b7445011660b7277119080b273f3fb3
BLAKE2b-256 80fcad5e947e85b2e462cb5954fd2ec65dcf378783709d83f3da728fb46b168a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 de8e02d7e0f6a0d8cb775f89603f89110308af0afdc7d44f98cd6d3df52c480e
MD5 f784db33d4d0a75e96cb17d223e4c5bb
BLAKE2b-256 1d957a54f5c6702afda32dbddf7a48ec2e688840018292cd15ded61c5f39db65

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 feea0bd9a24d8b9d17f58d9c0579050c45144d55f5d4d28bef75ad044c5c40c2
MD5 638ac9ace7d767940e2349d9fd45442f
BLAKE2b-256 f02216b8bbda52e48d672fd84d9b5f50ea450accfd49e09396c44d7c4179dd7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 79f1679616a7fee48c41378b2e0176a8c09a78aa6dd2a93bf9e69087c2d90ab5
MD5 d3d976591bafbee299799ea873549e4f
BLAKE2b-256 3046f61db7e02425ad09dd971ae7c158acf7ff6271743671a643ebb1abf710e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 ab34dc2ffe4e8ec2aa7ae710ef90b15963e636125633c7229944c2716823a962
MD5 e79af0352f1aa9f92da6fbf5476430b8
BLAKE2b-256 c0f9d123e7c8fd23f9f2fa36fbf6da3a40db1bee9be498f3f2eef96cd656faf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5d5f04c549065098a578ad80fbc3e6728d87c2754900561b55b03222233678f6
MD5 04453478aa4c9482c3981817ef682fd0
BLAKE2b-256 3db14d799dc2c27ba327c801843cbc7cbc24350170332682d4cae047f064957f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 be7a57ce101081acfdf8aa57108a78f209b026a339774fe1b17ed21f12cb220f
MD5 395cd64911c67918dc7a538ff2386124
BLAKE2b-256 115f636a2e0afbe0868e74b559b5036a54127e6eb11947700f58826a3bddc1d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 268510ae00ac8a3b53288a1e9f26db5a3158e5f507e66b06fda14e14a694eca1
MD5 8dc1e91a1ae3917001f78474acb5342e
BLAKE2b-256 b67f0ba8ad35c682897c8db36751fa8b5db613c9747aec92ceba2ad7eddc006e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 46be68a8176f0d13c1355738ca1905d5a4c9312b3ef421adf46ef44f82022c04
MD5 d5bcab57ac37083b2947857b7e69f7d9
BLAKE2b-256 f37083a203ea216d6d2050a9c3a364867aa2d2e38e786a022153670f5ec9996c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 28d649451513ecf642d010a5a295273e3e8fbc2b2a7572ead9ffde79fe5872af
MD5 edc41c3b65253aaa8b09c3084701e2b2
BLAKE2b-256 0a369042e3080f6638bf65df77d4457590c6fef7d7ab3eea6f1b039fa8866fa7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 fcd4212943c33c7461e3393742a405e1a2eb56f67ce011a734a6dfaba535fc00
MD5 5b9a9af55f4c6ac3f5964daf474994b0
BLAKE2b-256 bedc245274fca4377fdf245022192c4a95922189d5e6b7f87f7864a7d2172c41

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 139d0c8c3e6593b6479574d59f87ee0d862fb06f87bc62dcfa1d72c51c76e600
MD5 2d096696c4924e6889c12aa4bcaafacf
BLAKE2b-256 d88c95f2ce2d3e9817973fb60a9ac18713d1248344ea7110bb8b7a466bb020b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 243f70bee6e71196de7c170f8da82dbf958ff7d57759826cf26965d89d243cb8
MD5 ff9be16354301f86cd993cce41f036b9
BLAKE2b-256 1dd74005237e7abf3dfd4ddf19c5af0fe32d3ce6f381af5644619c4da5df38dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 476348a66f22245d68d3d56b802543b530c53d8bbbd1439ccac7ecacbd85a222
MD5 97109a42c6b0e850220b9c2d1aca8d2b
BLAKE2b-256 d2a06683f3a237e3f6c33282bf7d7ce0d24696c5c5d0627904c7885396d7db59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1b77e513e5c7a2bcd633a2ca76a299ab0b26f517e1c3635903e078344f4cb73c
MD5 d77a8de6cc41681de09117b5e81626a6
BLAKE2b-256 eed55a84fd2e45251c81c4fefbb9470089338e7ed6af82a5a9cbe02c3a7a1b2b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 47d305f85327b2493980363e68274ae9f9d0e1ecc928321ae3d45a33f45f3737
MD5 63b6c923e77a18fa3d768d60ec2f381e
BLAKE2b-256 9898f873a7a5308acafcc881c99361969feca1b5daffefbde46f985edf0c7130

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 068109a842328c608c583413a1d3353dee3991f07c66c018bdb49d72b4bc7395
MD5 79ed8f9bcc56bb7597c1d99d9d6878fa
BLAKE2b-256 bede278ac407c85c390fa229142a6210c4f9c7475c75919c34ebbc993ac83ad2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1bb75d73635e794bace5a6b0fec84688fa7a9dbd8b2198bf08ad302ad7a48b2d
MD5 b4bc924b55b376d8738ade407b8ddfdf
BLAKE2b-256 f76fd37af5cc561776888f5f113c0a383337ee4d1702857d15934570983f0822

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fa2473f8b4be8e634db979c02de8ee155c77b98bc418777489f593c9add04131
MD5 44c8c654cc8577b64a14b1d9aea4595c
BLAKE2b-256 d19e983c8e6c2e7f68c5e6f668315bb1980b3a8f71b0e229f8eae7c8fa132d9a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc5-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 de25455811322cfd25912741df3a7f0a88a2dda2175bd5b1b43dbd59d2bd4ad4
MD5 3490cbcb17a15d2a9aea098b4c8bf39e
BLAKE2b-256 833e7c3b823fb02eb2f4a25be3c770fefc6ab128a561956c266ee0062f0186b5

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