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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

kanoniv-0.2.9-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.9.tar.gz.

File metadata

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

File hashes

Hashes for kanoniv-0.2.9.tar.gz
Algorithm Hash digest
SHA256 ff5e2d72ee7f728e9b2d61803bef411983a9d69032b64f5016a797cb0e0bb4d1
MD5 d00fd96e9e314449d78ac0871b650262
BLAKE2b-256 1c8f3a1d4aded49f201fcae5a07512361fb679ff36e431126c23a2ed3e898466

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.9-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c6b88497e8f1cf19d37be907ce806190aaa6d843a068691cfc72993cd4c28765
MD5 a0e79f841ffd1812e817064a06eb31fd
BLAKE2b-256 678080c6ec322c810ef7e1a3dbeca19540ee44ebbbf85983870cbbf8a3f8fce3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.9-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 faf670992202ecac1481e21e2520650dcbfe59c02a5ab9013b81fda7883b422b
MD5 a96861440c4752e48e0a0c03d32948fc
BLAKE2b-256 52c671eac981abe50f595fea8cb7bd5e5f1f6853e0f311ac98674a2bbb92ce8b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for kanoniv-0.2.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 930a36e5e2d0bf2d3846c44ec693fc5a15f7f9ae08d9775e64e33e9952bb647f
MD5 83d97a042d0028c1a7ee5e97d5b05264
BLAKE2b-256 44f3e0a236acb39bfb65e39f15288b29dcbe7df23d1fac94bf2405500fac70c3

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