Skip to main content

An agent for interacting with Blask API based on Swagger spec

Reason this release was yanked:

Old version

Project description

BlaskAPIAgentManager

BlaskAPIAgentManager is a Python library that provides a sophisticated agent for interacting with the Blask API based on Swagger specifications. It automates API discovery, planning, and execution to retrieve relevant data based on natural language queries.

Features

  • Automatic API Planning: Intelligently plans the right API calls based on natural language queries
  • API Call Orchestration: Executes API calls in the optimal order with proper parameters
  • Data Enrichment: Automatically enriches data by resolving IDs to human-readable names
  • Result Synthesis: Summarizes API responses into coherent, user-friendly answers
  • RAG Enhancement: Can enhance Retrieval-Augmented Generation answers with live API data

Installation

Quick Install with pip

pip install BlaskAPIAgentManager

Install with uv (Recommended)

For a faster, more reliable installation, you can use uv, a Python packaging tool for fast installation:

# Install uv if you don't have it
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install BlaskAPIAgentManager with uv
uv pip install BlaskAPIAgentManager

Local Development Installation

For local development or contributing to the project:

  1. Clone the repository:
git clone https://gitlab.private.blask.com/blask/ml-ai/blaskapiagentmanager
cd blaskapiagentmanager
  1. Create and activate a virtual environment:

Using standard venv:

# Create virtual environment
python -m venv venv

# Activate on macOS/Linux
source venv/bin/activate

# Activate on Windows
venv\Scripts\activate

Using uv (recommended):

# Create virtual environment
uv venv

# Activate on macOS/Linux
source .venv/bin/activate

# Activate on Windows
.venv\Scripts\activate
  1. Install the package in development mode:
# Using standard pip
pip install -e .

# Using uv (recommended)
uv pip install -e .

Configuration

Create a .env file in your project root with the following variables:

BLASK_USERNAME=your_username
BLASK_PASSWORD=your_password
OPENROUTER_API_KEY=your_openrouter_api_key
SWAGGER_JSON_URL=link_to_swagger_json
LOGIN_URL=link_to_login
BASE_URL=base_api_url

Usage

Basic Usage

from BlaskAPIAgentManager import BlaskAPIAgentManager

# Initialize the manager
manager = BlaskAPIAgentManager()

# Process a natural language query
result = manager.process_query("What are the top 5 performing countries by GGR in the last 3 months?")

# Print the summary
print(result["summary"])

# Access the raw data
api_data = result["data"]

Enhancing RAG Results

from BlaskAPIAgentManager import BlaskAPIAgentManager

# Initialize the manager
manager = BlaskAPIAgentManager()

# Get RAG answer from your existing system
rag_answer = "Based on historical data, the top countries by GGR have been..."

# Enhance with live API data
enhanced_answer = manager.enhance_rag_answer(
    "What are the top 5 performing countries by GGR in the last 3 months?", 
    rag_answer
)

print(enhanced_answer)

Direct API Data Access

from BlaskAPIAgentManager import BlaskAPIAgentManager

# Initialize the manager
manager = BlaskAPIAgentManager()

# Get data directly from API
api_data = manager.get_api_data("Show me the year-over-year growth for Brand A in Germany")

print(api_data)

Components

  • BlaskAPIAgent: Core agent for authenticating and interacting with the Blask API
  • PlannerTool: Plans the sequence of API calls based on natural language queries
  • ControllerTool: Executes API calls and enriches the results
  • BlaskAPIAgentManager: Main interface that orchestrates the entire workflow

Development

To contribute to this project:

  1. Clone the repository
  2. Create and activate a virtual environment (see Local Development Installation section)
  3. Install development dependencies:
uv pip install -e ".[dev]"
  1. Set up environment variables for testing:

    • Create a .env file in the project root with your Blask API credentials
    • Tests will skip API-dependent tests if credentials are not available
  2. Run tests:

# Run all tests
python -m unittest discover

# Run specific test files
python -m unittest tests.test_basic
python -m unittest tests.test_api_agents

Note that tests in test_api_agents.py require valid API credentials and will be skipped if they're not available.

License

MIT

Support

For support, please contact support@blask.com.

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

blaskapiagentmanager-0.1.0.tar.gz (14.3 kB view details)

Uploaded Source

Built Distribution

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

blaskapiagentmanager-0.1.0-py3-none-any.whl (17.4 kB view details)

Uploaded Python 3

File details

Details for the file blaskapiagentmanager-0.1.0.tar.gz.

File metadata

  • Download URL: blaskapiagentmanager-0.1.0.tar.gz
  • Upload date:
  • Size: 14.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for blaskapiagentmanager-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a31f325e3b640d3a86b47997d5b65a87acfffbecae77ad311ac976529286e564
MD5 3693ff9858cf55dcf80f17dbe4ac3a35
BLAKE2b-256 fb12cd1c8b229a543c3160dbcce710728c64b2404b409b2ee1882f621de85466

See more details on using hashes here.

File details

Details for the file blaskapiagentmanager-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for blaskapiagentmanager-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9644c3ea785fade777bc79ba294da69e5033a1e91dd394cf4fde5375502dee73
MD5 627c426e6b3290f6ec6d664c6e67cbf6
BLAKE2b-256 d0a4f0c7583d132a390563ebddbf794ff5414046afe6d63147335e3932044d47

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