Skip to main content

Python SDK for Gagiteck AI SaaS Platform

Project description

Gagiteck Python SDK

PyPI version Python 3.11+ License: MIT

Official Python client library for the Gagiteck AI SaaS Platform.

Installation

pip install gagiteck

Quick Start

Using the API Client

from gagiteck import Client

# Initialize the client
client = Client(api_key="ggt_your_api_key")

# List agents
agents = client.agents.list()
print(f"Found {len(agents['data'])} agents")

# Create an agent
agent = client.agents.create(
    name="My Assistant",
    system_prompt="You are a helpful assistant.",
    config={"model": "claude-3-sonnet"}
)
print(f"Created agent: {agent['id']}")

# Run an agent
response = client.agents.run(
    agent_id=agent["id"],
    message="Hello, how can you help me?"
)
print(response["content"])

Creating Agents Locally

from gagiteck import Agent, tool

# Define a custom tool
@tool
def search_database(query: str) -> str:
    """Search the database for information."""
    # Your search logic here
    return f"Results for: {query}"

# Create an agent with tools
agent = Agent(
    name="Research Assistant",
    model="claude-3-opus",
    tools=[search_database],
    system_prompt="You are a helpful research assistant.",
    memory_enabled=True,
)

# Run the agent
response = agent.run("Find information about AI agents")
print(response.text)

# Continue the conversation (memory enabled)
response = agent.run("Tell me more about the first result")
print(response.text)

Working with Workflows

from gagiteck import Client

client = Client(api_key="ggt_your_api_key")

# Create a workflow
workflow = client.workflows.create(
    name="Customer Onboarding",
    steps=[
        {"id": "verify", "name": "Verify Email", "agent_id": "agent_verifier"},
        {"id": "setup", "name": "Setup Account", "agent_id": "agent_provisioner", "depends_on": ["verify"]},
        {"id": "welcome", "name": "Send Welcome", "agent_id": "agent_messenger", "depends_on": ["setup"]},
    ]
)

# Trigger the workflow
run = client.workflows.trigger(
    workflow_id=workflow["id"],
    inputs={"user_email": "user@example.com"}
)
print(f"Workflow run started: {run['id']}")

Features

  • Simple API Client - Easy-to-use client for the Gagiteck REST API
  • Local Agents - Create and run agents locally with memory support
  • Custom Tools - Define tools using the @tool decorator
  • Type Safe - Full type annotations for IDE support
  • Async Support - Async client available (coming soon)

API Reference

Client

Client(
    api_key: str,           # Your API key (starts with 'ggt_')
    base_url: str = None,   # Custom API URL
    timeout: int = 30,      # Request timeout in seconds
    debug: bool = False,    # Enable debug logging
)

Agent

Agent(
    name: str,                      # Agent name
    model: str = "claude-3-sonnet", # LLM model
    system_prompt: str = None,      # System instructions
    tools: list = [],               # List of tools
    memory_enabled: bool = False,   # Enable conversation memory
    max_tokens: int = 4096,         # Max response tokens
    temperature: float = 0.7,       # Sampling temperature
)

Tool Decorator

@tool
def my_function(param: str) -> str:
    """Description of what the tool does."""
    return result

Error Handling

from gagiteck import Client, GagiteckError, AuthenticationError, APIError

try:
    client = Client(api_key="ggt_your_key")
    response = client.agents.run(agent_id="agent_123", message="Hello")
except AuthenticationError:
    print("Invalid API key")
except APIError as e:
    print(f"API error {e.code}: {e.message}")
except GagiteckError as e:
    print(f"Error: {e.message}")

Development

# Clone the repository
git clone https://github.com/ajaniethos-1/gagiteck-python.git
cd gagiteck-python

# Install dev dependencies
pip install -e ".[dev]"

# Run tests
pytest tests -v

# Run linting
ruff check gagiteck tests

# Run type checking
mypy gagiteck

Documentation

License

MIT License - see LICENSE for details.

Support

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

gagiteck-0.2.1.tar.gz (14.2 kB view details)

Uploaded Source

Built Distribution

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

gagiteck-0.2.1-py3-none-any.whl (16.4 kB view details)

Uploaded Python 3

File details

Details for the file gagiteck-0.2.1.tar.gz.

File metadata

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

File hashes

Hashes for gagiteck-0.2.1.tar.gz
Algorithm Hash digest
SHA256 68dad6e1bb45c3012464b02085243e3a8ffeec6e329286c18864269d63e0258e
MD5 d4905b9d47cef213d9dd222ea1918044
BLAKE2b-256 acc85e38f56f95fa5cc730432843ce36cdc23a44e80ef5ffc56f9c0ec2d0f691

See more details on using hashes here.

Provenance

The following attestation bundles were made for gagiteck-0.2.1.tar.gz:

Publisher: publish-pypi.yml on ajaniethos-1/Gagiteck-AI-Saas-Agentic

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

File details

Details for the file gagiteck-0.2.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for gagiteck-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d062d07a19de1861a8dd0e29a6f0cd1b64ca01f9a4de88ee47cc64617c584d4e
MD5 47ad83024c9737548565daecf8deabb6
BLAKE2b-256 ff9b85a59e8d991daed31fa09114b2dfb8c21162b5752eb2e6708992e0fa3d51

See more details on using hashes here.

Provenance

The following attestation bundles were made for gagiteck-0.2.1-py3-none-any.whl:

Publisher: publish-pypi.yml on ajaniethos-1/Gagiteck-AI-Saas-Agentic

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