Skip to main content

AI Agent Name Service SDK

Project description

AGNS Python SDK

A lightweight Python SDK for interacting with the Agent Name Service (AGNS). This library allows you to look up and communicate with language agents via a clean and simple interface.


Installation

Install the latest version from PyPI:

pip install agns

For local development:

git clone https://github.com/coffer-id/agent-platform.git
cd agns
pip install -e .

Authentication

Some AGNS endpoints and agent selection features require authentication using API keys. You can provide your keys in one of two ways:

1. Using a .env file (recommended)

Create a file named .env in your project root and add:

AGNS_API_KEY=your_agns_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here

AGNS_API_KEY is required for authenticating with the Agent Name Service (AGNS) endpoints.

ANTHROPIC_API_KEY is required if you use agent selection or routing features that leverage Anthropic's Claude models (e.g., for LLM-based agent selection). This key is provided by Anthropic and enables access to their API for model inference.

The SDK will automatically load this file if you have the python-dotenv package installed (already used in the SDK).

2. Setting the environment variables directly

export AGNS_API_KEY=your_agns_api_key_here
export ANTHROPIC_API_KEY=your_anthropic_api_key_here

You can obtain these API keys from your AGNS administrator/service provider and from Anthropic, respectively. The SDK will automatically use these environment variables when making authenticated requests.

Usage Example

from agns import agns

# Lookup all available agents
result = agns.lookup()

# Choose an agent to ask a question
if isinstance(result, dict):
    agent = next(iter(result.values()), None)
elif result:
    agent = result
else:
    raise RuntimeError("No agent found.")

# Ask the agent something
question = {"text": "Hello", "target_language": "es"}
response = agent.ask(question)

print("Translated:", response["translated_text"])

API Overview

lookup(name: Optional[str] = None) → dict[str, Agent] | Agent | None

Looks up agents by name, or returns all if no name is provided.

  • If name is provided: returns a single Agent or None
  • If not: returns a dictionary of agents keyed by name

Running Tests

Install development dependencies:

pip install -r requirements-dev.txt

Run tests using pytest:

pytest

Project Structure

src/
  agns/
    __init__.py
    client.py
    agent.py
    agent_card.py
tests/
  test_integration.py
pyproject.toml
README.md

License

MIT License. See LICENSE for details.


Contributing

Contributions are welcome! Please:

  1. Fork this repository
  2. Create a feature branch
  3. Commit your changes
  4. Open a pull request

Project details


Download files

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

Source Distribution

agns-0.1.6.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

agns-0.1.6-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file agns-0.1.6.tar.gz.

File metadata

  • Download URL: agns-0.1.6.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for agns-0.1.6.tar.gz
Algorithm Hash digest
SHA256 7c669019f5c330a74a25923e74e0577530e06dfe63e8bfcffe2abbcb643bb0ba
MD5 dc2806abaa85b5aecf73e600e414c912
BLAKE2b-256 e9d7ca98f90a4249404b8aaf4db21b4a3fb38927adaee175cdb43c2741409a8c

See more details on using hashes here.

File details

Details for the file agns-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: agns-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for agns-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d898460515739a5ead7a55150a37b8dfc975e9b022b9928cbeff2276ad54f1c1
MD5 a32d9d6eda04942a157892ead4a4e31a
BLAKE2b-256 ee0cd3a8b9eeb9a37a2f0e1b4be850891a3f7605fb1e18f89bb91fa170b88bf1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page