Metadata-Version: 2.4
Name: vett-sdk
Version: 0.1.0
Summary: Python client for Vett's free public compliance screening API — sanctions, PEP, watchlists, and product recalls in one call.
Author: Wimberly Solutions LLC
License: MIT
Project-URL: Homepage, https://wimberly.solutions/api/free-sanctions-check/
Project-URL: Documentation, https://wimberly.solutions/api/free-sanctions-check/
Project-URL: RapidAPI Listing, https://rapidapi.com/Gorp405/api/complete-compliance-suite
Keywords: sanctions,ofac,compliance,aml,kyc,pep,watchlist,product-recall,sdn,screening
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Office/Business :: Financial
Classifier: Topic :: Security
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: httpx>=0.24
Dynamic: license-file

# vett-sdk

[![PyPI](https://img.shields.io/pypi/v/vett-sdk.svg)](https://pypi.org/project/vett-sdk/)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

Python client for [Vett](https://wimberly.solutions)'s free public compliance screening
API — no signup, no API key. One call screens a name or company against sanctions
(OFAC SDN, UK OFSI, UN, EU, Canada, Australia, US CSL), PEP lists, the FBI Most Wanted
list, World Bank debarred parties, the US federal watchlist, and CPSC/FDA/NHTSA product
recalls.

## Install

```bash
pip install vett-sdk
```

## Quickstart

```python
from vett_sdk import VettClient

client = VettClient()
result = client.screen("Vladimir Putin")

print(result.is_match)            # True
print(result.databases_checked)   # however many databases the API checked this call
for m in result.matches:
    print(m.database, m.matched_name, m.score, m.entity_type)
```

Async:

```python
import asyncio
from vett_sdk import AsyncVettClient

async def main():
    async with AsyncVettClient() as client:
        result = await client.screen("Acme Corp")
        print(result.is_match)

asyncio.run(main())
```

Command line:

```bash
vett-screen "Vladimir Putin"
```

## Rate limits

The free endpoint is limited to **10 requests/minute** and **100 requests/day**, per IP.
Hitting either raises `vett_sdk.VettRateLimitError`. For higher limits, or access to
Vett's other ~20 screening endpoints (crypto wallets, business lookups, government
contracts, and more), see the
[Complete Compliance Suite on RapidAPI](https://rapidapi.com/Gorp405/api/complete-compliance-suite).

## Errors

- `VettRateLimitError` — rate limit hit (see above).
- `VettAPIError` — any other non-2xx response (`.status_code`, `.detail`).

## License

MIT — see [LICENSE](LICENSE).

Vett is a product of Wimberly Solutions LLC. This package is not affiliated with or
endorsed by OFAC, the US Treasury, or any government agency — it is a client for
Wimberly Solutions' own compliance data aggregation API.
