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"
    )
]

# 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-30B-A3B-Thinking-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
        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"
        )
    ]
    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.23rc0.tar.gz (60.9 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.23rc0-cp313-cp313t-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_armv7l.whl (3.9 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.9 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl (4.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686

truss_transfer-0.0.23rc0-cp313-cp313t-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

truss_transfer-0.0.23rc0-cp313-cp313t-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

truss_transfer-0.0.23rc0-cp38-abi3-win_amd64.whl (3.3 MB view details)

Uploaded CPython 3.8+Windows x86-64

truss_transfer-0.0.23rc0-cp38-abi3-win32.whl (2.8 MB view details)

Uploaded CPython 3.8+Windows x86

truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_x86_64.whl (4.1 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ x86-64

truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_i686.whl (4.0 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_armv7l.whl (3.9 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_aarch64.whl (4.0 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_28_armv7l.whl (3.7 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ ARMv7l

truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_28_aarch64.whl (3.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ ARM64

truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.0 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (4.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ i686

truss_transfer-0.0.23rc0-cp38-abi3-macosx_11_0_arm64.whl (3.5 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

truss_transfer-0.0.23rc0-cp38-abi3-macosx_10_12_x86_64.whl (3.7 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file truss_transfer-0.0.23rc0.tar.gz.

File metadata

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

File hashes

Hashes for truss_transfer-0.0.23rc0.tar.gz
Algorithm Hash digest
SHA256 efe7a3bd29b22dcbf5a9416975b254f6c4512b1722d9847feb34758394ae964f
MD5 39f88fbac2c4af36506bd54050052b5b
BLAKE2b-256 8a320ee1b69e46fbea0120f6a0c8544c9a4e1fef57746c9d92563d2ac8859922

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 61a8bfca036ab6090195bba5106d31831b86a74acab05b834b215df24d3f384b
MD5 010fed712b97df97d769e7fb69e8b5af
BLAKE2b-256 509fc26829aa8d4d7109327b0ad4c7481246ebab6bae3a442a2739d53c1d2248

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 42e47455c06171fc13cbfe2ea71ba9c8ad0a908df9812a469d57627f65e4e422
MD5 734083f904cf4fa20f9d4eaf240fb17b
BLAKE2b-256 774f873afae30bd58837197d586be4a311e1d1462b0be1aa33f643b6b06218c3

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 14d91b5236eb54a739f796d34b8fa5d876ea5fce380b3cd744a8ef33e1a9f0a4
MD5 6c2e1e95fdf76ad81975db5dfab5e527
BLAKE2b-256 d76f4af4d4bac805501d4a6cce15c78bd711e813087d7a656f2edd0980f3590b

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 16d0c5f03b2e3b5888f30024e82867ae11db3fa2bc020b525af7f39ad42a3794
MD5 b86121c8ef367fcaa58d06223c74857e
BLAKE2b-256 72d9a762a1293878085f7ed0343c180bbcafa2b0a4dbff983632528bf7bab0d2

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c36c86854eeff6baa7b1cc3ad7545ceb48de8f09980fa1c42ba837803c8b35b
MD5 d5bf46a898878e59a8dcfae595fbad50
BLAKE2b-256 493ac30e2d075203ff7335034b735a961f34013ce977a07782b0b384228dfe96

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 2f9870b32e5f509205acd4fe8bcbfd2152e5e4c6349af1a8e073064a9a93b6db
MD5 ab72f06a95f8a0773b9a0a585eda94b0
BLAKE2b-256 8b7a5f3e17ff1ac9c49ccc88e200000895288e1db6654f86f508e17959a6905f

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 4b85ba89910ffb35cfab52e298b93a942cb8572914025902843ed7c66081ddb7
MD5 8386cc701dd314cfa3f9021b71850ff2
BLAKE2b-256 1121b767d87ccadff7f0bb96a366bee59b46303aa9b3599361593536b10774bc

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4794fdbe6ff3cb80b756c37d37efbe488c289a04919c7505689f03975199ea0c
MD5 66103b5131c6f30657c5122278ff8034
BLAKE2b-256 f755a75759de20b62d658c7d4d5f4923f3e6c3c70df32c66a708df246652bc46

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9edcbdbb4e06a26ad24eebd0bb9bad735371f83ef8045c0f0cb4c537498af740
MD5 1abcb56e0033399399c5b759d4b10439
BLAKE2b-256 423419633cf09533c13420ca80a2ab9d10e934a194e8f43cf0ba9181f6e9a6a2

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 5e8027f1a4b28bb684111abb27ed5e2a6c010fde710dc53489a53738f9b63430
MD5 47ee426882ff4449e9b22538f6964a1c
BLAKE2b-256 4778e404af50503561cfd3aaf21f187994e6760a4a3a913d29eeea828479ed4c

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-win32.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 09732eef5abe46f7b11888d997fec0e1b20b30a84b4b460c390356cd9b532d59
MD5 853c99b04b81162f4d0731663ef0d58d
BLAKE2b-256 be9f456687bf52494f17e6387a9f9751b230b3f1b6993f7bbff52bbe35e2c7b4

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bb356b6e42a0b10bbf8a79206f552d7e6d19f8349d8392acbe962c6fe6d4ab3f
MD5 5bad6c0f09b13ed5737844ec74818d45
BLAKE2b-256 7872f096cecbc12b9c06fc39919846a72aa1c71f4cd35cddbbff15f27049d84b

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 eb4643e8168576af446a9bc0b04a895ad59304cf0acc0e3171ffa50036f41c11
MD5 3aa7b1270a7d3a0aa3f5f0e08613b0fa
BLAKE2b-256 d83fb66856b7eec56397063d68667fd16d7f6653631c125d0ca1451226b9157c

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 c6b5ab00ec2a50f589733d893ef9d652b57128f3c1bf26b7f914a278f0a16907
MD5 d5615f39927bcb953f3e4e4fc9322758
BLAKE2b-256 6513ac612391a31ade7164a128fcc25ab3b6865e9d1848f49bdf13e32977deb3

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a99b384e5ccf19a1b181ebfae330f9973be54fda94b8a52e629188d4282d4c3f
MD5 9efccfc0a258c1ab73b48298dbd2f0ac
BLAKE2b-256 30528a18ff3938fc5a7c7f7a39f26d2c9a146bd7223a8e36e43282d868b07adb

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 c8db4969532fcbb62f00773fc8ca6b48bc06ce4de53647d35520eb648d499ba7
MD5 1eb77b5c937fb7486302839e7f01f0eb
BLAKE2b-256 d9ad62b43b4d7544b5492365ce29b4aca22406bc27a4067618b82b071ad90fd7

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 83b53070ac941e669ce274f9aad4b4fb96ccb67463f74af109fc99d4039e8c40
MD5 e4073bf4907fc3ee7f94cfe2bc36487b
BLAKE2b-256 c9dca5e4a91052cf6116110130bd614667ec63394bb995a3398afdec1978699a

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5d10fbf903817106c26fd0ee87e663a05081b46f55a9ace1f3a0d20aae3e66fa
MD5 7271e6921091443cb155af20affb2fa2
BLAKE2b-256 77b4432c27f3c3cb71dda3d40f1d61bd9f97a8c80b73dbf97708f0492720b274

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 26d0b3adb45ec9426805505d1eb6afb063227d994750bd42cdb8657267f5148b
MD5 ca271f92dcc1d802e67da5c08901ba64
BLAKE2b-256 5007c9a70d9ef986b72ec5a6e2b42dcdd088305c03646e1d96222e81055565cd

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 00a90b1228785acde1d8f61d3ce74761c97869d05b8dca28b29e3b804b3fb361
MD5 b28fb7707b69587329ade2eb5239dc52
BLAKE2b-256 be057b56e7daa698b4f8d50c51a26532c6541192e7c9fc6d067b391987741de2

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e76c7ca028950df832e6561f12f92bee70cc87ee9373ab41845cec795901bc09
MD5 a93e79e5b42be8bc47e81c755cd4cb05
BLAKE2b-256 42736237d0847673b31c68c8ede4e97bc259b9dde832605f4d462735f09a32e6

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.23rc0-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.23rc0-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e31ccc74db841185420dce7520f70077ce0d230a165d248da49bba596bfbc2a8
MD5 d44ab12c7f4ac4bafb03f2708b4a9092
BLAKE2b-256 8efef251febcbaec54bb84e1137d8be205626d4ffcbb207f8bf4dca6f007b6db

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