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.10.tar.gz (239.6 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.10-cp311-cp311-macosx_11_0_arm64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

kanoniv-0.2.10-cp311-cp311-macosx_10_12_x86_64.whl (1.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

kanoniv-0.2.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

File details

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

File metadata

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

File hashes

Hashes for kanoniv-0.2.10.tar.gz
Algorithm Hash digest
SHA256 c321e6bfd0799800d11ac08490809e512fb6e5258e6c05d246a81c90c7e260d5
MD5 56c4b50a7753959cb75b46909eb4f179
BLAKE2b-256 8f24257dda356c1cc1d30bb2e1f022c54395e58afc8843d323d6726f6f190177

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.10-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cfda7dbe52b49a3ec30a6f1f87a04c93598962f4501fb82b1e39e9bcd9cb1d08
MD5 3fb0228a42bdc124693bd883528a3184
BLAKE2b-256 5905202acb018c3f14b86b6488e05a47ef3160d29e90f2e23a240e38ffaafd71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.10-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2c0194220a2f7e69337e13a80347c3f584113fa524560689ba27ae80a1457197
MD5 4d4cfb5e4edd21887ef382acf7b48310
BLAKE2b-256 f40dbe8447071d34f772825617f1aec1598ac5432cd709842707ef45e4c728dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4ffd9dc116dc953d4f4a07b2733ee6243a7935b4e5df718dcbed1b100f8ea921
MD5 ef6baa202056678a5199dd062bf0188f
BLAKE2b-256 c669bdce5a1fa12e44f10d5222546ea79fec39ec7ef324cde469eccd431363ad

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