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/bptr-manifest", "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/bptr-manifest", "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():
    # 1. Create bptr manifest
    models = [
        truss_transfer.PyModelRepo(
            repo_id="microsoft/DialoGPT-medium",
            revision="main",
            volume_folder="dialogpt",
            runtime_secret_name="hf_access_token"
        )
    ]

    bptr_manifest = truss_transfer.create_basetenpointer_from_models(models)

    # 2. Save manifest
    os.makedirs("/bptr", exist_ok=True)
    with open("/bptr/bptr-manifest", "w") as f:
        f.write(bptr_manifest)

    # 3. Resolve bptr
    resolved_dir = truss_transfer.lazy_data_resolve("/tmp/my-models")

    # 4. Verify files were downloaded
    dialogpt_path = os.path.join(resolved_dir, "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()

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
  3. Run a `Buid and Release truss-transfer" action https://github.com/basetenlabs/truss/actions with "release to pypi = true"
  4. Make x.z.y+1.rc0 as truss pyproject.toml, and server_requirements.txt dependency
  5. Bump 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

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.15rc1.tar.gz (42.4 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.15rc1-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.15rc1-cp313-cp313t-musllinux_1_2_i686.whl (4.1 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_armv7l.whl (3.8 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

truss_transfer-0.0.15rc1-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.15rc1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl (4.0 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ i686

truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.5 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARMv7l

truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.1 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ARM64

truss_transfer-0.0.15rc1-cp313-cp313t-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.13tmacOS 11.0+ ARM64

truss_transfer-0.0.15rc1-cp313-cp313t-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

truss_transfer-0.0.15rc1-cp38-abi3-win_amd64.whl (1.5 MB view details)

Uploaded CPython 3.8+Windows x86-64

truss_transfer-0.0.15rc1-cp38-abi3-win32.whl (1.5 MB view details)

Uploaded CPython 3.8+Windows x86

truss_transfer-0.0.15rc1-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.15rc1-cp38-abi3-musllinux_1_2_i686.whl (4.1 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_armv7l.whl (3.8 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_aarch64.whl (4.5 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

truss_transfer-0.0.15rc1-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.15rc1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (4.1 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

truss_transfer-0.0.15rc1-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.15rc1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (3.5 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARMv7l

truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ARM64

truss_transfer-0.0.15rc1-cp38-abi3-macosx_11_0_arm64.whl (1.7 MB view details)

Uploaded CPython 3.8+macOS 11.0+ ARM64

truss_transfer-0.0.15rc1-cp38-abi3-macosx_10_12_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file truss_transfer-0.0.15rc1.tar.gz.

File metadata

  • Download URL: truss_transfer-0.0.15rc1.tar.gz
  • Upload date:
  • Size: 42.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.1

File hashes

Hashes for truss_transfer-0.0.15rc1.tar.gz
Algorithm Hash digest
SHA256 2fe6a8f464263e009942cbc6f97b8a2effc774b6ea6d17c3444af74215dcc450
MD5 76265618d3c0cd8937ffaa5c8ae20764
BLAKE2b-256 744124b59e3b56f8f9f2bbc7a88763714ea58dbec3995699524a8a67cea12d3b

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 3c87871772f6a0669c04e63bd87619f8907e87a1ae07db2c403452947d632f14
MD5 7a582fbe89966d48070b47adbbebed3c
BLAKE2b-256 f053c9810bcbc3fbf45512b1ea5d1c4c4a24fa4cf092b75f82f8c7304776780e

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 e6d8cda18d3139234068ab662a4dfaf428ab319e26574e73eb505b23a857e3c5
MD5 a43b14b0c97b7412d466a42577632264
BLAKE2b-256 88f3428a3522e01fc1a5ed03fc986b7a48f2b91cc9f8f39fdfe1320fc29cdf81

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 4456ba6e518d5747122dd4c27bb6578b1a82fe938304b9021b52f1117c030e53
MD5 4e2404df1a47d93ce2263dd60248cbe1
BLAKE2b-256 1488c167e71e736d0f1a34267efa06467bbe9cf552033222689968b3ba705e96

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e1c7fbe37917acca70e36b1fb3bec7587aa26f44bd7b4fcfa35007bcf9bbbe20
MD5 1d595436b4a0411aaeefe3fa0d2f4862
BLAKE2b-256 5cc2b95174ee8c9a9e28f28554e0c9ab0d14e290d4f2383ac5aaec2db7fd8c83

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c88ce651c13abd43ab9f404f6e230a892a363e4a3d2f04487ac60e14d99ab694
MD5 f2310bc98816e5a831ffd81d6f1a1d34
BLAKE2b-256 4e4321556830107887ed71fb022c54fccc701b5b311c645515caf418618368ac

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 7b0d92d96315c70acc021b18117b773b3c7b6a59df876680e693eccc5373816b
MD5 6febea9c8b76af2ce1adbbe7ce8150da
BLAKE2b-256 3e5bb75713ebc4467813621806d47ac1040603ac10c73c43af36026611ab5479

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 0b9fa18ea2053c078af63075aa5be0d062ef5cc31a1571931b91717673c2a221
MD5 aedda4a0d122c713fb7d3b4560919a67
BLAKE2b-256 95a08f4091c89b0a28b7544be4c59e310be221acf859d4de534bc359582e83ea

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 2c85747eff775ccd03692577d3a5939a12d80a644585f4d1c14d34270d9651e7
MD5 270b2b92959ae9f1ee2ee10c7975cd90
BLAKE2b-256 e6b8c3f13f8ee9b86a27b908466acc1bb18fb633950b204e3e408894fece4a80

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b6a094bba3c8c423f64df3c18435d3dfeae88adbc3f183402e4245aa1d727d62
MD5 17ba7ccfafff0446356d97000fb1273a
BLAKE2b-256 5fbfcd49e117609b8e8e31f7349fc041c890beea233f347855bd1c8e61d54e70

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7f22db7ec2d6f6ee2e8da9d46fbce8d079058a06b8b0667f090acf85b85cf97
MD5 97be74b87cabddd41ef0deb814f1aece
BLAKE2b-256 285f2867e031d04357cb61ab2a104d72bf229cb7861d799039334c83058ee334

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 95dc8b8ea53ed2208b174dfc9d53c7c00bc1c29877d251b35fb7fd775746ddd5
MD5 b96b4800661e4087b6a6b15f201fc3bd
BLAKE2b-256 7a0c4b4edfb06bcf4b3a24ec66cfe1b172cbec675d7f7939b11b05652c9e3f4c

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b523200291f4232afe10b13f53828065313faa6aaf4ce65b3ea6be7804060a7e
MD5 5432d23d3c8e23222d3b098ebe0805d7
BLAKE2b-256 c40562107e816599b015a3f0eff31b1cf4b1fb55b7bcece9c52d05f411422243

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-win32.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 c88454196a96f725099acfa6b981a2be0485e977584a9d39b6e69bdcc7a27ba8
MD5 5d4a796373b97bb5674bee109e81145e
BLAKE2b-256 367423066eaf2f27dc7dda70e292bfc39211b35ebe860f484c74f8b43033851e

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 bbff020db1f67c7d6873538859f9df456b227ea5c836884b1960d647cc7502bc
MD5 1aaeb4a2e3e32741851587a956e4fbde
BLAKE2b-256 afef80250f6e237142f6649c1c38f3fd22dcb3e9305b073c9fba1d3ca8991bdb

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 5f2c37541a9bcdc6fdc90c9353e1d072f3dbb1af6b364a15464b0c1a06ed60f5
MD5 a2dbcc7532daa6bb5674de804872745d
BLAKE2b-256 82616a90b87fae06fe58d35b292659f283f44d1c9b05c1bef48f17a6e7e8f532

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e604fe28259a7c0f2374d61a8d99f8f4efea567239f99b480145f2e97ac5ef07
MD5 ee3d6fdbb5e686a9a6a587210bd1b163
BLAKE2b-256 fecc47539e69e151f028ff4b1ce545020037d3d4afe8240eb45324ecf9237ce2

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 656a6e6608177333be432fad63937a44c8366505435dbf475a01aa0a9abc709c
MD5 58fafe8f3d7c12f4ff588903425252e0
BLAKE2b-256 f017edafa847d86c02f242bce30e3d0be20ded4624d28d1ff4bac2adbf8f5bb1

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2ae1e935d58c94560acb5f448f7038374dc4b686cbcecdc5eb2727ed149bc81d
MD5 c036de72fd26690367369c9a3804683b
BLAKE2b-256 4ee37e753f8030d8fee0befb887d3503e9038dc4cd68595c72b5b31cf1211aad

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 d094c8cd8c52ea5a82673219320d6b9c058391c665be0b662eaab2eaeb385b8e
MD5 780ed114fdad1a315ed6f0ff891ec0b3
BLAKE2b-256 07944d43bcd0f5c89ae66b70d4efb79a1fba66ad6eeac4d1fb4b33280f9d52f5

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 90d2af44e14f3d34a32de5402f383dd9f7361c5941d231cc0416c508f9cfa2f6
MD5 ad70160a6a4d114a45b0bc81e20b8284
BLAKE2b-256 645b3333b7de7e74bcb281e5a58c2563e3f69c27a662a54a9f25d6575e80c0bf

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 56671d4cc7cc88a26b957f30e463a1ff7456bc13668f2c423481c4f1caea5b00
MD5 b0877be6a1e4ad567a7d966224a0fd49
BLAKE2b-256 496c16819e16db98b7c315798dddd7034486ede9a968bd42e194fe6a0cd07c54

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 84a411013716389c593d50d9b0178723517458798555dc7164e595e7fcfca330
MD5 f178ceccf9a289da806d26e39ef35490
BLAKE2b-256 d2e4287497eb998de30d040292c511be4ecc331158f15e49e1df52d10055eb06

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a95945023662f14d935d02d95f3102e9ab4b2f9c0416cf46b37ed7a676f91f22
MD5 86cd253fd964ac8fc77a3349fbe7cec5
BLAKE2b-256 1eb8a46a94259b1c6f3a0945473f70cc18414391f6c604df52c77a839afedbb8

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.15rc1-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.15rc1-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 da063d799a487e80c2cef3dd22632630e1c368903b4eae86269b277e72ad9a75
MD5 b8e0388335410f9ac2f6804b4e2c6523
BLAKE2b-256 45b9231457f80340fbe215260c944a28c7d81000bc8c706d5379d2aa3709b3e0

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