Skip to main content

OuterProduct SDK

outerproduct-sdk is the sole public Python package for OuterProduct. It owns the natural workspace API, the recovered workflow API, runtime serialization, Files, Unity Catalog adaptation, Flight SQL, and UC-governed object storage. Generated clients are private transport details inside one aggregate native extension and are not re-exported from the package root.

Natural workspace API

An API token selects one workspace, so workspace() takes no arguments.

from outerproduct_sdk import OuterProductClient, WorkspaceClient

client = OuterProductClient("token")
workspace = client.workspace()
created = await workspace.environments.create(
    "containerImages/00000000-0000-0000-0000-000000000001",
    cpu=1,
)

environment = workspace.get_runtime_handle(created.name)


async def add(
    runtime: WorkspaceClient,
    left: int,
    right: int,
) -> int:
    return left + right


run = await environment.submit(add, 20, 22)
result = await environment.compute(add, 20, 22)

await workspace.files.write("results/answer.txt", str(result).encode())
answer = await workspace.files.read("results/answer.txt")

Environments are immutable snapshots. Their collection implements the full server lifecycle: create(), get(), and list(). 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.

Recovered workflow API

The prior attached-function workflow remains available. It shares the same private transport and value codec as the natural API.

import outerproduct_sdk as op


async def main() -> None:
    async with op.init() as client:
        environment = client.execution.environment(
            "environments/00000000-0000-0000-0000-000000000000"
        ).get()

        @environment.fn
        def child(value: int, *, client):
            return value * 2

        @environment.fn
        async def parent(value: int, *, client):
            return await client.run(child, value)

        result = await client.run(parent, 21)

Client also exposes Unity Catalog CRUD as client.uc and through direct delegation, temporary table/volume/path/model credentials, lazy client.sql, and the newer client.workspace() API. JSON literals, objects implementing the SDK serialization contract, and Pydantic models can cross workflow boundaries.

Storage boundaries

workspace.files is the workspace-scoped durable Files service. Environment 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.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for outerproduct-sdk 0.1.9
File Size Uploaded
outerproduct_sdk-0.1.9.tar.gz 1.2 MB Details

Built distributions (wheels)

Table of built distributions (wheels) for outerproduct-sdk 0.1.9
File
outerproduct_sdk-0.1.9-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.9-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.9-cp314-cp314t-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 15.0+ ARM64 Details
outerproduct_sdk-0.1.9-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details
outerproduct_sdk-0.1.9-cp312-abi3-manylinux_2_28_aarch64.whl CPython 3.12 abi3 Linux glibc 2.28+ ARM64 Details
outerproduct_sdk-0.1.9-cp312-abi3-macosx_15_0_arm64.whl CPython 3.12 abi3 macOS 15.0+ ARM64 Details

Total release size: 26.1 MB

Release files / outerproduct_sdk-0.1.9.tar.gz

Download URL outerproduct_sdk-0.1.9.tar.gz
Size 1.2 MB
Tags Source
SHA-256 checksum
How to use checksums
9b3fd54b02716f525f79f8980542445dfd406493e7db694cf32ad4ac4028f30c
BLAKE2b-256 checksum
How to use checksums
e04ba14db837eaf3937da299aba08ffa690f63fe747e4a659f8efb5e8a43f8c2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / outerproduct_sdk-0.1.9-cp314-cp314t-manylinux_2_28_x86_64.whl

Download URL outerproduct_sdk-0.1.9-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
eaea45a25aedf86f4851eb678dfd774341d4e4a8074fca4fa72c6aac6c05a239
BLAKE2b-256 checksum
How to use checksums
244941bfa748f094f4eb492ebdba9754610435d78ede1b5432079eaa49045463
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / outerproduct_sdk-0.1.9-cp314-cp314t-manylinux_2_28_aarch64.whl

Download URL outerproduct_sdk-0.1.9-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
d877f58aa69c89cd98e5c28d686028d1d264a99ef0004e0ac732d14057effea8
BLAKE2b-256 checksum
How to use checksums
b5fa44685f7f0c51a97860511f4489bd9112ec800a3fb2aacd7f3007ba49e713
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / outerproduct_sdk-0.1.9-cp314-cp314t-macosx_15_0_arm64.whl

Download URL outerproduct_sdk-0.1.9-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
fc0c81cccd5a361d2a0677d7fb01653abb637c7dacb2862bd6bce25332a8fea8
BLAKE2b-256 checksum
How to use checksums
c2fdaafc3f83d74a064b4d1726f2707f9b8d548215dcb00bfa83582bd4c3b1d2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / outerproduct_sdk-0.1.9-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL outerproduct_sdk-0.1.9-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
0e47105eb54446f21555f4cf06aab4ebf0a5a99200fdfcaf120f1136e3d17a0b
BLAKE2b-256 checksum
How to use checksums
19a2535f8ec62a3f98cae0ded0a46b722a190f6babcf2167bac0033d366e48f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / outerproduct_sdk-0.1.9-cp312-abi3-manylinux_2_28_aarch64.whl

Download URL outerproduct_sdk-0.1.9-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
60c348807cd9f320bafc4940e87a7e89de4c96908e076fe0f874883a42fc26ca
BLAKE2b-256 checksum
How to use checksums
3e544aeefdfaf32c2b5fef4a1f3181e5b002e1ee557a4249b2b307698c58747a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / outerproduct_sdk-0.1.9-cp312-abi3-macosx_15_0_arm64.whl

Download URL outerproduct_sdk-0.1.9-cp312-abi3-macosx_15_0_arm64.whl
Size 4.0 MB
Tags CPython 3.12 abi3 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
482608d8d86e9dff0f0720e6407c06f61277a3a8e021dcae32585ab38bf67360
BLAKE2b-256 checksum
How to use checksums
f4a83f1c5da3a3b45d823adc500aa4ad33d0a6020b86cf46cb2a4fc1ca18cc5c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.1.17

7 release files

0.1.16

7 release files

0.1.12

6 release files

0.1.11

6 release files

0.1.10

6 release files

This release

0.1.9 This release

7 release files

0.1.7

5 release files

0.1.5

4 release files

0.1.4

4 release files

0.1.3

4 release files

0.1.0

4 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page