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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for truss_transfer-0.0.24rc7.tar.gz
Algorithm Hash digest
SHA256 a0ed9fa9b603a19bafcdf29042c6cb9b7622c54cf000c4a9d358c3881a100407
MD5 729f9c0578e871cfbeaf1f75f67ee27b
BLAKE2b-256 334753c00ccc4e84815d622b38992b322c12c87c51694c053dc7d917bbdaa5e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 da1e08fc9784eebeca74365a6b649a4364137bba51fb42e943a0773a38ce4472
MD5 59ed47cc0324203dd5e860b4db0a5af4
BLAKE2b-256 b10c96baf0131f6c4e3504c1fb212320b041ad2f166453e5cdf4704925e84f92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 8876a7a4f07c681745e1943a6d0fb1cfa3f8c407811540cd7a5c78b6a0568dc8
MD5 bb05dedf77291629c8297b7ead5c5b83
BLAKE2b-256 3d2fad55bed8719c7387e8e6cd2954329b54bc9fc9e26e3640210bca73752539

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0d592397ed716efcf93174bdec2893b2f87bf222ecfb754950698270c64b5ee6
MD5 a035a66ca73bac715842681dfbf4159e
BLAKE2b-256 e7696e7f925577ce6dc2ea62e709fcbb969a3e262472a6c304735b634d646cb9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 d0b7d16c944cbf605dee3c7500172617c6c690195adc367b181f13b3a03da4f6
MD5 5f7e2c6f6e2f75e33e8cefe7fb56ece4
BLAKE2b-256 c96a5e0437b55356e0f6f1213647f2f1c2849157841f50bec3bc52467452ea06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d07d1af77e2fa548d2af9b53cba0a41a0d010d359ce2bef3ca62f35a9731fd23
MD5 3957ae199b911fcc8541484e2ae7b92e
BLAKE2b-256 9171d37b232e3eed1684413f30fd9e1259e49fad682dbd99bb41f0b102c92f13

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 3980a2a56c3bd16a8a53a7fbdb55b7fcaf6d3d501baed0a43adc3fbc6c7d0c3b
MD5 6f01d6f09bc3df6f21280a7cc1efe2b2
BLAKE2b-256 c24673d3a0b5aaa4995519d30fe3bc288aa9710af0efd25b13c80277b0b36d7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 6c289309d8bdbf361431ef01111bbcc928d90fc96f82c9877c045a7a9d82bf62
MD5 293c142c8dace6e00e414c60c6d8a7d8
BLAKE2b-256 796e0619fb441ceba23b44657608c4c7355b130bb87908d74fc05a9585cc8f32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 49a38eb965c75ae9600b9d693c088012802f72836385785d76d7f7ad66221d38
MD5 552afa83ad9eb2e3799b8b0ad0778786
BLAKE2b-256 4fa9eb8d42a541e08ed668ca4071e90ee3cda5b113a210e17e08a5802e929d28

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2a213e6843055d02bb70821de904b586c399c8bd40d7f9b8e175fdada3ca10ee
MD5 a0593027ef38ababb0c38d11c519db49
BLAKE2b-256 9f448dc9ce7c211d411621a6e8a609ed88ba0ac8c8f5ec03f8d74963a57d7ca4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 12c3bcab71100f872c788563c12b5b0f0e6fd3041f1073118b77b700dfe7c823
MD5 ce27e68a098d269a83d4b5139d5816cf
BLAKE2b-256 6f0a10b28bd1ea1d5b8c93a39d0f7b61bfb34ef549a24fa0cb3364aac51d38e4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 393656fdc15e4925839ab4ca7e30148b762534bfe941ac945c514b272f51cea6
MD5 419372edee06e9c76e1d4e274ebc8ecc
BLAKE2b-256 eaab2b7150abae63ddbcc4287c42a6c104548137eeefd8292b7e32d80cb0bd8a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1124522c657951215e4321fc8b2e2d576228d8ed447fe9c19d20a9e7f4c7d972
MD5 a564cc31b020c7bc5df3735126b50b6a
BLAKE2b-256 382b39941e6ff1c82cd1741f9adf0ce0afadd34f67f318a64b37acdc1532ab4a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 df0584db06bdea2bfe1775deef010341e32e4f6ac68965a3025718a70cfb8bf9
MD5 4dc3961482275aadf4eadb6456ec1c2a
BLAKE2b-256 d60c36c8dca833f3e4ccd6338a33a912650a9e84df911eabdc3fbced5d52c7ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 612cbc5e999a5c60b3aca6b6a1faf5b9b8f8a174975f266975a5443274fa4204
MD5 619f90c1e7cf9157311248ec85ff79b5
BLAKE2b-256 8dbde4eb0c96baf60837f59a0e8b9cde8a47774521365e5705c4edbcf9d15a63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 8baa52ca5b58b0d7379989ac39d5d880322844de3c9e6774ae563a565d0ff132
MD5 dbd718040d9420c6644f09b93aa14692
BLAKE2b-256 700ad4b008ebfe6bd2163e889ea3d7f2b90c2d3b878647e068cfc89bac94d5e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 f0fd8a87d5c425d353e948bc1b59f2b80b89c5f242a9e22dbacd10260e286f30
MD5 075dffe98de0ef360b8c8d768c5f462d
BLAKE2b-256 d9176084b7f0cb1bb609bbd7358e01e6c4811d46318397927cafdeab623345d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3d4578e9f7a1a5a9fa63686ddf79b6b52c5427b915690c5326265f3e77a3749e
MD5 2fba210993bf6ba36b15735d87b13cb8
BLAKE2b-256 3472dfedc4b81d3c57935595290a5e8259f80e69affa24aeef2a659f7675d3b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3a5c1d01152411f6340441a9f03f4cfd96c365b1450e0e5ce73305cd4a16709a
MD5 02384b08132eda1c52245e96c4afa373
BLAKE2b-256 fa6a7cb7144d87a369e259248d723911e53504799922f097149f4a930870d15e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 1511e8aa1823af939080020237b1b3a7e097f7f4d483d65178dcf4fcaf6bd42c
MD5 0c66fcadbc20829475b2b65634103a73
BLAKE2b-256 8a92603b8e38d1cb88d8e429efa9b8975934948589243358c7df05ec8e3e2ee1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a85a275de1f81aec4df9f848804cc1e1f161f6a51e3a84ed3f6c159cd1f82742
MD5 dd8f315d664aca707496ecf59052b4de
BLAKE2b-256 6850ab84f3465f51326e64432a0166b137f34ae01d90cef5d989c74495abb39d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 d823208eda86d1bcd07ab369155e0e0170fdbe0f895446d7815e55ac0722479b
MD5 eea05c71e6db85546e0d9d582f5055b6
BLAKE2b-256 1debf7157bb996206c01f4c38bc2cf41936f73b585762c8d33e1168bb757cc5e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc7-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7e735211fed647305ddfa5ff127b146f4fb6690d1e7c442eaf44e8b485b582e2
MD5 08e7a508ffc7b23ed9312cc2a7e6187b
BLAKE2b-256 28a605603a21df6c9784e09b2ce7699895e4cd8299ca021881d82c96a7704755

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