tenaxisos-sdk
Python SDK and CLI for building, testing, signing, and publishing TenaxisOS packages — agents, MCP servers, and playbooks that install into a TenaxisOS kernel and can be shared through the Tenaxis Hub.
What this is
tenaxisos-sdk is the toolkit for building community capabilities for
TenaxisOS:
- Author agents and MCP servers as plain Python, using
AgentandMCPServerbase classes with host-brokered LLM/tool/file access — no network calls, secrets, or infrastructure of your own to manage. - Test locally against
LocalMockHost, a fake host that lets you drive and assert on agent/tool behavior entirely offline. - Build a signed, versioned package manifest from your code.
- Publish to the Tenaxis Hub (or import straight into a kernel you control for local development) so others can discover and install it.
Getting started
The fastest way in is
examples/ — three runnable,
heavily-commented examples, one per authoring surface (native agent, MCP
server, LangChain framework adapter). Each has its own tests you can run
immediately, no kernel or network required:
pip install -e ".[dev,mcp,langchain]"
pytest examples/minimal_text_agent/test_agent.py -v
See
examples/README.md
for which one to start with.
Documentation
Prose tutorials — go here once you know which capability you're building and want more depth than the examples give:
- Writing a native agent
- Writing an MCP server
- Local testing with
LocalMockHost - Publishing and installing
- Runtime permission outcomes
What this contains
| Directory | Purpose |
|---|---|
src/tenaxisos_sdk/core/ |
Manifest validation, JSON Schema loading, Ed25519 signing/verification |
src/tenaxisos_sdk/agents/ |
Agent/RunContext/Finding authoring surface, manifest generation |
src/tenaxisos_sdk/host/ |
The host-brokered contract (Host protocol, ToolOutcome) every agent runs against |
src/tenaxisos_sdk/testing/ |
LocalMockHost — no-kernel local test host |
src/tenaxisos_sdk/tools/ |
Tool/MCPServer authoring surface, MCP manifest generation, [mcp] extra for the real stdio protocol bridge |
src/tenaxisos_sdk/cli/ |
The tenaxis CLI: validate, build, sign, verify, test, publish, import, keygen, run, agent build, mcp init/test/build, workflow import |
src/tenaxisos_sdk/runtime/adapters/ |
Agent framework adapters (LangChain today, [langchain] optional extra) |
src/tenaxisos_sdk/importers/ |
External-workflow importers (n8n today) used by tenaxis workflow import |
tenaxisos-sdk is published on PyPI:
https://pypi.org/project/tenaxisos-sdk/. Version 0.2.3 is the current
package release; 0.2.0 remains the SDK API contract version.
Prerequisites
- Python 3.11 or 3.12.
- No database, no server, no
.envfile — the CLI is stateless and takes everything (hub URL, API keys, key paths) as command-line flags.
Installation
python3 -m venv .venv && source .venv/bin/activate # optional but recommended
pip install tenaxisos-sdk
tenaxis --help
Install optional extras only when needed:
pip install "tenaxisos-sdk[langchain]" # LangChain agent adapter
pip install "tenaxisos-sdk[mcp]" # run MCP servers as real stdio processes
For local development against this checkout, use an editable install:
pip install -e ".[dev,mcp,langchain]"
The optional extras are kept separate so the base SDK never requires heavy adapter-specific dependencies.
Everyday usage
tenaxis keygen # once — generates an Ed25519 signing key pair
tenaxis validate <manifest.json> # schema + structural validation
tenaxis test <manifest.json> # runs the package's declared tests
tenaxis build <manifest-dir> --out <out.package.json> # produces a distributable package artifact
tenaxis sign <manifest.json> --key <private-key-path> # signing ceremony (human-reviewed, not run in CI)
tenaxis verify <manifest.json> --pubkey <public-key-b64> [--require]
tenaxis publish <manifest.json> --hub <hub-url> --api-key <publisher-api-key>
tenaxis import <n8n-export.json> --out <package-dir> # n8n → native workflow package
tenaxis keygen writes your private signing key to disk (permissions locked
to owner-only) — keep it out of version control and treat it like any other
private key material; the CLI never transmits or stores it for you.
Tests
pip install -e ".[dev]"
pytest tests/ -v
ruff check src/ tests/
License
MIT — see LICENSE.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tenaxisos_sdk-0.2.3.tar.gz.
File metadata
- Download URL: tenaxisos_sdk-0.2.3.tar.gz
- Upload date:
- Size: 84.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afe41e880fad7525d3ed38b4eab845a337c433cb8026e8834f9da47e30e2ce43
|
|
| MD5 |
96cf97e7b5a6817ead00b56af19d541e
|
|
| BLAKE2b-256 |
67a51cce8d7880b812765d12fd4191cff53b60662743ce04d1849040724fb6bd
|
Provenance
The following attestation bundles were made for tenaxisos_sdk-0.2.3.tar.gz:
Publisher:
release.yml on Tenaxisai/tenaxisos-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tenaxisos_sdk-0.2.3.tar.gz -
Subject digest:
afe41e880fad7525d3ed38b4eab845a337c433cb8026e8834f9da47e30e2ce43 - Sigstore transparency entry: 2487878242
- Sigstore integration time:
-
Permalink:
Tenaxisai/tenaxisos-sdk@99d16322a7ef6c995af156cb32942b3e05580b7f -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/Tenaxisai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@99d16322a7ef6c995af156cb32942b3e05580b7f -
Trigger Event:
push
-
Statement type:
File details
Details for the file tenaxisos_sdk-0.2.3-py3-none-any.whl.
File metadata
- Download URL: tenaxisos_sdk-0.2.3-py3-none-any.whl
- Upload date:
- Size: 71.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
79b4c06464471d994fac630e7f8550c647bef16900819095aa1734ebd1ca0dda
|
|
| MD5 |
8b9c309161a636875f7c1d1965620088
|
|
| BLAKE2b-256 |
597b14ab9a1e7aa4ec235c8741aa5e8e6a4de4e3ea9d799258e71953e4b4ab33
|
Provenance
The following attestation bundles were made for tenaxisos_sdk-0.2.3-py3-none-any.whl:
Publisher:
release.yml on Tenaxisai/tenaxisos-sdk
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tenaxisos_sdk-0.2.3-py3-none-any.whl -
Subject digest:
79b4c06464471d994fac630e7f8550c647bef16900819095aa1734ebd1ca0dda - Sigstore transparency entry: 2487878936
- Sigstore integration time:
-
Permalink:
Tenaxisai/tenaxisos-sdk@99d16322a7ef6c995af156cb32942b3e05580b7f -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/Tenaxisai
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@99d16322a7ef6c995af156cb32942b3e05580b7f -
Trigger Event:
push
-
Statement type: