Metadata-Version: 2.4
Name: siqa-agent
Version: 1.0.1
Summary: SIQA Agent SDK for Python
Author: SIQA Team
License: MIT
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.9
Requires-Dist: httpx>=0.24
Requires-Dist: tenacity>=8.2
Provides-Extra: dev
Requires-Dist: mypy>=1.0; extra == 'dev'
Requires-Dist: pytest-asyncio>=0.21; extra == 'dev'
Requires-Dist: pytest>=7.0; extra == 'dev'
Requires-Dist: respx>=0.20; extra == 'dev'
Provides-Extra: offline
Requires-Dist: aiosqlite>=0.19; extra == 'offline'
Description-Content-Type: text/markdown

# siqa-agent

SIQA Agent SDK for Python.

## Installation

```bash
pip install siqa-agent
```

## Usage

```python
from siqa_agent import SIQAClient

client = SIQAClient(
    api_key="your_api_key",
    brand_id="your_brand_id",
    debug=False,
)

# Initialise and start heartbeat
init = client.init("https://example.com/page")
print("Deployment mode:", init.mode)

# Fetch schema recommendations
schemas = client.get_schema_recommendations("https://example.com/page")
print("Schemas:", schemas)

# Report injected schemas
client.report_schema_injection("https://example.com/page", ["Organization"])

# Generate content brief
brief = client.generate_content({"brand_id": "your_brand_id", "keyword": "AI visibility"})
print(brief)

client.stop()
```

## Async Usage

```python
import asyncio
from siqa_agent import AsyncSIQAClient, SIQAConfig

async def main():
    config = SIQAConfig(api_key="...", brand_id="...")
    async with AsyncSIQAClient(config) as client:
        init = await client.init("https://example.com/page")
        print(init)

asyncio.run(main())
```

## API

- `init(page_url)` — Initialise the SDK and start heartbeats.
- `get_schema_recommendations(page_url)` — Fetch pending JSON-LD schemas.
- `report_schema_injection(page_url, schemas)` — Confirm schemas injected into the DOM.
- `submit_page_report(report)` — Submit a full page audit.
- `generate_content(opts)` — Generate an AEO-scored content brief.
- `poll_citations()` — Poll for citation changes.
- `stop()` / `aclose()` — Stop background timers.
