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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

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

Uploaded CPython 3.8+Windows x86

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

  • Download URL: truss_transfer-0.0.24rc4.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.24rc4.tar.gz
Algorithm Hash digest
SHA256 e3a5c1280b6f732631d438714d87656cb28874208a4956882406a0f6e94cc9d3
MD5 e70535cc6ed829e0593cae0efb877329
BLAKE2b-256 d766ebcf9d292dff124d38938a0b101a2599e7928d0ffd17eaa2bb11fb46ca1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6600bf01505ed3f3ffccc9dce3cfcb83ebace8a6a222a5c739090995916a3542
MD5 52271c5ba5909f99d595985262028c55
BLAKE2b-256 35ef07d9a50cfaf7329a1e63ad777efcc80a8ef163d67cb93677210a061f2c6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 d57b45b34912d65cb503ff757a0fa5f73c0d8d84e6887d410a8b9beca18cdee4
MD5 3920fee035ab26dae48c042632dc5682
BLAKE2b-256 eada3ba5643f213eb593e71375c8acb4cdeba4ccb053c4a1841f8d242655937a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 79421df7a4d8a7e36ff9831d058fe0ef19730ce084563ddf13f04f3d0fcdb375
MD5 403b1277e669ae6f4015d996f916f1b3
BLAKE2b-256 517dab6bf6f9d55db2fe152339f4ca396dff2005a617b01e979333b3565ae70a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 3d77c4a02656f887c0910180177fb66212e5cf80fb9b3c7ce0d90a5ddea496f7
MD5 c7fa3218c3c8c4a83153619de64cbccc
BLAKE2b-256 b5c2ea14e0103c5316b00611d7d0c7befdd1011fa4ef27b5133b17fb4b73dafa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a5544798252acc7eda42008d3223327e65bd1457d491a945a6eabcc5fbbee337
MD5 1bf8d78b0a8b2903068e5f1a0f9f78e4
BLAKE2b-256 003bd03d5a8a2ad4ee01b5e92b723ffffaa997a37d1c438562c18b1373a17941

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 155ba0999b83f063a980eea5bcf348d62d2a7c70b4fd4f2e9a2dcb283a2f6ab9
MD5 090e3fdc8c8bba8fde97971fbce6c776
BLAKE2b-256 c7c1f45fa66f92672544baa1591573587ca3c6dfa0f1d7b17a840562152b37ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3282f267ccf098f46cc04b1743dce47ca866347588f1afc52b0a779ede23f6ef
MD5 0f99c6f962af471e9549323a9d1a3b49
BLAKE2b-256 2ff4155b0a8a813f1d6856388cbb3c3b7962268009603657501814542d752e8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1a938b86410f82b9480717dbbabba754e06df022ca6969e4518cafe1021204a2
MD5 7ba6dc3c552462f7ee4d80ff730fa5c8
BLAKE2b-256 487315367a31af619eb384b47388e0e0e8bafd368dd5d829d105606bdce4061e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5cd95229b94e71981f5309118ab338cfec02255d1aa32aad03ef665f6f3de463
MD5 5f52a0f68acd227e67ba8a68edbf0b41
BLAKE2b-256 c4ee81b4e9bbcddb394a8f54826ad56a67ae5766d853a4e5c5058d374617f6ac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 1f2ce8e6b1d127906323a6d8371a976e56d4a92594605d5a03391d729dab38de
MD5 45128727899705ea0b6a997de1ffe064
BLAKE2b-256 335f9a159afdff6195db8294d60f0d0689474a959ebb64becb04746bcc61318e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 f805be7a1bfedbc5c88c5b2eb669262956889a2b057526c64fd58478661b3952
MD5 7608bc40ea30c1011a82e41f89de099d
BLAKE2b-256 13de92e77afbfe6f32ffc26cdca7d9cd85230af5899fcb74c2c92b252a4431ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3ac2173cae63dac6a20aebbfcd160c7010711bbc6acbcb1dc3f557b0dea7008f
MD5 7cf100dd1712468a03a6c28397cee3f1
BLAKE2b-256 77cb1512904d64b33bbbe453db0476e5c21c8ecd404e2cebee923419c07b9fa2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 1658a8ee43df87e31cb4c50b7ac94cf26f202da5301664deb336074b3c2d8cc6
MD5 4abdeb484775c118dd404252ba71bc74
BLAKE2b-256 a1bd88038ad73452da96ee026d9f54d96ee315cb7140d223fd9d72de9cb7b9a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 cb8ad7cae5af1a419d6a3a8662e4f1424b7e0be228398549b405c7d9de4f2824
MD5 e978b544fbf34659c861f61eed27d572
BLAKE2b-256 04555b5688c885aabaa04694363913b78765eee2ce46e63a67a1030e8f82e122

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 b7ce1e39e6a815baf822a68cfa5b553ca5ff847aa3ef8e870e01a48681597c46
MD5 911a10a4c01c8f8ba78a3041514e9cc6
BLAKE2b-256 e50ee884d3bcae698cb9d74dbd227e2d544934bad46b2d2f05aeb5091092ed73

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 f4e88f91cb8364f9839bbe492af5a3157c520e3307fbb55a9830ed8f65f330a0
MD5 137d5b8bf44018782a273414cb6e952c
BLAKE2b-256 3a6d983d39461f35b44cb430c6e7b4b02fe255643164eaffff97ace8677c1351

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c6c752dd214b509b7939d4b8db8ab145c6cbc5a27f2a356e56037366157ce602
MD5 bad0d8ff77b14b1bf86b7eda6e4ea66a
BLAKE2b-256 fd85f32d1dcc71f50d7175afb5efaaef8656e88a27a16cc1c28d4e2d7e1ad15d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 90f8e592791c221d4a06e0b309fb4afc2e0383477035350a02705c35c1e71c18
MD5 1b6e8c4a7481590abafa5b5986ea53b0
BLAKE2b-256 f5a3d96dfe024e9863f5d784f39a1461265638f9381f5217cd4acc8788ee5f40

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 86b9d1527b4742ecda2fbe25e5c4b36b1714f0d21b8a9b582ec7a6a59e201a0e
MD5 4ff00a9db38af723e4d59d8f07445ebc
BLAKE2b-256 6b8600fe2db1697d38aad4577a450a387f546afcbb455049e35645e95e97d595

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 3d0935245114b236a4193d3fac9d0852344c44646402067e19c71dbc8f6182ba
MD5 189b3b330cb120d64ae09f30de8f7e78
BLAKE2b-256 31729201eec8fb9960b7eabae1748e4e9bd467ca18e225d44a68b51cd5282142

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 109214145c93efea5079abafb0b4e46b38602cb1cf6193c658c74eaf11a68552
MD5 c19ffa1fb0aa1236706b59aeeba3d405
BLAKE2b-256 23662072ed7128a0a3c2109a2f7e1defe18bf561b83743f4017f2f63864aae59

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc4-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c9d41a96dd7f0a7fce3303c8e70afd5e9a5176d0b47b049700527a89df3522c1
MD5 f40414970a4b74b18f85c75fa3cb77a6
BLAKE2b-256 0da1eefecd7618e2827f91307e4714193a06f0c2e80a4d1498819bd8abe0394f

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