Skip to main content

Python SDK for [Tenuo Cloud](https://cloud.tenuo.ai) - managed approval workflows, audit logging, and policy enforcement for warrant-authorized tool calls.

Project description

tenuo-cloud

Python SDK for Tenuo Cloud - managed approval workflows, audit logging, and policy enforcement for warrant-authorized tool calls.

tenuo-cloud sits on top of the open-source tenuo core SDK and adds:

  • Cloud-hosted approval gates - create requests, poll for resolution, receive SignedApproval objects automatically
  • Framework adapters - drop-in support for Temporal, LangGraph, and MCP
  • HTTP client - typed sync/async client for the Tenuo Cloud REST API
  • Policy-driven approvers - fetch trusted approver keys from your Tenuo Cloud policy

Installation

Published to PyPI as a proprietary, compiled wheel. During beta, pass --pre:

pip install --pre "tenuo[cloud]>=0.2.0"          # recommended once tenuo core ships the cloud extra
pip install --pre "tenuo-cloud>=0.2.0"           # direct install (works today)
pip install --pre "tenuo-cloud[temporal]"        # + Temporal integration
pip install --pre "tenuo-cloud[langgraph]"       # + LangGraph integration
pip install --pre "tenuo-cloud[fastmcp]"         # + MCP / FastMCP integration

Until tenuo[cloud] lands in the open-source tenuo package, use tenuo-cloud directly. See docs/TENUO_CORE_INTEGRATION.md for the core extra wiring.

Tenuo contributors can still install editable source from this monorepo:

pip install -e "sdk/python[dev]"

Quick start

Temporal

# Worker: change the import - nothing else
from tenuo.temporal import TenuoTemporalPlugin
from tenuo_cloud.temporal import TenuoPluginConfig  # cloud-aware drop-in

plugin = TenuoTemporalPlugin(
    TenuoPluginConfig.from_env(activity_fns=activities)
)
client = await Client.connect("localhost:7233", plugins=[plugin])

from_env() reads TENUO_ISSUER_KEY, derives trusted_roots automatically, and - when TENUO_API_KEY is set - wires the cloud approval handler and control plane with no extra config.

LangGraph

# Change the import - nothing else
from tenuo_cloud.langgraph import TenuoMiddleware

agent = create_react_agent(
    ChatOpenAI(model="gpt-4.1"),
    tools=[my_tool],
    middleware=[TenuoMiddleware()],
)

MCP

# Change the import - nothing else
from tenuo_cloud.mcp import SecureMCPClient

async with SecureMCPClient("python", ["server.py"]) as client:
    result = await client.call_tool("transfer", {"amount": 5000})

Standalone (any framework)

from tenuo import guard
from tenuo_cloud import cloud_approval

handler = cloud_approval(
    api_key=os.environ["TENUO_API_KEY"],
    signing_key=holder_signing_key,  # or rely on key_scope() when bound
)

@guard(tool="transfer", approval_handler=handler)
def transfer(amount: int, to: str): ...

Quick Connect

from tenuo_cloud import connect, doctor

report = doctor()          # checks config, Cloud reachability, auth, and claim readiness
report.raise_for_error()   # fail fast in setup scripts

client = connect(verify=True)  # reads TENUO_CONNECT_TOKEN and returns a ready API client

Staging smoke test

export TENUO_API_KEY=tc_...
python scripts/staging_approval_smoke.py

Closed wheel build

The customer-distributed tenuo-cloud package is built as a compiled, platform-specific wheel. The public tenuo_cloud/__init__.py shim and py.typed marker are included, while implementation modules are compiled into native extensions.

python -m pip install -e ".[closed-build]"
python scripts/build_closed_wheel.py --out-dir dist/closed
python scripts/check_closed_wheel.py dist/closed/*.whl

Environment variables

Variable Required Description
TENUO_API_KEY Yes API key (tc_...) from the Tenuo Cloud dashboard
TENUO_ISSUER_KEY Worker Hex-encoded Ed25519 signing key; from_env() reads this to derive trusted_roots automatically
TENUO_CONTROL_PLANE_URL No Control plane URL (default: https://api.tenuo.ai). No /v1 suffix needed - the SDK normalizes automatically.
TENUO_DASHBOARD_URL No Dashboard URL for approval links (default: https://cloud.tenuo.ai)
TENUO_APPROVAL_TIMEOUT No Seconds to wait for human approval (default: 900)
TENUO_TRUSTED_ROOTS Server-side Space-separated hex Ed25519 public keys of trusted warrant issuers

Modules

Module Entry point Description
tenuo_cloud cloud_approval, async_cloud_approval Framework-agnostic approval handlers
tenuo_cloud.temporal TenuoPluginConfig (drop-in), TenuoPlugin (re-export) Drop-in config with auto-wired cloud fields
tenuo_cloud.langgraph TenuoMiddleware (drop-in), TenuoToolNode (drop-in), langgraph_cloud_approval Drop-in middleware with auto-wired cloud approvals
tenuo_cloud.mcp SecureMCPClient, CloudMCPApprovalClient, with_cloud_approval Drop-in MCP client with automatic approval resolution
tenuo_cloud.client TenuoCloudClient, AsyncTenuoCloudClient Typed HTTP client for the REST API
tenuo_cloud.exceptions TenuoCloudError, AuthenticationError, ApprovalDeniedError, ... Structured error hierarchy

With vs. without tenuo-cloud

You can always use the open-source tenuo core SDK directly and call the Tenuo Cloud REST API yourself. tenuo-cloud eliminates the boilerplate:

Concern Core SDK only With tenuo-cloud
Approval handler ~40 lines: POST request, poll loop, hex/base64 parsing cloud_approval(api_key=...) - one call
Temporal worker Manual: handler, ControlPlaneClient wiring Change the import: from tenuo_cloud.temporal import TenuoPluginConfig
MCP client Catch -32002, extract hash, POST, poll, re-submit Change the import: from tenuo_cloud.mcp import SecureMCPClient
LangGraph Implement async handler, manage httpx lifecycle Change the import: from tenuo_cloud.langgraph import TenuoMiddleware
URL handling Must include /v1 in all API paths Auto-normalized; https://api.tenuo.ai works
401 errors Raw HTTP error AuthenticationError naming TENUO_API_KEY
Unreachable API Raw httpx traceback TenuoCloudError naming the URL

Documentation

License

Proprietary - see LICENSE. The open-source tenuo core SDK is licensed separately.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

tenuo_cloud-0.2.0b2-cp313-cp313-win_amd64.whl (619.4 kB view details)

Uploaded CPython 3.13Windows x86-64

tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tenuo_cloud-0.2.0b2-cp313-cp313-macosx_11_0_universal2.whl (645.0 kB view details)

Uploaded CPython 3.13macOS 11.0+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp313-cp313-macosx_10_13_universal2.whl (732.6 kB view details)

Uploaded CPython 3.13macOS 10.13+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp312-cp312-win_amd64.whl (621.8 kB view details)

Uploaded CPython 3.12Windows x86-64

tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tenuo_cloud-0.2.0b2-cp312-cp312-macosx_11_0_universal2.whl (651.6 kB view details)

Uploaded CPython 3.12macOS 11.0+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp312-cp312-macosx_10_13_universal2.whl (736.5 kB view details)

Uploaded CPython 3.12macOS 10.13+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp311-cp311-win_amd64.whl (634.4 kB view details)

Uploaded CPython 3.11Windows x86-64

tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tenuo_cloud-0.2.0b2-cp311-cp311-macosx_11_0_universal2.whl (663.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp311-cp311-macosx_10_9_universal2.whl (741.0 kB view details)

Uploaded CPython 3.11macOS 10.9+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp310-cp310-win_amd64.whl (635.0 kB view details)

Uploaded CPython 3.10Windows x86-64

tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tenuo_cloud-0.2.0b2-cp310-cp310-macosx_15_0_x86_64.whl (750.6 kB view details)

Uploaded CPython 3.10macOS 15.0+ x86-64

tenuo_cloud-0.2.0b2-cp310-cp310-macosx_11_0_universal2.whl (671.0 kB view details)

Uploaded CPython 3.10macOS 11.0+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp310-cp310-macosx_10_9_universal2.whl (1.4 MB view details)

Uploaded CPython 3.10macOS 10.9+ universal2 (ARM64, x86-64)

tenuo_cloud-0.2.0b2-cp39-cp39-win_amd64.whl (638.9 kB view details)

Uploaded CPython 3.9Windows x86-64

tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (4.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

tenuo_cloud-0.2.0b2-cp39-cp39-macosx_13_0_x86_64.whl (754.5 kB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

tenuo_cloud-0.2.0b2-cp39-cp39-macosx_11_0_universal2.whl (675.8 kB view details)

Uploaded CPython 3.9macOS 11.0+ universal2 (ARM64, x86-64)

File details

Details for the file tenuo_cloud-0.2.0b2-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 135605c2c0a86b30fcc17c9a64c9b8193098b857dcc600a599744a457033de3e
MD5 ad90a7afb00346f14ed0614e8442a4be
BLAKE2b-256 48f29701002fecd6925f18fcef505a6585a435686efabb2e3bbc959577d4743e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp313-cp313-win_amd64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1b47496838a621d9c60565bc78ed3ea41760b595d2fd6ebd685d8d84260a7b1a
MD5 a61a85dfcb33576c865603adcf534347
BLAKE2b-256 8758d72565a338085e9526f6564cf844e2c21c74e4293b46d378f3aa8e026726

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 67dbb441fed53b88a08a61ede2e0fff0cc86ffd571b6d8dfd113c5ce823e8741
MD5 0d334d3e33b5065a7c1b8618113d9d0a
BLAKE2b-256 7400770970253c506f86d2fc98c9c7aebd0f3f20f0d82d47c070c50bb1a2721a

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp313-cp313-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp313-cp313-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 c5be990a3b42ad81af9cc9fa33939759bf321a0cc39076810d92dd74767bdcd7
MD5 c61fa67d4aa9a908ca790f7614b7e9be
BLAKE2b-256 ec81f79e56d49e201f4a270611e8a8d741ac21ae2944ccd22a4dc1c8c771bedf

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp313-cp313-macosx_11_0_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 612157adcf81683c470c133a0abc5e26fc4fa5ab496671574e1a319a9b4429d5
MD5 400529c5c347d0654e26acd25c93e387
BLAKE2b-256 3cc252f66ee0a43d3affcc6b2a094ca73a4ca61fb4202d6b53f3a44f6d3e9583

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp313-cp313-macosx_10_13_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bac94e6c38c9a3e933d42017a006dfeb08e6a950c04acad77ffe75e56c675eb7
MD5 86d4f44b0cfbf38d8ac97ebb976e0da9
BLAKE2b-256 7795e7303f926ef1d1eb2b2ad531f10113021b7dc0de7fbd6bff1ffd71feb14e

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp312-cp312-win_amd64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dc86fcf8b691bca92ec15482b940c3347facf27618614ac63b0929ce7fe4fef9
MD5 8156a2ca41167d1a6a1aff32465b54e4
BLAKE2b-256 feb0381bd24c90dce77b442afe8ed4620f162c2adccfc46d8a3029673cb8afae

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 99ac876f26e65f099e2f955401ab383c7dfaa54a18d6b0d7c9b1f804c69b7176
MD5 d9e035a483b17f05cd27ad6bd649f0f2
BLAKE2b-256 9283ddb4087823d4ec512c9c54b030d3b66b5d6f0a2cde443d6ada884fe524aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp312-cp312-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp312-cp312-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 32c68104ae8159ebe5d9339ab76b780bed0c9ae22190c883982eb965b8681331
MD5 0978ac1745e3cb20dc964b03edfa38e7
BLAKE2b-256 30d65a257c4855e7d1d77386361020a8306ca19078f84f77421446adf04796be

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp312-cp312-macosx_11_0_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 337121bc87c7ee9234fc7a2537ca682bc924e1e9dbf6e128705d7632269d2066
MD5 f1fac4c71c2d69dbc80f617c539b691f
BLAKE2b-256 0887415a8b72d3e72db7bcd3f3f622051b629cc4124e4cc37f186b2c48d45354

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp312-cp312-macosx_10_13_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 be2835910750903eb2232dcf6e337d9052957bf5bd8f70e744c9db0f645c1bdd
MD5 1774bc5e1ba988b8d4baaca13199712b
BLAKE2b-256 0b8564c01588290f4ceb2e926d40e12fd41c1401e9b5a3998c686476e1859651

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp311-cp311-win_amd64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a0c7107ec75b15dc82f86b348d656b009b5df1c44da1c0a8f1b6a714703400cb
MD5 a39a8516e5082d451288b9e918368b50
BLAKE2b-256 f18bd690401647b0ce1e456c439a753a1d73e24036ebf21d087b6b5208a0f7ee

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e7ac3c2d80ec7fd89b9668114136eb3c2ecfa9e58da6167c0a8b5a751bc3fbd6
MD5 b2d37e03810fefbc14c93007d125d5de
BLAKE2b-256 44b2c2c820b0368744966c3ea2503a8367213304e8e39889ab907886a6db15d9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp311-cp311-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp311-cp311-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 52fb5918494868ab04ed0553663c8c717564df5d1ccd76cac58318c529f982ee
MD5 f4797ab904ca3bd7e13f7c9f1136131d
BLAKE2b-256 7a5e3766752ead81783bafb4ebc5be16721a9e9ebc2297cc7437ea7acfde0f13

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp311-cp311-macosx_11_0_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 c091e4ed9ee13843419008db979677c617774fbdfeb54f18e88a2d73457419bb
MD5 a4424d5972cbaad8e8e09f118f3c4f64
BLAKE2b-256 b6964be82635c10b9c7667567cd18d05a8942a80a10611d95d00d14c024d074b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp311-cp311-macosx_10_9_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1b37a82fb9ac1edf26e62f4904cee256683a744fddebf25687cbbb254c326e2b
MD5 546a3daa5ebe3e0de4847adaaf42255e
BLAKE2b-256 a6fdf2a5380fdc0efda81f099731553147bfd4ec3699f6a19c53e7e8e1e77323

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp310-cp310-win_amd64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bbae9da3824f055b82a2f251eb6ff12dc5dca6e3870d49f80963d54e4f88f86c
MD5 2b911ba4b7391260fbe99449c30875f1
BLAKE2b-256 349e6ab3297b2b5b7dd530eda2fa7e0e8c919a7fa26fb82ab766753231c963e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 cb5437c0b69f7c8977c0fd7b999ef319b689ba64e4e65fd35535618e747dc191
MD5 83898123d6c9bf18f04eade300a579a5
BLAKE2b-256 3503620626c497deedc651ae7ebb2065c9e2e3f66f3007a48b45a568626dc7bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp310-cp310-macosx_15_0_x86_64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp310-cp310-macosx_15_0_x86_64.whl
Algorithm Hash digest
SHA256 b3baec74778b4eb68ca72efbef9e339a17ebc04ff8a13d08f479f7381c212027
MD5 1b6fecbb611ee12748838ef1abdabed4
BLAKE2b-256 f817e2acf431528b25121189043385ba5c698a159f84aea116d7800dcc698977

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp310-cp310-macosx_15_0_x86_64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp310-cp310-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp310-cp310-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 496352525e644d4951bf1feb6200aeba73da5c307ee8ffb6d8ef3928b91c960d
MD5 d4764885874d3f4314c735eb2d173dcd
BLAKE2b-256 7e6d73b165069c0f8359ce35a8523842f4003932a2a2e45ea04e1dee4e408db1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp310-cp310-macosx_11_0_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 67e139f808065a53c8ca45e7fc98d0ce6124b26a6149add4a04699778ad51479
MD5 85ece0037e99acdcab61d263672d840e
BLAKE2b-256 7bb03d0f852fd7b39b92644a96db6cb367cd9989306f957344e3bc5afc10ae82

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp310-cp310-macosx_10_9_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 b3364e147971f4b8f7a0a3d57065dfa114f0869c799958b53736378b6b09725d
MD5 3cda75fceae2bcebef494d5266950ec7
BLAKE2b-256 a16c5afe289ce302ccc1fe908b92ea5710d888e5a16a1a25bbb9c690661e016b

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp39-cp39-win_amd64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b966e470380b6603a3e4e46b149457c32dd9e4aac2dd3fe0af8e11a42fe4f88c
MD5 657fe211df7818fad6b424b64d697ad0
BLAKE2b-256 82e41abfae576adf909b3839e7032461aa8afa8d648eae2a6c9a65b9e267652f

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dabd609b3f50a4013d0eab7cbf8ff30c5452a127ac922f9db25040246757bf2b
MD5 aedf2d2594dee1861f7f5f58387f4479
BLAKE2b-256 987b6ff6cd8c7fb2d536f8a3f8dd4a27a47373ad141c208f8c1c73067e37c4d1

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d03aa9c4f61bf67c940d94e39b814f3b068d273ca57a2870e4b4bcded827137e
MD5 25d5c7b6a29e1ce44058d98ab9647e2d
BLAKE2b-256 2fb8e69e24cb0a69a025911a852b251c9b94bce2e2c21dd0cab3bf6d318229ca

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp39-cp39-macosx_13_0_x86_64.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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

File details

Details for the file tenuo_cloud-0.2.0b2-cp39-cp39-macosx_11_0_universal2.whl.

File metadata

File hashes

Hashes for tenuo_cloud-0.2.0b2-cp39-cp39-macosx_11_0_universal2.whl
Algorithm Hash digest
SHA256 225d6bb338cc4a6a84ecf1c8d2d8499efd00621bc78f25d45ac3133b2d241cf5
MD5 d8d47ec670884730dc7a42bcc4c65715
BLAKE2b-256 dfde895b8f2c6399f5fbd4dd04279746de2a7eaa8fa40761dc8ccfc75a92165d

See more details on using hashes here.

Provenance

The following attestation bundles were made for tenuo_cloud-0.2.0b2-cp39-cp39-macosx_11_0_universal2.whl:

Publisher: publish-sdk.yml on tenuo-ai/tenuo-cloud

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 Pingdom Monitoring Sentry Error logging StatusPage Status page