Skip to main content

Identity resolution as code

Project description

kanoniv

Python client for the Kanoniv identity resolution API.

Installation

pip install kanoniv

Quick Start

import kanoniv

client = kanoniv.Client(
    api_key="kn_abc123",
    base_url="https://api.kanoniv.com",
)

# Resolve an identity
result = client.resolve(system="salesforce", external_id="003xxx")
print(result["canonical_data"])

# Search entities
results = client.entities.search(q="john@acme.com")

# Ingest records
client.ingest("source-uuid", records=[
    {"id": "ext_1", "type": "contact", "name": "John", "email": "john@acme.com"},
])

# Dashboard stats
stats = client.stats()
print(f"{stats['total_canonical_entities']} canonical entities")

Async Usage

async with kanoniv.AsyncClient(api_key="kn_...") as client:
    result = await client.resolve(system="crm", external_id="sf_123")
    entities = await client.entities.search(q="jane")

Authentication

# API key (recommended for programmatic use)
client = kanoniv.Client(api_key="kn_abc123")

# JWT bearer token
client = kanoniv.Client(access_token="eyJ...")

Resources

Resource Methods
client.entities search(), get(), get_linked(), history()
client.sources list(), get(), create(), update(), delete(), sync(), preview()
client.rules list(), create(), history()
client.jobs list(), get(), run(), cancel()
client.reviews list(), decide()
client.overrides list(), create(), delete()
client.audit list(), entity_trail()
client.specs list(), get(), ingest()

Error Handling

from kanoniv import NotFoundError, RateLimitError

try:
    entity = client.entities.get("nonexistent")
except NotFoundError:
    print("Entity not found")
except RateLimitError as e:
    print(f"Rate limited, retry after {e.retry_after}s")

License

Apache-2.0

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

kanoniv-0.2.3.tar.gz (152.8 kB view details)

Uploaded Source

Built Distributions

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

kanoniv-0.2.3-cp311-cp311-macosx_11_0_arm64.whl (884.3 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

kanoniv-0.2.3-cp311-cp311-macosx_10_12_x86_64.whl (917.2 kB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

kanoniv-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

Details for the file kanoniv-0.2.3.tar.gz.

File metadata

  • Download URL: kanoniv-0.2.3.tar.gz
  • Upload date:
  • Size: 152.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: maturin/1.11.5

File hashes

Hashes for kanoniv-0.2.3.tar.gz
Algorithm Hash digest
SHA256 0d5093c74710a7f2309cab43857a71cb4f4998e7a796426da9f910245ba070d5
MD5 054a9431a0bc753468ba9dbe4cbb3b15
BLAKE2b-256 91672a4e01692b7e119f4de451af1ca8b86abdff412ebce2996047474887d87e

See more details on using hashes here.

File details

Details for the file kanoniv-0.2.3-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for kanoniv-0.2.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 7d40944f998c0026922563c924b43f08f87cf7629e4449cf6be6f39730cbe9c7
MD5 9123b8f326b324dda64bacb2412fb3b2
BLAKE2b-256 0b6323adb2bfd2e2b163b9f20c2f7038608c8d31aeff98817b5224bc887dc5e3

See more details on using hashes here.

File details

Details for the file kanoniv-0.2.3-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for kanoniv-0.2.3-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 8dba87ecd874339bf6403c1bb09610b3853b4e5b1a16bf7d9f8c8aebf959c13c
MD5 d70d8e639dc953f539110780df1b74e7
BLAKE2b-256 aae3ddd61d924fa36cd27eeb4ef457827c856a08186dca1ee5305fbcd37cbc67

See more details on using hashes here.

File details

Details for the file kanoniv-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for kanoniv-0.2.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b1540a5823d9ec58838b500611d66e844ea8ec329c0478399d05b97a12d25903
MD5 794f8cdc5b8345a3faa41717537dcee9
BLAKE2b-256 fbba959611007ad149374f692114b75c6bb416aad15d456e5ba6dc07941cdce8

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