AXIS SDK
Version: 0.3.0 Status: Production Ready License: MIT
Purpose
The axis-sdk is a zero-dependency boundary layer that defines contracts between AXIS components.
✅ Included
- Protocol definitions (
typing.Protocol) - Type definitions (
pydantic.BaseModel) - Interface contracts for:
- Agents (
AgentProtocol) - Orchestrators (
OrchestratorProtocol) - Telemetry (
TelemetryProtocol) - Ledger (
LedgerProtocol) - Skills (
SkillProtocol) - Reasoning (
ReasoningProtocol)
- Agents (
❌ Excluded
- Business logic
- Runtime implementations
- Side effects (I/O, network, database)
- External dependencies (except
pydanticfor validation)
Installation
pip install axis-sdk
Quick Start
from axis_sdk.protocols import AgentProtocol
from axis_sdk.types import AgentConfig
# Define your agent implementing the protocol
class MyAgent:
"""Custom agent implementation."""
def __init__(self, config: AgentConfig):
self.config = config
@property
def agent_id(self) -> str:
return self.config.agent_id
def validate_invocation(self, context: dict) -> bool:
"""Validate if agent can handle this invocation."""
return True
def run(self, task: str, context: dict) -> tuple:
"""Execute the agent task."""
result = {"status": "completed", "output": "Task done"}
tokens_used = 150
metadata = {"model": "gemini-2.0-flash"}
return True, result, tokens_used, metadata
API Reference
Protocols
AgentProtocol
from axis_sdk.protocols import AgentProtocol
@runtime_checkable
class AgentProtocol(Protocol):
@property
def agent_id(self) -> str: ...
def validate_invocation(self, context: Dict[str, Any]) -> bool: ...
def run(self, task: str, context: Dict[str, Any]) -> Tuple[bool, Any, int, Dict]: ...
OrchestratorProtocol
from axis_sdk.protocols import OrchestratorProtocol
@runtime_checkable
class OrchestratorProtocol(Protocol):
def route_task(self, task: str, context: Dict[str, Any]) -> str: ...
def execute_agent(self, agent_id: str, task: str, context: Dict[str, Any]) -> Dict: ...
Types
AgentConfig
from axis_sdk.types import AgentConfig
config = AgentConfig(
agent_id="my-agent",
model="gemini-2.0-flash",
temperature=0.7,
max_tokens=1000
)
Development
Install Dev Dependencies
pip install -e ".[dev]"
Run Tests
pytest
Run Linter
ruff check axis_sdk
Run Type Checker
mypy axis_sdk
License
MIT License - See LICENSE file.
Links
- GitHub: https://github.com/emilyveigaai/axis-sdk
- PyPI: https://pypi.org/project/axis-sdk/
- Issues: https://github.com/emilyveigaai/axis-sdk/issues
- Documentation: https://github.com/emilyveigaai/axis-sdk#readme
Part of AXIS Migration Project Separated from monorepo: https://github.com/emilyveigaai/AXIS
Metadata
Release files for axis-sdk 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| axis_sdk-0.3.1.tar.gz | 10.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| axis_sdk-0.3.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 22.2 kB
Release files / axis_sdk-0.3.1.tar.gz
| Download URL | axis_sdk-0.3.1.tar.gz |
|---|---|
| Size | 10.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e7210d11832487582e8debee64860fff2b0a7ae118a8d478453b1cc448311d75
|
|
BLAKE2b-256 checksum How to use checksums |
8e200bb6fabac9eab031f9fcbeecfa8e329e2b301ab274596a00ec13c883cd60
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|
Release files / axis_sdk-0.3.1-py3-none-any.whl
| Download URL | axis_sdk-0.3.1-py3-none-any.whl |
|---|---|
| Size | 11.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ba97e5a776461fd7fd9e7b5001b4104b3c63117e01349061522026d50552ff94
|
|
BLAKE2b-256 checksum How to use checksums |
999b35816f44d82e7aad6d0683f3f742a149d9376203fdb674659cec9a985356
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.0
|