Skip to main content

arraybridge

ArrayBridge provides explicit conversion and shared lifecycle utilities for NumPy, CuPy, PyTorch, TensorFlow, JAX, and pyclesperanto arrays.

Core dependencies are NumPy and metaclass-registry. Other frameworks are optional.

Quick start

import numpy as np

from arraybridge import convert_memory, detect_memory_type

value = np.arange(6).reshape(2, 3)
assert detect_memory_type(value) == "numpy"

copy = convert_memory(
    value,
    source_type="numpy",
    target_type="numpy",
    gpu_id=0,
)

convert_memory requires the declared source type, target type, and device id. It uses the registered converter for the source framework. The device id is required even for CPU conversions so call sites have one stable signature.

Declarative decorators

from arraybridge import numpy

@numpy
def normalize(image):
    return image / max(float(image.max()), 1.0)

The framework decorators attach input_memory_type and output_memory_type metadata, provide dtype/slice runtime parameters, and add framework-specific stream/OOM handling where supported. They do not convert inputs or outputs between frameworks and do not accept a gpu_id argument. A host runtime must call convert_memory at the boundary it plans.

Stack utilities

import numpy as np

from arraybridge import stack_slices, unstack_slices

slices = [np.zeros((8, 8)), np.ones((8, 8))]
stack = stack_slices(slices, memory_type="numpy", gpu_id=0)
restored = unstack_slices(stack, memory_type="numpy", gpu_id=0)

stack_slices requires non-empty 2D inputs. unstack_slices requires a 3D array. Both validate shape and use explicit target memory/device declarations.

Installation

pip install arraybridge
pip install "arraybridge[torch]"
pip install "arraybridge[cupy]"

Documentation: https://arraybridge.readthedocs.io

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

arraybridge-0.2.11.tar.gz (92.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

arraybridge-0.2.11-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file arraybridge-0.2.11.tar.gz.

File metadata

  • Download URL: arraybridge-0.2.11.tar.gz
  • Upload date:
  • Size: 92.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for arraybridge-0.2.11.tar.gz
Algorithm Hash digest
SHA256 6ed4ff021cc5c975687bcef819e77a7a1019fc2b268913e158355d6797361e39
MD5 801a5bc22dac0cd1d56ee5fb2ebd130f
BLAKE2b-256 2e187aa1098f48fcb95dff1b4b808e9094e1b1acfd5a748e451c9f93692db802

See more details on using hashes here.

Provenance

The following attestation bundles were made for arraybridge-0.2.11.tar.gz:

Publisher: publish.yml on OpenHCSDev/ArrayBridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file arraybridge-0.2.11-py3-none-any.whl.

File metadata

  • Download URL: arraybridge-0.2.11-py3-none-any.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for arraybridge-0.2.11-py3-none-any.whl
Algorithm Hash digest
SHA256 8c81f121f4c220bc232e85cde499d58467b5a0c425d6cafe83a36788f074302e
MD5 bda43c4efe9f3782e8e4b4f6396541f1
BLAKE2b-256 b7517b22661241a68f3e3a9dfe845c7f1b0bb55ac62f5d25f99f47e6fb741d1f

See more details on using hashes here.

Provenance

The following attestation bundles were made for arraybridge-0.2.11-py3-none-any.whl:

Publisher: publish.yml on OpenHCSDev/ArrayBridge

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page