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.8.tar.gz (206.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.8-cp311-cp311-macosx_11_0_arm64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

kanoniv-0.2.8-cp311-cp311-macosx_10_12_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

kanoniv-0.2.8-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.8.tar.gz.

File metadata

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

File hashes

Hashes for kanoniv-0.2.8.tar.gz
Algorithm Hash digest
SHA256 d26a9b172f9a2764f301a5a8117453c9650134007ae6ed27d5d7eb81fe1e84f0
MD5 83c73bd2846f3e758871112e2de3ccc9
BLAKE2b-256 478532ba3a16b284ca15f13e0a764f40b8f42b94bcdec4426138b56306dc916b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44d8dec529747874a820e2d7f00e88a441c63bf6a06a53a28ffa30650355cb0a
MD5 d1cfad6ce0b61686c068cf4622674b85
BLAKE2b-256 243630a2ddb53d530883932716414cccd187a98640748e41a96ddc0e67a57117

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.8-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 f4af22baee66b38fca1717e7ed69da05820ea1c0d8f9f40add90044907f27acf
MD5 b44ad84a8e783a96e12b3329c7572b29
BLAKE2b-256 a298dddf2b42c5fe0c23db975ae94610b475a3a198730667f1bd545497039bbf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 00f7da5d4bebcac082b10e952ab6f03f468da9ce05b88887a489101de660760d
MD5 471807ccfd5da1dfef2be46ccd9284a7
BLAKE2b-256 bcf0b0a52ba7840dcd3fe6e640a5e6adaca6226c23027b22f6c6a6e5c81e2d54

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