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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

truss_transfer-0.0.24rc2-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.24rc2-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.24rc2-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.24rc2-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.24rc2-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.24rc2-cp38-abi3-manylinux_2_28_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ ARM64

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for truss_transfer-0.0.24rc2.tar.gz
Algorithm Hash digest
SHA256 6296b60fbd5851a5558d0be8027f11c137c875a3de962e929fb737fe70da08e4
MD5 f153466ae1991a947af978ff53c5f631
BLAKE2b-256 ccee6c9267441ac632ec5cf38d4b0f269a29527248d0f4253b8dd39c301c89a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 249562e8ecfa958c83a038832738a5e7c9493a04456b29b866ce43eecc1d8bc2
MD5 6466cd3317787945584d9681cc74bece
BLAKE2b-256 b6e5f6d8cd229657bbcfd99cdc3a4df7552dc2f1a1c37fc537287aa9bdf12eac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 17b13f91dc5f4771b67ad4b106c61be2abc69ac931df1808d6caf4617399861e
MD5 30a1fa2b60f3d69e96ad8633ef153a23
BLAKE2b-256 2606ed0d6d2b011e5b79a6b895dcc6ee9b5c29f51f8d5d451bd32a7b270b5d8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8275c7129eff03194a6ffb8b166088a27e9398df66e1b6e4f31fcfebf88acb05
MD5 582867c7191df386fe259359428b4368
BLAKE2b-256 a28bfacb78efa594e974d54e7bf33c24e35baedca8f534ad13f56f8216f40859

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 0f0266b04597556ad6e9fedc1f6d7b2f8793923733a921d457ec483eb74d489d
MD5 c70b30eebedf39030c6c98526aaea28e
BLAKE2b-256 c196418c010f8cbdbf772a86858700eaa05924b740dd7306f8686d8dfedd937e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e9d4a4eea846ea44ef660da47f4d2d9401b292bf685003e89ad0d5986101732e
MD5 4a31d8cbee5c5d1efdba1917a4ce5ba3
BLAKE2b-256 cfed9b21fe890ef80fcd2fa9fc29c502341d6ea914b14d4f76ff733678901a8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 f15b94e06c19a8795f29abc61cc0067f45a26d23bb05c07a5a3efeb26927672e
MD5 8c3af52c2841d8097add30b208002f3f
BLAKE2b-256 a6cc726fa151a1013d1f97fd181465bbc490e4fe941021069e7ee6bead573597

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 8cabb9c8b80a6249b81d9e2a256bb4c349f82dbdae79af739098e827baff03a5
MD5 1212dbf565295c31fd0d43b772609532
BLAKE2b-256 6d1930808caec1e403376535ade6c2f10fddf0b6467559efac134e0c0becfa2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b961fcbbe4cca23d774eef18248d748b391a0a52e07e6d54f1ff124d3fabbdfe
MD5 20f272b2a4f620968f8e4ff2b93dbf5a
BLAKE2b-256 2280a5c6d3b38f6710d82d3be96628bd7f4895da580e34d55ac7f00994cd616a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 78ca52e0af5e2fe61584349a57e4f1ab895e6961865839ee9e945b57ab5e6eff
MD5 58873d679a0f5d7762f98e446de89371
BLAKE2b-256 6715ae4562b4415d12015ca26416954f5f9d60eda6a66179d19c19454a608058

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 e1c52dbb65ef9ccbce964d14c65542f10e4bb927becf28616b433d7c77245e8e
MD5 8698555e589d9ca345431db5b4778f2b
BLAKE2b-256 d68f2d98a8ca0aa12fda57658432491827f021329141448764f2d3d2f1b86ae4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 771bbd354e0158cf1e1e909b40c407cf05059669ce99ad378c78f7c6ba5b7daa
MD5 f7762dffe82806384ddc5d42a40b47d5
BLAKE2b-256 725459b4b3e16eebd1ca258e36469aa39d66c45879fcb4b8b8e7bd516f23f1ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 36806d36f113a51393a01dc183ebcf1996c22dbb41bc4672670e1255bb8df06b
MD5 c513f4e9ee88cf8ca19e812434824e0b
BLAKE2b-256 46fa81cd173cf9ebc407e9f46e677f6430bbf561d2715669470cadfa48975c91

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 be753ebd5473877683315327c00ca7357f64eef7800aeafa297e0eab5bff72d6
MD5 e8641385498bdda8705af8760a066794
BLAKE2b-256 c8a0238456da094c37ac1e2e82707c85132862c6ad5cae00806d56d194fa87b4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 1f174ffbdaa2288231b0d75d11b270f73b6bea79713cc1ad1a1befa41fcd0cdd
MD5 afc9ffc17e36f37618b1aa2b0e9bfdf5
BLAKE2b-256 2983356f4a2359c80487130153bd3662e09f69a7d1b765fb30d25c065139d000

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 1c463d481050711f3c2fd10a4c554194dc4e2d4cae4de94466849f422b865759
MD5 22a1d1eab8bb576eced981e79a798997
BLAKE2b-256 25146c125ba0336ca2439bd797e80966e7738b2e47c1d0511049f38c8f2f5336

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 bf87b3d24e0b3208b2c18dd68a52c5f0695300539f1ae52b1deac1e51db7e9f9
MD5 6c7b4c4a1b5509aa668878753698072c
BLAKE2b-256 433bf88b10299e50a0c23eaeb782253596a9d6dfdeb8854e6c9cd955988e17a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 24f94ebe116dd0b082d88390af46e5e583eadd1cfa510d110773e4d9f9fca983
MD5 8c2b89a8897b9915e1450f1de5cb0521
BLAKE2b-256 f3bc8831b6ed2598a604283bd5a436b0910ccf94208c897d683bb7342ff0ee05

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a90c0a0e9884ccb9011d5c87c8da5badcec1bd0ad5042608f9f59eaa199ac93d
MD5 1c4631724a3b8ec7aa4a521b04a27470
BLAKE2b-256 fe93db78bbb37a9d65ec023e0bfdda1f26317d90211606f21638b1c64b334444

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 dedceb79405220faacbeae0c63f9656cc29c68859b9b714e06a89a1feb13ccd7
MD5 e5493eb45f27d33b71259777225f7dee
BLAKE2b-256 af2b7d0c73c5b50c151365eb36ca3662af02945f7e129925b7e1632cf074b82c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 e16e654aee77148a0821b4c2a0cf981e8fc62ad8f69f39a9d488c87e1818e207
MD5 062ce0f477a758e302e5f8293fbb2dbc
BLAKE2b-256 47a8a2c6f5d9d50f016499a79e863568b216f872f05f47b9e46c5cc461fdb484

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0009d6943a8904636c5b5f3061f13086dddcc593c37a3b685e054761d9d02167
MD5 29f21c952542bd0640a403b09fd38ccb
BLAKE2b-256 9bf47ef0e14b5c9b44747288281afe5abc21cc9a91d2b390e2d6c66f36e936d9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc2-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aa05f1c2f38cf38e87c4ab742d316d7cb1cc58d1ae644a77b9951f0eed19e21e
MD5 9d9ca570c98f98c3209f04583b6afece
BLAKE2b-256 e5f66aac5dccd73f0274aac3e6a54392d8ecf5365667495ba848f97164ed6645

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