Metadata-Version: 2.4
Name: ailist-client
Version: 0.1.0
Summary: Check domains and tools against the Shadow AI List - a risk-ranked registry of AI tools (free top 100).
Project-URL: Homepage, https://ailist.airiskmanagement.ca
Project-URL: Documentation, https://ailist.airiskmanagement.ca/connector
Project-URL: Source, https://github.com/AI-Risk-Management/ailist-client
Author-email: Aeon AI Risk Management Corporation <info@airiskmanagement.ca>
License-Expression: MIT
License-File: LICENSE
Keywords: ai governance,ai risk,ai security,dns,mcp,registry,shadow ai,soc
Classifier: Development Status :: 4 - Beta
Classifier: Environment :: Console
Classifier: Intended Audience :: Information Technology
Classifier: Intended Audience :: System Administrators
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Internet :: Name Service (DNS)
Classifier: Topic :: Security
Requires-Python: >=3.8
Description-Content-Type: text/markdown

# ailist-client

A tiny, zero-dependency Python client and CLI for the **[Shadow AI List](https://ailist.airiskmanagement.ca)** - a risk-ranked registry of AI tools. Check whether a domain is a known AI tool ("shadow AI"), look tools up by vendor, or pull the top-ranked list.

Reads the free, public top-100 API (names, domains, categories). The full registry, risk scores, and detection domains are a paid pack at <https://ailist.airiskmanagement.ca>.

## Install

```bash
pip install ailist-client
```

## CLI

```bash
ailist check chatgpt.com         # is this domain a known AI tool?
ailist check team.cursor.sh      # subdomains match too
ailist lookup openai             # search by vendor / domain / category
ailist top -n 10                 # highest-ranked AI tools
ailist list --category coding    # filter by category
ailist categories                # list categories
```

Add `--json` to any command for machine-readable output. For CI, `ailist check <domain> --exit-code` exits non-zero when the domain **is** a known AI tool:

```yaml
# fail a job if a shadow-AI domain shows up
- run: ailist check "$SUSPECT_DOMAIN" --exit-code
```

## Library

```python
from ailist import Registry

reg = Registry()                      # caches the top-100 after first call
hit = reg.check("chat.cursor.sh")
if hit:
    print(hit.vendor, hit.category, hit.rank)   # -> Cursor coding 3

reg.lookup("anthropic")               # [Tool(...)]
reg.top(5)                            # highest-ranked
reg.by_category("chatbot")            # filter
reg.categories()                      # ['chatbot', 'coding', ...]
```

Every `Tool` has `rank`, `domain`, `vendor`, `category`, and `.as_dict()`.

## Notes

- **Zero dependencies** - standard library only (works on Python 3.8+).
- **Coverage** is the free top 100 (matched on each tool's primary domain plus its subdomains). The paid pack adds the full registry, risk scores, and every detection domain.
- Point at a different host with `Registry(api_url=...)` or `--api-url`.

Maintained by Aeon AI Risk Management Corporation. Questions: info@airiskmanagement.ca. MIT licensed.
