OuterProduct SDK
outerproduct-sdk is the sole public Python package for OuterProduct. It owns
the Workspace API, runtime serialization, Files, Unity Catalog adaptation,
Flight SQL, and UC-governed object storage. OuterProductClient is the only
public client and owns all UC and non-UC operations for one automatically
selected Workspace.
Natural workspace API
op.init() reads OUTERPRODUCT_API_KEY and OUTERPRODUCT_BASE_URL, ensures
workspaces/default, and returns an already-scoped client. Pass workspace=
to select another Workspace; callers never create or unwrap a second client.
import outerproduct_sdk as op
client = op.init()
catalogs = client.list_catalogs()
base_image = (await client.list_images())[0]
image = await client.build_image(
base_image.name,
display_name="analytics",
description="Pinned analytics dependencies",
pypi_dependencies=("numpy==2.3.2", "polars>=1.33"),
)
created = await client.create_sandbox(
image.name,
cpu=1,
)
sandbox = client.get_runtime_handle(created.name)
async def add(
runtime: op.OuterProductClient,
left: int,
right: int,
) -> int:
return left + right
run = await sandbox.submit(add, 20, 22)
result = await sandbox.compute(add, 20, 22)
await client.write_file("results/answer.txt", str(result).encode())
answer = await client.read_file("results/answer.txt")
Images are immutable registry artifacts. build_image() layers canonical
PyPI requirements onto an existing workspace image and returns only after the
new digest is published. Sandboxes are immutable snapshots. Their create_sandbox(),
get_sandbox(), and list_sandboxes() lifecycle methods live directly
on the client. submit() returns after the scheduler acknowledges a
durable computation. compute() submits and polls to a terminal state,
yielding to asyncio between polls. Natural computed functions are async and
receive their runtime workspace as the first positional parameter.
Unity Catalog CRUD, temporary table/volume/path/model credentials, Files, Flight SQL, sandboxes, and runs are all flat Workspace methods. JSON literals, objects implementing the SDK serialization contract, and Pydantic models can cross run boundaries.
Storage boundaries
File operations are flat methods on the workspace-scoped client. Sandbox
volumes map Unity Catalog volumes to container paths and are materialized for
each managed invocation; they are not a provider-native POSIX mount or a
write-back filesystem.
Use store_from_url, store_from_volume, store_from_table, or
store_from_path for refresh-aware UC-governed object stores.
download_s3_prefix(client, prefix, target) securely streams such a prefix
into a local directory with bounded concurrency.
Packaging
The published distribution is one wheel with one native extension. Internal
serialization and UC object-store Python sources are vendored under
outerproduct_sdk._vendor; the wheel has no dependency on separately
published OuterProduct client packages. Third-party runtime dependencies remain
ordinary wheel dependencies.
Release files for outerproduct-sdk 0.1.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| outerproduct_sdk-0.1.13.tar.gz | 1.1 MB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| outerproduct_sdk-0.1.13-cp314-cp314t-manylinux_2_28_x86_64.whl | CPython 3.14 | CPython 3.14 free-threading | Linux glibc 2.28+ x86-64 | Details |
| outerproduct_sdk-0.1.13-cp314-cp314t-manylinux_2_28_aarch64.whl | CPython 3.14 | CPython 3.14 free-threading | Linux glibc 2.28+ ARM64 | Details |
| outerproduct_sdk-0.1.13-cp314-cp314t-macosx_15_0_arm64.whl | CPython 3.14 | CPython 3.14 free-threading | macOS 15.0+ ARM64 | Details |
| outerproduct_sdk-0.1.13-cp312-abi3-manylinux_2_28_x86_64.whl | CPython 3.12 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| outerproduct_sdk-0.1.13-cp312-abi3-manylinux_2_28_aarch64.whl | CPython 3.12 | abi3 | Linux glibc 2.28+ ARM64 | Details |
Total release size: 22.1 MB
Release files / outerproduct_sdk-0.1.13.tar.gz
| Download URL | outerproduct_sdk-0.1.13.tar.gz |
|---|---|
| Size | 1.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
11086541e2ec659df1c4cc0f9b825253c765cd829654e47ee421f77a42d62072
|
|
BLAKE2b-256 checksum How to use checksums |
95bb14d8d13b5042997650ece57a6190769f2845884029d4b7634c41d0985fb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.
Transparency logRelease files / outerproduct_sdk-0.1.13-cp314-cp314t-manylinux_2_28_x86_64.whl
| Download URL | outerproduct_sdk-0.1.13-cp314-cp314t-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
68a784618e4fb7e05bec89c5544cbe45f7bb1ff848d9721891d8aa3d72c8c83e
|
|
BLAKE2b-256 checksum How to use checksums |
6a679aec89e2166450f6fcbcd7fe0842eb760164c83946a2fbb3b72ecd73e313
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.
Transparency logRelease files / outerproduct_sdk-0.1.13-cp314-cp314t-manylinux_2_28_aarch64.whl
| Download URL | outerproduct_sdk-0.1.13-cp314-cp314t-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6339d7b53aabed2e2e5501d0509153a0d95139bbd46254294e81b9bb8525a12e
|
|
BLAKE2b-256 checksum How to use checksums |
45d21ff0b127c3e359d5acfb89025f92172dafe5fa6c86aee2d90bad871f54b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.
Transparency logRelease files / outerproduct_sdk-0.1.13-cp314-cp314t-macosx_15_0_arm64.whl
| Download URL | outerproduct_sdk-0.1.13-cp314-cp314t-macosx_15_0_arm64.whl |
|---|---|
| Size | 4.0 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
572b0deae6d85e04024e0d2c5410eef7f0057de3767f57033b5086bca36cddd9
|
|
BLAKE2b-256 checksum How to use checksums |
4af6c3f3b42eacea5190f74d667a55382f9ed7076b58dd206f0d5e616fa32e3f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.
Transparency logRelease files / outerproduct_sdk-0.1.13-cp312-abi3-manylinux_2_28_x86_64.whl
| Download URL | outerproduct_sdk-0.1.13-cp312-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 4.3 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
76a17f26b6b7553b5cd459dbc26b065b33153dbc138659ecd5d934a19419b83d
|
|
BLAKE2b-256 checksum How to use checksums |
859b60273497ed6c97fc77c2578b9e3dbd421dd7286d60db3998aa79cc5fef6e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.
Transparency logRelease files / outerproduct_sdk-0.1.13-cp312-abi3-manylinux_2_28_aarch64.whl
| Download URL | outerproduct_sdk-0.1.13-cp312-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 4.2 MB |
| Tags | CPython 3.12 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
03e40dcffc9f052c6b89001b54cd2f0bbee6fa476a467d768407e56b8e813745
|
|
BLAKE2b-256 checksum How to use checksums |
3cf3c84a01b4f35b63dd4aab1608c4284fd27af89f7f0116c6372788481a2235
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 2, 2026.
Transparency log