Skip to main content

Lightweight SDK for pushing automation run logs to the Manage AI dashboard

Project description

Manage AI SDK

Lightweight Python SDK for pushing automation run logs to the Manage AI dashboard.

Install

pip install manage-ai-sdk
# or directly from the repo
pip install "manage-ai-sdk @ git+https://github.com/Shfa-AI/manage-ai.git#subdirectory=sdk"

Setup

Set two environment variables (or pass them explicitly):

export MANAGE_AI_URL=https://your-dashboard.example.com
export MANAGE_AI_KEY=ak_your_api_key_here

Get these from the Connection section on any automation's detail page in the dashboard.

Usage

Decorator (simplest)

from manage_ai_sdk import automation

@automation("b1000000-0000-0000-0000-000000000001")
def daily_invoice_email():
    invoices = fetch_invoices()
    send_emails(invoices)
    return {"invoices_sent": len(invoices)}

if __name__ == "__main__":
    daily_invoice_email()

The decorator automatically:

  • Reports the run as started when the function begins
  • Reports success with the return value as output when it finishes
  • Reports failure with the traceback if an exception occurs
  • Tracks duration

Analytics events (SEO-style automation metrics)

Use canonical events so analytics works consistently across repositories.

from manage_ai_sdk import ManageAI

client = ManageAI()
automation_id = "b1000000-0000-0000-0000-000000000001"
session_id = "sess_123"
user_id = "user_42"

client.track_event(
    automation_id,
    "user_logged_in",
    actor_user_id=user_id,
    session_id=session_id,
    channel="web",
)

client.track_event(
    automation_id,
    "question_asked",
    actor_user_id=user_id,
    session_id=session_id,
    question_id="q_001",
    question_text_raw="Can I export this report as CSV?",
    question_category="reporting",
)

client.track_event(
    automation_id,
    "answer_returned",
    actor_user_id=user_id,
    session_id=session_id,
    question_id="q_001",
    answer_id="a_001",
    answer_text_raw="Yes. Open Reports -> Export -> CSV.",
    answer_source="rag",
)

Supported canonical event names:

  • user_logged_in
  • automation_opened
  • session_started
  • question_asked
  • answer_returned
  • cta_clicked
  • session_resolved
  • session_unresolved
  • session_ended

SDK freeze policy (schema v1)

The analytics event contract is versioned and stable at schema_version=1.

  • Safe changes: add optional fields, add new events with fallback handling.
  • Breaking changes: rename/remove event names or required fields.
  • Breaking changes require a new schema version.

Context manager (for embedding in existing code)

from manage_ai_sdk import track_run

with track_run("b1000000-0000-0000-0000-000000000001") as run:
    result = do_stuff()
    run.output = {"data": result}

Explicit client (for advanced usage)

from manage_ai_sdk import ManageAI

client = ManageAI(url="https://...", api_key="ak_...")
run_id = client.start_run("b1000000-...", trigger={"type": "cron"})

try:
    result = do_stuff()
    client.complete_run("b1000000-...", run_id, output={"data": result}, duration_ms=1234)
except Exception as e:
    client.fail_run("b1000000-...", run_id, error=str(e))
    raise

Configuration priority

  1. Explicit argumentsautomation("id", url="...", api_key="...")
  2. Environment variablesMANAGE_AI_URL, MANAGE_AI_KEY

Failure behavior

If the dashboard is unreachable, the SDK logs a warning but does not crash your automation. Your code always runs regardless of whether the dashboard is available.

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

manage_ai_sdk-0.3.0.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

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

manage_ai_sdk-0.3.0-py3-none-any.whl (6.5 kB view details)

Uploaded Python 3

File details

Details for the file manage_ai_sdk-0.3.0.tar.gz.

File metadata

  • Download URL: manage_ai_sdk-0.3.0.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for manage_ai_sdk-0.3.0.tar.gz
Algorithm Hash digest
SHA256 d34f64e5f423839d2cd7f35e46dc35972afbd08a4b4afeaf70e91f5eb9f175dd
MD5 d0d4fe6727b6598a7dc1186e6655fd3e
BLAKE2b-256 c5f6647cf01410d360c5eed77f501640f9ba09fb7380d8f71ff6ef3f2ecd1773

See more details on using hashes here.

Provenance

The following attestation bundles were made for manage_ai_sdk-0.3.0.tar.gz:

Publisher: publish-sdk.yml on Shfa-AI/manage-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file manage_ai_sdk-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: manage_ai_sdk-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for manage_ai_sdk-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 04ba0c851dd63dab20e396e62990985759291f83a7de3275d82be2bb1006a464
MD5 f51803985f08418a88c57382670622e2
BLAKE2b-256 43eb526fde9456768728b36c6ce23b47d1ca4eb48ad5453081a36da2e69000d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for manage_ai_sdk-0.3.0-py3-none-any.whl:

Publisher: publish-sdk.yml on Shfa-AI/manage-ai

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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