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

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

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

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

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

Uploaded CPython 3.8+Windows x86-64

truss_transfer-0.0.24rc12-cp38-abi3-win32.whl (3.0 MB view details)

Uploaded CPython 3.8+Windows x86

truss_transfer-0.0.24rc12-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.24rc12-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.24rc12-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.24rc12-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.24rc12-cp38-abi3-manylinux_2_28_armv7l.whl (3.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.28+ ARMv7l

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

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

File metadata

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

File hashes

Hashes for truss_transfer-0.0.24rc12.tar.gz
Algorithm Hash digest
SHA256 c84ed6a4e144b8045e2a395e8c611c2b1635de901d9e8d606ce545cc7b99706b
MD5 1b9faee70292d1a1522ce80773392e0a
BLAKE2b-256 e570e53d49a28d34b8b15742b91dfc64cc5b02549dbb75d99efe4fca6e04f2c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 46e301f9d49f455c5d0b353a503c975603701855ecd301dda3c923c9428097df
MD5 f9ff20e299f60b842cdaed1682440410
BLAKE2b-256 f5dee4d3cc44f6cab23c7a006eb1587e6ff40445216a4e88bd8f12232541c15e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 de80f56394c82d08cdcf78bda73b7c782d99860824b58337457cef66dbce9e4c
MD5 36e040e57a2062a41d523c29e5e017a9
BLAKE2b-256 d890aad89ca7ce9eefc43b3a946d4966987601624761e41eefbf8966a0c6af03

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 8ec259b8cee196a3ee2a4b074ebd52e89dc4d18c9657bce133ad6d3851a72391
MD5 21481ec9b4c7d648e64d4c581489ab64
BLAKE2b-256 421fe6bea7af84e5af612ee54061e6d2ecd765bd23e664d2f4591c3dc9304810

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 69abaa23e223515ee12bed4a5744aebfdec3a41d277c3f37424705d17bea4865
MD5 cff57d70ece03d0356542f3ca06e2fa3
BLAKE2b-256 bd1751593e75039895d1c47c9d9a27fa21961ff3734dbdfc9258577d536120d0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 372e9fd15e21c29df84e63b493fd713ac8328a74474c710dd436c184906a25c0
MD5 3f7cf3caf03006a8e3e3de71449611eb
BLAKE2b-256 5ff364ccbe3427519296001a37d7591fba519f66c04c7fec15b42dc5f6e8eda6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 aca7d68a713dd9f95adf6503fc5836e49dd1fa851ad123e83f6741f0ded3ac8d
MD5 5c9a622d1c1de3d4f802344848ce3a8f
BLAKE2b-256 5af31632834350f6a4421da06be33a8467ab21c21d1f2f286fa364c2dd855e17

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 a4e9baa002c16ac456cdb7c5f72f0585b147cd9236d49b19e454c072a161d5f7
MD5 e29add588a6e844eaa11fcd07b7f1a69
BLAKE2b-256 dca029b42f5de128e11eb1e0c34c477ffe813b3728b7a7c6f767ecb959848b88

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 be02dfca228572fbf49e08e08e4103e1b20450248451586c5498e4ea625be74a
MD5 17f797e07b02dd151fc9de445c016a82
BLAKE2b-256 047decebeed5a26d8df5ac6dc7ac7f86d354f4fcc08a78f298136da1817f1a3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f85ef6fae7d668c3a4144c82c8d16962d578ee190142ba20e61530f7062b73ea
MD5 8316e1acbf58191181c8b76552e2129f
BLAKE2b-256 aea9a90f1f859ce38655984b309c666353bad221d42a72d7398e405dce819ae8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 f2810a5ace628a78204b58e7c45c277ac421972d0e2ed1361aa770520d34d2f7
MD5 c1c54e05e27eb99ca24ef5e588e21226
BLAKE2b-256 006c175eafef9a4ea7fc0727d97c86dbc7c6bf26347fa825b1c33996f8438ea3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-win32.whl
Algorithm Hash digest
SHA256 1bd982e2e47be619ff8a1f7bde9c75fff41c3ad2afd0ca794e3379888bb350fe
MD5 aad2b749d702a4de5b3a8f4253322493
BLAKE2b-256 60c9bfd804c0cdfd7a46a9d5980bb93d0d4c906f41cce30cd36f48e4e21e8f80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 1d9ed0bcaed48adbba3ad1a4ee0bb8a8f79cc5be195edf753197391ad0e9c872
MD5 4002e8d7fdcab4c329d940568909e680
BLAKE2b-256 33e034f4195584dfc08f1c6643a2bf04451cd39b5a53853e8a0b237441afba8e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 2614c1ced1eeaad88c7fbd6a614c5147c19708c4f9283f7541b292437e062db5
MD5 08cdd2761cfed09ca1945f276fb5c4a9
BLAKE2b-256 4a519a36f3cb827f9c08e0a5e8453c98a94b4c7132b4d3a66bc721d9965dd24b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 0698e3f0cffc39b0c98063eb59d20e23094da6c4ad79a273e75a9983fcdd1402
MD5 5d8506eff88d7749effafc1822098882
BLAKE2b-256 3831c4d4edce2444edbb88b6f9c811eb06da8d3f402eb7a851b8832ddf43fc96

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6e0d6a9292ed62c5bcd0df2af8ad0291aaa8c8cf2842d394c9ee65a35a8ffe65
MD5 88d752d6c730b0a242daabe54ee04804
BLAKE2b-256 fbe6f6db48f91b68964b83456112e0d706d4b17bb3e034afaee89f0c34c594f0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 516cf87a30810bb34e6baad268234f78b7e3708862e303cb2ffe938d01c71cf0
MD5 9809f482d72d14466e24452439e705f3
BLAKE2b-256 165e5bfa47f16af5232b42beb4e8be9ee24a2e4dedf9c02a7efd9c19c46866e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1f30ca9b99a3a54c7f08dd4a400d1ab073661a4a384c3ebf22377bc8a1609bf9
MD5 5de413d1be465bb6814c0e18a0182074
BLAKE2b-256 da4b51f6f38006d3ddebb1bdc0627e78c26ecf59ff4f163d921ea0248d1a6dc2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a127ad5e0ed307416d54645af655497b44d4040f1f09f1c51495ae367bdf254a
MD5 07f25be0b0bb27c5c0409e51b015c63c
BLAKE2b-256 eee56590f37bc91170a95a08a1a7f646c507d5cb46a2aba2a9d0f63a41ebe31e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 92f667ec2fd78ad71ef9c4583006f88632180888073739da53fa6665b872fe78
MD5 cf99b47ffaf87b216a5038268345d714
BLAKE2b-256 ab8502e0475d58e7f11f8944620acf235d7727ffe9b275abd5678ca4fa037ce8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 f2a3291333428d32de7e1f6db62eea9355150d19aa8bc1a0e1849792f772000a
MD5 816f7e698db2cf6289543d4e7d15db1c
BLAKE2b-256 6a470db33301de740645031196157fa684760ac9bf3fb1bd26bd78d623816cac

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f791ab8aebb017d2cdb5198e3a1e7e52555777dbccff8917bc81bc6fff3e1353
MD5 c547677701383aaebbf31fab51336f7b
BLAKE2b-256 562ce0a61792f758f2e01b51c5a90831739bad456e7eecbe8eddf456b32a4077

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.24rc12-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 33b5945c3f6aeba54661face80f82d27d9a1653e45628c62e08d6528bca77cd9
MD5 27d1933c3e0eb7aeba7e285cdd6b7dfd
BLAKE2b-256 fa843d050d7de2ff111cb2098ea2495e9f7f6d3164eededc887e21589d4d2dfb

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