Skip to main content

Axiomeer Python SDK

PyPI version Python License

Official Python client for the Axiomeer AI Agent Marketplace.

Discover and execute tools, APIs, RAG systems, datasets, and more through natural language.

Installation

pip install axiomeer

Or install from source:

git clone https://github.com/ujjwalredd/axiomeer.git
cd axiomeer/sdk/python/
pip install -e .

Quick Start

from axiomeer import AgentMarketplace

# Initialize client with your API key
marketplace = AgentMarketplace(api_key="axm_your_api_key_here")

# Shop for a tool using natural language
result = marketplace.shop("I need to get weather information")

# Execute the selected tool
execution = result.execute(marketplace, location="New York")

print(f"Weather: {execution.result}")

Authentication

Get your API key from Axiomeer:

# Option 1: Pass directly
marketplace = AgentMarketplace(api_key="axm_xxx")

# Option 2: Use environment variable
import os
os.environ["AXIOMEER_API_KEY"] = "axm_xxx"
marketplace = AgentMarketplace()  # Auto-loads from env

Usage Examples

Basic Shopping

# Find a tool for your task
result = marketplace.shop("I need to send SMS messages")

print(f"Selected: {result.selected_app.name}")
print(f"Reasoning: {result.reasoning}")
print(f"Confidence: {result.confidence:.2%}")

# Execute the tool
execution = result.execute(
    marketplace,
    to="+1234567890",
    message="Hello from Axiomeer!"
)

if execution.success:
    print(f"Success! Result: {execution.result}")
else:
    print(f"Failed: {execution.error}")

Advanced Shopping with Filters

# Shop with specific requirements
result = marketplace.shop(
    task="I need weather data",
    required_capabilities=["real-time", "global"],
    excluded_providers=["unreliable-weather"],
    max_cost_usd=0.01
)

# Check alternatives
for alt in result.alternatives:
    print(f"Alternative: {alt.name} by {alt.provider}")

Direct Execution

# Execute a tool directly by app_id
execution = marketplace.execute(
    app_id="weather-api-openweather",
    params={"location": "San Francisco", "units": "metric"}
)

print(execution.result)

List Available Apps

# Browse marketplace
apps = marketplace.list_apps(category="weather", limit=10)

for app in apps:
    print(f"{app.name}: {app.description}")
    print(f"  Provider: {app.provider}")
    print(f"  Capabilities: {', '.join(app.capabilities)}")
    print()

Error Handling

from axiomeer import (
    AgentMarketplace,
    AuthenticationError,
    RateLimitError,
    ExecutionError
)

try:
    marketplace = AgentMarketplace(api_key="axm_xxx")
    result = marketplace.shop("I need to process images")
    execution = result.execute(marketplace, image_url="https://example.com/photo.jpg")

except AuthenticationError:
    print("Invalid API key")
except RateLimitError as e:
    print(f"Rate limit exceeded. Retry after {e.retry_after} seconds")
except ExecutionError as e:
    print(f"Tool execution failed: {e}")
    print(f"Details: {e.details}")

API Reference

AgentMarketplace

Main client for interacting with Axiomeer.

__init__(api_key, base_url, timeout)

  • api_key (str): Your Axiomeer API key
  • base_url (str, optional): API base URL (default: http://localhost:8000)
  • timeout (int, optional): Request timeout in seconds (default: 30)

shop(task, required_capabilities, excluded_providers, max_cost_usd)

Find the best tool for your task.

Returns: ShopResult

execute(app_id, params)

Execute a tool with given parameters.

Returns: ExecutionResult

list_apps(category, search, limit)

List available applications.

Returns: List[AppListing]

health()

Check API health status.

Returns: Dict[str, Any]

Models

ShopResult

Result from shopping for a tool.

Attributes:

  • selected_app (AppListing): The recommended tool
  • reasoning (str): Why this tool was selected
  • confidence (float): Confidence score (0.0 - 1.0)
  • alternatives (List[AppListing]): Alternative tools

Methods:

  • execute(marketplace, **params): Execute the selected tool

ExecutionResult

Result from executing a tool.

Attributes:

  • success (bool): Whether execution succeeded
  • result (Any): The execution result
  • app_id (str): Tool that was executed
  • execution_time_ms (float): Execution time
  • cost_usd (float): Cost in USD
  • error (str): Error message if failed

AppListing

Represents a tool in the marketplace.

Attributes:

  • app_id (str): Unique identifier
  • name (str): Tool name
  • description (str): Tool description
  • provider (str): Provider name
  • capabilities (List[str]): List of capabilities
  • trust_card (Dict): Trust and security information
  • category (str): Tool category
  • uptime (float): Uptime percentage

Environment Variables

  • AXIOMEER_API_KEY: Your API key (alternative to passing it directly)
  • AXIOMEER_BASE_URL: Custom API base URL (default: http://localhost:8000)

Support

License

MIT License - see LICENSE for details.

Metadata

Release files for axiomeer 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for axiomeer 0.2.1
File Size Uploaded Provenance
axiomeer-0.2.1.tar.gz 11.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for axiomeer 0.2.1
File Interpreter ABI Platform
axiomeer-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 21.3 kB

Release files / axiomeer-0.2.1.tar.gz

Download URL axiomeer-0.2.1.tar.gz
Size 11.1 kB
Tags Source
SHA-256 checksum
How to use checksums
7fef7db46ed44bbb3042790cdfdf3b0dbf8c68ad220d44f49f46c9f7335ee8dd
BLAKE2b-256 checksum
How to use checksums
ee80e8a1b4aa8afc7c0ba216222d94b2ba201f891fb80345948a330e66c4c482
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Release files / axiomeer-0.2.1-py3-none-any.whl

Download URL axiomeer-0.2.1-py3-none-any.whl
Size 10.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8b8b5015d779caf3411a71e1e3890d0402d7ccf17c6d9ae12801d5eefb04d896
BLAKE2b-256 checksum
How to use checksums
b5031c9486fb1fd1dfbb0f93e52a9cf8899f26c940a71446dce9ff29ceb8d0e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.0

Security for axiomeer 0.2.1

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.

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