Skip to main content

Speed up file transfers with the baseten.co + baseten_fs.

Reason this release was yanked:

slow range downloader, recommended use 0.0.36

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/truss_transfer)

    • 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
  • TRUSS_TRANSFER_LOG or RUST_LOG (default: info)

    • Controls logging level: error, warn, info, debug, trace
    • TRUSS_TRANSFER_LOG takes precedence over RUST_LOG
    • Example: RUST_LOG=debug for detailed logging
  • TRUSS_TRANSFER_CACHE_DIR (default: /cache/org/artifacts/truss_transfer_managed_v1)

    • Cache directory for b10fs operations
    • Used when Baseten FS is enabled

Download Configuration

  • TRUSS_TRANSFER_NUM_WORKERS (default: 6)

    • Number of concurrent download workers
    • Controls parallelism for file downloads
  • TRUSS_TRANSFER_USE_RANGE_DOWNLOAD (default: true)

    • Enable/disable range-based downloading for large files
    • Set to 1, true, yes, or y to enable
  • TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS (default: 192)

    • Total number of range download workers across all files
    • Used when range downloading is enabled
  • TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS_PER_FILE (default: 84)

    • Number of concurrent range workers per individual file
    • Used when range downloading is enabled
  • TRUSS_TRANSFER_DOWNLOAD_MONITOR_SECS (default: 30)

    • Interval in seconds for monitoring download progress
    • Controls how often progress is reported
  • TRUSS_TRANSFER_PAGE_AFTER_DOWNLOAD (default: false)

    • Enable/disable memory paging after downloads complete
    • Set to 1, true, yes, or y to enable
    • Helps with memory management for large downloads

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 the directory specified by TRUSS_TRANSFER_CACHE_DIR
  • 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: dynamic)

    • Expected download speed in MB/s for b10fs performance benchmarking
    • Used to determine if b10fs is faster than direct download
    • Default: 400 MB/s for >16 cores, 90 MB/s for ≤16 cores (with randomization)
    • Lower values make b10fs more likely to be used
  • TRUSS_TRANSFER_B10FS_MAX_STALE_CACHE_SIZE_GB (default: unlimited)

    • Maximum size in GB for stale cache files before cleanup is triggered
    • When set, actively purges old cache files to maintain this limit
    • Example: TRUSS_TRANSFER_B10FS_MAX_STALE_CACHE_SIZE_GB=500

Example Configuration

# Basic setup
export TRUSS_TRANSFER_DOWNLOAD_DIR="/tmp/my-models"
export TRUSS_TRANSFER_LOG=info
export TRUSS_TRANSFER_NUM_WORKERS=8

# Advanced download configuration
export TRUSS_TRANSFER_USE_RANGE_DOWNLOAD=1
export TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS=256
export TRUSS_TRANSFER_RANGE_DOWNLOAD_WORKERS_PER_FILE=64
export TRUSS_TRANSFER_PAGE_AFTER_DOWNLOAD=1

# With b10fs enabled and tuned
export BASETEN_FS_ENABLED=1
export TRUSS_TRANSFER_CACHE_DIR="/fast-ssd/cache"
export TRUSS_TRANSFER_B10FS_CLEANUP_HOURS=48
export TRUSS_TRANSFER_B10FS_DOWNLOAD_SPEED_MBPS=200
export TRUSS_TRANSFER_B10FS_MAX_STALE_CACHE_SIZE_GB=1000

# Authentication
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.35.tar.gz (72.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.35-cp313-cp313t-musllinux_1_2_x86_64.whl (4.4 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ x86-64

truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ i686

truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_armv7l.whl (4.2 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.13tmusllinux: musl 1.2+ ARM64

truss_transfer-0.0.35-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ x86-64

truss_transfer-0.0.35-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.2 MB view details)

Uploaded CPython 3.13tmanylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.13tmacOS 11.0+ ARM64

truss_transfer-0.0.35-cp313-cp313t-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.13tmacOS 10.12+ x86-64

truss_transfer-0.0.35-cp38-abi3-win_amd64.whl (3.5 MB view details)

Uploaded CPython 3.8+Windows x86-64

truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_x86_64.whl (4.4 MB view details)

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

truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_i686.whl (4.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ i686

truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_armv7l.whl (4.2 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARMv7l

truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_aarch64.whl (4.3 MB view details)

Uploaded CPython 3.8+musllinux: musl 1.2+ ARM64

truss_transfer-0.0.35-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.35-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.35-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view details)

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

truss_transfer-0.0.35-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (5.2 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ ppc64le

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

Uploaded CPython 3.8+macOS 11.0+ ARM64

truss_transfer-0.0.35-cp38-abi3-macosx_10_12_x86_64.whl (3.9 MB view details)

Uploaded CPython 3.8+macOS 10.12+ x86-64

File details

Details for the file truss_transfer-0.0.35.tar.gz.

File metadata

  • Download URL: truss_transfer-0.0.35.tar.gz
  • Upload date:
  • Size: 72.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.9.6

File hashes

Hashes for truss_transfer-0.0.35.tar.gz
Algorithm Hash digest
SHA256 a922f66d55492fbb2a96a7e0779c4e54987295107b1b71899b8db89f5850a98e
MD5 405e4ecc5d9e45fabb654764f7d13398
BLAKE2b-256 de1325a5eecf00d24fa323fb62a61bd21e3ff05701fb8a029f5cef734aae89fc

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 6fbfe8eebbc1dbe6ef63f931d007c4582f4357071cdb1dae7e3af7e894a9a151
MD5 8e15d0df5ebe26e0f2e449dcf4390f1b
BLAKE2b-256 f96c7a0ff758b766ba259b43c30e249c2e3835c0fd0418e50a3afa9b43e4eb9e

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 62d3c9fff6315b3a05324bdc22e7032f732d6fde93d19576e17afee0c4354d15
MD5 2c59ae5fcf89ade85c1a876c951967ae
BLAKE2b-256 f2bfaa539df877f63806ba8eba36d7d50a2f35d815ad7c2c5a1a032ba067fe20

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5ed74c3c7334837118dfd4a56c9a5e197fd24646f5728d8f1b21b87c64dd9051
MD5 a37a249aabbf70243081b39a923ac910
BLAKE2b-256 2b3d00f89d2d0285d444d4a885faf30761668d74512f067825ce7f339472439e

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 6b02fff5a8901e8de7afcfbd41c37b50ff791511c310713c36cecb664fad50b6
MD5 794c17df0fc8526634f77dad473fd004
BLAKE2b-256 d29e87c4e32ea26288d3e5af4fbf164ef941e24a86632f399a4d77ceb48f5d35

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b0cc661870ad6eaac4cd597bf2846a22dae2686a3b4203c85aaa5fa4598e8346
MD5 f23f7a0a391c2dc3f65223ace259be5d
BLAKE2b-256 634c84daffd3c748b0f29dfaf957f8a91e21ff49837693d358023d7b40124567

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 84c92ca0d5d1ba22f177388c374e002a3f720be0d380048e49a8c244942f4566
MD5 2e9cea0e7ea0d770c84f26ccac6cb436
BLAKE2b-256 d9290608b88c74a15d9f66a9f99d88fe8eb19e060abd450adeb93f8e4ad8446b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 1de7c87cc23b455763aa9094d5b39b251af9a99a6ee6162bcadcebcd7acee7e3
MD5 8936c363f2e0c9138a1af44becb6fe8b
BLAKE2b-256 ceb79c9e77cec59680918fe10fd5ea86e6ec4578c2716c0da254f91dc62da614

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp313-cp313t-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e6e5afeb87ef10e41359c7f282e72b0b5e5e46480ce206913de068055a54399
MD5 6faf43500d56d6850c8648cba7583fae
BLAKE2b-256 16c960923e7a6f6aae593caa57bf3476c9425f8efef53f1ebda4458548ad8a11

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp313-cp313t-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp313-cp313t-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ccfb208a62b3353049768da2fdaf9f8cf5c9ad02994e061d9a0b919d5089ebf8
MD5 67663d88243ed8a91ee9ac8306afa27e
BLAKE2b-256 b514a61828f737f14a1a172ec315ddcf9b20ddf780e9f47941191ca5c8c79198

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 4510fa1d0d0ca6c24d69d7a5d5065bf5eb005bbfcc245066bbbfbe00dde4c393
MD5 ccb4a1e186415ee29e376e46af0453e1
BLAKE2b-256 ffa0abc9ab9c761087035be872e8178a77042f5c431e371c89d41eb7174e17e4

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 49cff6c0eeea189901931881984c9cb521d6a063d1ccaa1f8b59a25939497b3b
MD5 1b558e5b2d2aee2304d5ff9b08af3b13
BLAKE2b-256 45ad99e2f8afcc7bb5b30f55ea0b5283b67526c22830b13ba1ef85c170b8cdf2

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 35f9c09b5a1077b5e20ae3391bb88f2378a255a47d6f1f2f8efe5868b96cb343
MD5 a905af7cef397d040584428bcac89b42
BLAKE2b-256 ea21557ba4c007be2224ae17a611aa1f0a48e40cde1574cb5e92cda81e5e37a1

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 f67cfcab4c3e871b72414294d9e720703ba0d1390c5460e48beb432e57f36202
MD5 d77e266041599e86f74f2966509d37da
BLAKE2b-256 03fbb4f727cf8bbfcbb615a8fdceb738856929a19f1d18294f9e42c9ec532adf

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 e6ab6b824c5a3184f9d02b3f083330c969fe751e561cb56bf06843c5218ada5b
MD5 02e8b074b7a70c4505deec84b17ace1e
BLAKE2b-256 533b1272f91666c7ac0cbbf09071789981fc25ee2771f9e87ed7a80bf97eae77

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-manylinux_2_28_armv7l.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 b40fd11580078dc64192facabddb2187bb90b5324346b0025cb12a1f69ad498f
MD5 285180eca2d8f47cee3a930dd3f6704d
BLAKE2b-256 da91a8ef89a2c7f9f80e2a10446107e0fcddc3e604531e91520d7d4c314dffef

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 840d315793525d50ba64109cebb578646b36cb574492bcac12004b5a692ae2ab
MD5 cfb2a71020c31aac28702531596ffa46
BLAKE2b-256 a8c19aef198952d036bde185bd83841fd2c74355510fd7f1bf102704938b9ec9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9148102aab64a82a6b443eba7bca1e21d29575e440b314b72d8589681cdc819d
MD5 e3274fec9b3b299280c6a34f18b766cc
BLAKE2b-256 9661669ec9663925133b35b5fa0d1c6a366c3c02d25da890d6579c88a9ed46a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 63a2b3166932d290f9ca9efcb5aa6513eb1dcaec9578d3ad598491215fcad478
MD5 b414f9a3ed06d33426337e255ce70b3f
BLAKE2b-256 888c54515ad638272731fa66e3d2bb8fb782f623c138863631993072ed789bab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-manylinux_2_17_i686.manylinux2014_i686.whl
Algorithm Hash digest
SHA256 67abcf1f98c2be795d6c92e4bc3542281751d0eeac67ed57e303c9b5790e7172
MD5 ff91c3e1d3af8f4f368d45fcd83c1de9
BLAKE2b-256 96a6a17e3113a958d648b42c6b0495e1d2cae5ba55320c09b0ef1236358e975b

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7f950cf294037d4f9087e909a024c050e23f02f464f98c24cecc2afea06222e
MD5 424429b396530bf5c36a1df7c568f47e
BLAKE2b-256 6c5569ea3659961ed8fd5678f604b54d09ff1a8d77b3a36cb8f2da55922192c6

See more details on using hashes here.

File details

Details for the file truss_transfer-0.0.35-cp38-abi3-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for truss_transfer-0.0.35-cp38-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f0fe3f8a817e3162174587fdb33719fdfb41d93d2300f6c9e543b5e94d1ca644
MD5 66efbccdd2aee1595c81d2134b9f1c98
BLAKE2b-256 479ae7f3418fb2d476eb8b743cfc4048914e56c8dda94a56e46d4ad6ee4d4153

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