Skip to main content

attago — Python SDK

CI PyPI Python SDK for the AttaGo crypto trading dashboard API.

Install

pip install attago

Quick Start

API Key Authentication

import asyncio
from attago import AttaGoClient

async def main():
    async with AttaGoClient(api_key="ak_live_abc123") as client:
        score = await client.agent.get_score("BTC")
        print(f"{score.token}: {score.composite.signal} ({score.composite.score:.1f})")

asyncio.run(main())

Sync Mode

from attago import AttaGoClient

client = AttaGoClient(api_key="ak_live_abc123", sync=True)
score = client.agent.get_score_sync("BTC")
print(score.composite.signal)
client.close()

x402 Signer Authentication

from attago import AttaGoClient

client = AttaGoClient(signer=my_wallet_signer)
score = await client.agent.get_score("BTC")

Cognito Authentication

from attago import AttaGoClient

client = AttaGoClient(
    email="user@example.com",
    password="...",
    cognito_client_id="abc123",
)
await client.auth.sign_in()
profile = await client.data.get_latest()

API Reference

Service Methods
client.agent get_score(symbol), get_data(*symbols)
client.data get_latest(), get_token_data(token), get_data_push(request_id)
client.subscriptions catalog(), list(), create(input), update(sub_id, input), delete(sub_id)
client.payments subscribe(input), status(), upgrade_quote(tier, cycle)
client.wallets register(input), list(), remove(address)
client.webhooks create(url), list(), delete(id), send_test(opts), send_server_test(id)
client.mcp initialize(), list_tools(), call_tool(name, args), ping()
client.api_keys create(name), list(), revoke(key_id)
client.bundles list(), purchase(input)
client.push list(), create(input), delete(sub_id)
client.redeem redeem(code)

Webhook Listener

from attago import WebhookListener

listener = WebhookListener(secret="whsec_...", port=4000)
listener.on_alert(lambda p: print(f"{p.alert.token}: {p.alert.state}"))
listener.on_test(lambda p: print("Test received"))
listener.start()

Signature Verification

from attago import verify_signature

body = request.body  # raw bytes
signature = request.headers["X-AttaGo-Signature"]
if verify_signature(body, webhook_secret, signature):
    # valid

Error Handling

from attago import AttaGoClient, ApiError, PaymentRequiredError, RateLimitError

try:
    score = await client.agent.get_score("BTC")
except PaymentRequiredError as e:
    print(f"Payment needed: {e.payment_requirements}")
except RateLimitError as e:
    print(f"Rate limited, retry after {e.retry_after}s")
except ApiError as e:
    print(f"API error {e.status_code}: {e.message}")

Metadata

Release files for attago 0.1.0

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

Source distribution (sdist)

Source distribution for attago 0.1.0
File Size Uploaded
attago-0.1.0.tar.gz 40.5 kB Details

Built distribution (wheel)

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

Total release size: 71.1 kB

Release files / attago-0.1.0.tar.gz

Download URL attago-0.1.0.tar.gz
Size 40.5 kB
Tags Source
SHA-256 checksum
How to use checksums
291f87a9176440f61f7c7c2fbbac552a820677bc2da7a9d4d2b2d5ae0fe4f677
BLAKE2b-256 checksum
How to use checksums
a9e2e0f0e815f9c4d49bedba451a83ef736a834697863007a72c65bbc6f8afe0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 10, 2026.

Transparency log

Release files / attago-0.1.0-py3-none-any.whl

Download URL attago-0.1.0-py3-none-any.whl
Size 30.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8e3f38ca0d4f3ec311d4745fd58fa144009c033cd0f933eeaa71ef0b47b18c37
BLAKE2b-256 checksum
How to use checksums
a27ef4f3e58e431c191f12c303edf1e38eee5dad017de4db8808910e11baba1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Mar 10, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release 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