This release is a pre-release and may not be stable for production use.
Holon Python SDK
This repository contains the Python runtime for holon.
Install
uv add --prerelease allow holon-sh
uv add --dev holon-types
holon-types is the holon CLI; it brings mypy, which holon types check runs from the project's environment.
Invoking MCP Servers
The Holon Python SDK allows generation of type-safe MCP clients. See Example for an explanation, or Dependencies to understand dependency resolution.
Type-checking MCP invocations
uv run holon types check
Call a tool
from holon.apps import apps
async def greet(name: str) -> str:
greeting = await apps.bar.tools.greet({"timeout": 5.0}, name=name)
return greeting["result"]
Arguments are keywords, validated before sending; the result is validated against the output schema and returned.
Handle errors
from holon.client import ToolCallError
try:
await apps.bar.tools.greet(name="world")
except ToolCallError as error:
error.code # "tool_error" or "input_required"
error.result # the original MCP result
Read the whole result
call_tool returns the full MCP result instead of raising:
result = await apps.bar.call_tool("greet", name="world")
if result.result_type == "input_required":
... # call again with input_responses and request_state
elif result.is_error:
... # inspect result.content
else:
result.structured_content # typed as Outputs.bar.greet
The options dict also accepts input_responses, request_state and meta.
Serve an MCP App view
holon.view.app_view registers a built HTML file as an MCP App resource:
from holon.view import app_view
server.add_resource(app_view(
"ui://foo/index.html", "Foo", "dist/index.html",
connect_domains=["https://bar.example.com"],
))
The page itself uses holon-ui.
Metadata
Release files for holon-sh 0.0.1.dev3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| holon_sh-0.0.1.dev3.tar.gz | 11.8 kB | Without provenance | Details for holon_sh-0.0.1.dev3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| holon_sh-0.0.1.dev3-py3-none-any.whl | Python 3 | none | any | Details for holon_sh-0.0.1.dev3-py3-none-any.whl |
Total release size: 19.7 kB
Release files / holon_sh-0.0.1.dev3.tar.gz
| Download URL | holon_sh-0.0.1.dev3.tar.gz |
|---|---|
| Size | 11.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
88cd46d740f45369648f2704bcb3599f2b4970e4cba8582b9a0bbd9a26ca8f79
|
|
BLAKE2b-256 checksum How to use checksums |
99a65ba06f443f5a2c5762e9690db885ec34d13ba4338ebdcd47f7a457225d46
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / holon_sh-0.0.1.dev3-py3-none-any.whl
| Download URL | holon_sh-0.0.1.dev3-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6223c4d3d32907f0b4b6b6110aa4cd2440256e9562104bdaad39c3569152d612
|
|
BLAKE2b-256 checksum How to use checksums |
e774ae35ecbc1675cc429028564f66806ee69f591cf234648f12cadceefeefcd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.13.5 {"installer":{"name":"uv","version":"0.13.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"26.04","id":"resolute","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for holon-sh 0.0.1.dev3
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.