semvec/pypi-packages huggingface dataset:
lockbox-sdk 0.1.2
Python SDK for Lockbox API
License: MIT
Requires Python: >=3.9

# Lockbox Python SDK

![Static Badge](https://img.shields.io/badge/python-3.9%20%7C%203.10%20%7C%203.11%20%7C%203.12%20%7C%203.13-blue?style=flat-square)


Python SDK for the Lockbox API.

## Installation

```bash
pip install lockbox-sdk
```

## Usage

```python
import asyncio

from lockbox_sdk import AsyncLockboxSdk
from lockbox_sdk.v1.api_keys.dto import CreateApiKeyRequestDTO, IntrospectApiKeyRequestDTO


API_URL = "http://localhost:8087"

async def main():
    async with AsyncLockboxSdk(API_URL) as sdk:
        # Namespaces API
        namespaces = await sdk.v1.namespaces.find_namespaces(
            page=1,
            per_page=10,
            names=["namespace1", "namespace2"],
            tenant_id="my-tenant",
        )
        print(namespaces)

        namespace = await sdk.v1.namespaces.get_namespace(
            name="namespace3",
            tenant_id="my-tenant",
        )
        print(namespace)

        await sdk.v1.namespaces.delete_namespace(
            name="namespace2",
            tenant_id="my-tenant",
        )

        # Tags API
        tags = await sdk.v1.tags.find_tags(
            namespace="namespace2",
            page=1,
            per_page=10,
            names=["tag1", "tag2"],
            tenant_id="my-tenant",
        )
        print(tags)

        tag = await sdk.v1.tags.get_tag(
            namespace="namespace2",
            name="tag1",
            tenant_id="my-tenant",
        )
        print(tag)

        # API keys API
        api_key = await sdk.v1.api_keys.create_api_key(
            payload=CreateApiKeyRequestDTO(
                owner="user@example.com",
                scope="read:documents edit:posts",
                tag=tag.name,
                metadata={
                    "special": "sauce",
                }
            ),
            tenant_id="my-tenant"
        )
        print(api_key)

        introspection = await sdk.v1.api_keys.introspect_api_key(
            payload=IntrospectApiKeyRequestDTO(
                token=api_key.key,
                scope="read:documents",
                tag=tag.name,
            ),
            tenant_id="my-tenant"
        )
        print(introspection)

        new_api_key = await sdk.v1.api_keys.rotate_api_key(
            id=api_key.id,
            tenant_id="my-tenant"
        )
        print(new_api_key)
```

This library provides both an asynchronous and synchronous client. Simply use the `LockboxSdk` class for synchronous operations.


## License

This project is licensed under MIT License.

## Support & Feedback

If you encounter any issues or have feedback, please open an issue. We'd love to hear from you!

Made with ❤️ by Emergent Methods
consumableai-aeo 0.1.0
Tiny AEO/GEO auditor and competitor keyword extractor for HTML pages. Useful for AI SEO analysis and organic growth research.
License: MIT
Requires Python: >=3.8
Keywords: AEO, AI SEO analyser, Answer Engine Optimization, GEO, Generative Engine Optimization, SEO ranking, cac reduction, consumableai ranking, find competitor keywords, json-ld, marketing intelligence, organic growth, structured data

# consumableai-aeo

**AEO/GEO** (Answer Engine Optimization / Generative Engine Optimization) helper for quick audits and lightweight keyword discovery.

- `audit <url>`: Inspect basic **AEO/GEO** signals — title, description, robots, canonical, JSON-LD types, OG/Twitter tags, headings, readability proxy.
- `keywords <url|path>`: Extract candidate phrases from page text (RAKE-like) for **AI SEO analysis**.
- `competitors <url1> <url2> ...`: Aggregate and compare **competitor keywords** across multiple URLs.

> Built by [Consumable AI](https://www.consumableai.com) — tools for **AI SEO analyser**, **AEO**, **GEO**, **organic growth**, **marketing intelligence**, and **CAC reduction**.

---

## Install

```bash
pip install consumableai-aeo
```

## CLI Usage

```bash
consumableai-aeo audit https://example.com --json
consumableai-aeo keywords https://example.com --top 25
consumableai-aeo competitors https://site-a.com/page https://site-b.com/page --top 20 --json
```

## Python API

```python
from consumableai_aeo import audit_url, keywords_from_url, competitor_keywords

report = audit_url("https://example.com")
phrases = keywords_from_url("https://example.com", top_n=25)
comp = competitor_keywords(["https://a.com", "https://b.com"], top_n=20)
```

## Checks
- Title & description presence and helpful ranges
- Canonical, robots meta (`index/follow`), OG/Twitter tags
- JSON-LD presence and detected `@type` (Product, Article, FAQPage…)
- H1/H2 counts and uniqueness of H1
- Image `alt` coverage
- Readability proxy (Flesch reading ease)
- AEO/GEO score (0–100) with per-signal breakdown

> This is a **lightweight heuristic** — great for quick checks and CI guards. For deeper analysis and automated fixes, visit [Consumable AI](https://www.consumableai.com).