Skip to main content

ArmorIQ SDK

Build secure AI agents with cryptographic intent verification.

The ArmorIQ SDK enables developers to build AI agents with built-in security and auditability. Just one API key - no cloud complexity.


Why ArmorIQ?

  • Simple - Just one API key, no cloud credentials
  • Secure - Cryptographic verification for every action
  • Auditable - Complete execution trail
  • Fast - Get started in 5 minutes

Installation

pip install armoriq-sdk

CLI commands are also available after install:

armoriq --help

Quick Start

1. Get Your API Key

Visit platform.armoriq.ai to generate your API key.

2. Initialize the Client

from armoriq_sdk import ArmorIQClient

client = ArmorIQClient(
    api_key="ak_your_key_here",
    user_id="your-user-id",
    agent_id="your-agent-id"
)

Or load SDK settings from armoriq.yaml generated by the CLI:

from armoriq_sdk import ArmorIQClient

client = ArmorIQClient.from_config("armoriq.yaml")

3. Capture Your Plan

plan = {
    "goal": "Get weather forecast",
    "steps": [
        {
            "action": "get_weather",
            "tool": "weather_api",
            "inputs": {"city": "Boston"}
        }
    ]
}

plan_capture = client.capture_plan(
    llm="gpt-4",
    prompt="What's the weather in Boston?",
    plan=plan
)

4. Get Intent Token

token = client.get_intent_token(plan_capture)

5. Invoke Actions

result = client.invoke(
    mcp_name="weather-mcp",
    action="get_weather",
    intent_token=token,
    inputs={"city": "Boston"}
)

print(result)

Observability

The SDK emits one native OpenTelemetry span tree per agent run — traces, model calls, policy decisions, and tool/command execution — exported over OTLP protobuf. There is no separate JSON telemetry pipeline and no pipeline selector to configure; native OTel is the only path.

Choose one of three exporter destinations via ObservabilityOptions:

from armoriq_sdk import ArmorIQClient
from armoriq_sdk.models import ObservabilityOptions

# 1. ArmorIQ OTLP (default) — spans go to the ArmorIQ backend's
#    POST /v1/traces receiver, authenticated with your API key.
client = ArmorIQClient(
    api_key="ak_your_key_here",
    observability=ObservabilityOptions(exporter="armoriq"),
)

# 2. Generic external OTLP — send spans to any OTLP/HTTP collector
#    (an OpenTelemetry Collector, Langfuse, etc).
client = ArmorIQClient(
    api_key="ak_your_key_here",
    observability=ObservabilityOptions(
        exporter="external",
        endpoint="https://otel-collector.example.com/v1/traces",
    ),
)

# 3. Caller-owned tracer provider — the SDK uses your existing
#    TracerProvider and never mutates or shuts it down. Because the SDK
#    cannot attach its export-time policy re-check to a pipeline it does
#    not own, this mode is capped at `metadata`: prompts, completions,
#    tool arguments and tool results are never captured, whatever your
#    organization's lease allows.
client = ArmorIQClient(
    api_key="ak_your_key_here",
    observability=ObservabilityOptions(
        exporter="provider",
        tracer_provider=my_tracer_provider,
    ),
)

Per-session opt-out, without changing the exporter, via SessionOptions.observability_enabled=False.

Capture depth (off, metadata, enhanced, debug) is bounded by your organization's policy first; local settings can only lower it, never raise it. exporter="provider" lowers it further, to metadata at most.

Breaking change (0.7.0): the legacy in-memory JSON recorder/shipper pipeline, ObservabilityOptions.pipeline, and the ARMORIQ_OTEL_PIPELINE env var are removed. See CHANGELOG.md for the full list of removed APIs and their replacements.


Documentation

For complete documentation, visit docs.armoriq.ai



License

MIT License - see LICENSE file for details.

Download files

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

Source Distribution

armoriq_sdk_dev-0.7.0.tar.gz (218.1 kB view details)

Uploaded Source

Built Distribution

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

armoriq_sdk_dev-0.7.0-py3-none-any.whl (181.8 kB view details)

Uploaded Python 3

File details

Details for the file armoriq_sdk_dev-0.7.0.tar.gz.

File metadata

  • Download URL: armoriq_sdk_dev-0.7.0.tar.gz
  • Upload date:
  • Size: 218.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.14

File hashes

Hashes for armoriq_sdk_dev-0.7.0.tar.gz
Algorithm Hash digest
SHA256 28c374f55ca050d8155a764487e308de1670e4686c095bbac8843538a0dcc35f
MD5 5900799cfc1ce9d0b5907c428735f99e
BLAKE2b-256 2e39238aa9b95b968b4b78ac26d6bb76510570beba92620108c702c9acab88b7

See more details on using hashes here.

File details

Details for the file armoriq_sdk_dev-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: armoriq_sdk_dev-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 181.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.11.14

File hashes

Hashes for armoriq_sdk_dev-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f7e5d2d15e78ff2a75628867bfed0026cbb797615ed71208d0753b55d7d4a321
MD5 c799495446274989e0c1a3495657f7d1
BLAKE2b-256 13d231d2c551a2fc7b16275ee3a462410560f8c51d25425c0473612829e7438b

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.7.0 This release

2 files

0.6.10

2 files

0.6.9

2 files

0.6.7

2 files

0.6.6

2 files

0.6.5

2 files

0.6.4

2 files

0.6.3

2 files

0.6.2

2 files

0.6.0

2 files

0.5.3

2 files

0.5.2

2 files

0.5.1

2 files

0.5.0

2 files

0.4.4

2 files

0.4.3

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 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