Skip to main content

vericlient

A Python client for the Veridas APIs — voice and face biometrics, without writing the plumbing.

CI Coverage PyPI Python versions Documentation License: MIT

Documentation · Supported endpoints · Error handling · Changelog


Veridas exposes its biometrics products as HTTP APIs, and every integration starts by writing the same client: multipart uploads, per-service error codes, environment and region routing. vericlient is that client, so you can get to the part that is actually yours.

  • Typed in and out. Every request and response is a pydantic model, so a malformed call fails where you made it, not three layers down.
  • Errors you can catch. API failures arrive as specific exceptions — NetSpeechDurationIsNotEnoughError, not a 400 and a string to parse.
  • Cloud or self-hosted. Sandbox and production, EU and US, or your own deployment.
  • Three runtime dependencies, all of them ones you probably already have.

API support

API Status Coverage
das-Peak — voice biometrics 🟢 11 / 11 endpoints
VCSP — managed credential storage 🟢 31 / 31 endpoints
das-Face — face biometrics 🟢 11 / 11 endpoints, plus the 2 liveness challenge ones

Endpoint by endpoint in Supported endpoints.

Install

pip install vericlient

Python 3.11 or newer.

Quickstart

from vericlient import DaspeakClient
from vericlient.daspeak.models import CompareCredential2AudioInput, GenerateCredentialInput

client = DaspeakClient(apikey="your_api_key")

# A credential is the biometric representation of a voice.
model = client.get_models().models[-1]
credential = client.generate_credential(
    GenerateCredentialInput(audio="/path/to/enrolment.wav", hash=model),
).credential

# Compare a new recording against it.
result = client.compare(
    CompareCredential2AudioInput(
        credential_reference=credential,
        audio_to_evaluate="/path/to/verification.wav",
    ),
)
print(f"Similarity: {result.score}")

Audio can be a path or a bytes object, so nothing has to touch the filesystem.

Point the client somewhere else with environment, location, or a url for a self-hosted deployment:

DaspeakClient(apikey="your_api_key", environment="production", location="us")
DaspeakClient(url="https://veridas.internal.example.com")

Configuration

Every setting can be passed to the constructor or read from an environment variable. The constructor argument wins, the environment fills in what you left out, and the library falls back to its own default.

Variable Sets Default
VERICLIENT_APIKEY The API key used against the Veridas cloud none
VERICLIENT_ENVIRONMENT sandbox or production sandbox
VERICLIENT_LOCATION eu or us eu
VERICLIENT_URL A self-hosted URL, which replaces the cloud entirely none
VERICLIENT_TIMEOUT The request timeout in seconds 10

Contributing

Issues and pull requests are welcome. The project uses PDM:

pdm install --dev
pdm run lint && pdm run format-check && pdm run test

Tests run against mocks by default. To exercise a real environment, set VERICLIENT_APIKEY and run SERVICE=daspeak pdm run test-eu-sandbox.

Licence

MIT.

Release files for vericlient 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for vericlient 0.4.0
File Size Uploaded
vericlient-0.4.0.tar.gz 428.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for vericlient 0.4.0
File Interpreter ABI Platform
vericlient-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 473.3 kB

Release files / vericlient-0.4.0.tar.gz

Download URL vericlient-0.4.0.tar.gz
Size 428.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d8c3c65599b9f207aa51eff397634ef769a05dee2b999a8a2b9a22c9c8283682
BLAKE2b-256 checksum
How to use checksums
8df7076ad5ba10376b4132c7ce598ece202770089f7687da477125326b88fd39
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / vericlient-0.4.0-py3-none-any.whl

Download URL vericlient-0.4.0-py3-none-any.whl
Size 44.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
57eadf7fd4b1dbb839c9f0212a52958e05af88a2d80df976d006721a448cc494
BLAKE2b-256 checksum
How to use checksums
460596964465c31e849140a4155c0b6ed1c797105b40dc614eb223fa298e0c1a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page