Python SDK for Gagiteck AI SaaS Platform
Project description
Gagiteck Python SDK
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
@tooldecorator - 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
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Email: support@gagiteck.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
68dad6e1bb45c3012464b02085243e3a8ffeec6e329286c18864269d63e0258e
|
|
| MD5 |
d4905b9d47cef213d9dd222ea1918044
|
|
| BLAKE2b-256 |
acc85e38f56f95fa5cc730432843ce36cdc23a44e80ef5ffc56f9c0ec2d0f691
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gagiteck-0.2.1.tar.gz -
Subject digest:
68dad6e1bb45c3012464b02085243e3a8ffeec6e329286c18864269d63e0258e - Sigstore transparency entry: 976021450
- Sigstore integration time:
-
Permalink:
ajaniethos-1/Gagiteck-AI-Saas-Agentic@342be443337b10f32a650e8296f7b7f827c0fd09 -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/ajaniethos-1
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@342be443337b10f32a650e8296f7b7f827c0fd09 -
Trigger Event:
release
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d062d07a19de1861a8dd0e29a6f0cd1b64ca01f9a4de88ee47cc64617c584d4e
|
|
| MD5 |
47ad83024c9737548565daecf8deabb6
|
|
| BLAKE2b-256 |
ff9b85a59e8d991daed31fa09114b2dfb8c21162b5752eb2e6708992e0fa3d51
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gagiteck-0.2.1-py3-none-any.whl -
Subject digest:
d062d07a19de1861a8dd0e29a6f0cd1b64ca01f9a4de88ee47cc64617c584d4e - Sigstore transparency entry: 976021451
- Sigstore integration time:
-
Permalink:
ajaniethos-1/Gagiteck-AI-Saas-Agentic@342be443337b10f32a650e8296f7b7f827c0fd09 -
Branch / Tag:
refs/tags/v0.2.3 - Owner: https://github.com/ajaniethos-1
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish-pypi.yml@342be443337b10f32a650e8296f7b7f827c0fd09 -
Trigger Event:
release
-
Statement type: