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

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(audio="/path/to/enrolment.wav", hash=model).credential

# Compare a new recording against it.
result = client.compare_credential_to_audio(
    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

Runnable examples

One script per client in scripts/, each covering every endpoint that client supports. They run as they stand — they default to the repository's own test media — so with an API key in the environment:

VERICLIENT_APIKEY=your_api_key pdm run python scripts/daspeak.py

The VCSP one creates an account, a group and two tags, and removes all of them before it ends. Run it against a sandbox.

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.5.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.5.0
File Size Uploaded
vericlient-0.5.0.tar.gz 465.8 kB Details

Built distribution (wheel)

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

Total release size: 515.9 kB

Release files / vericlient-0.5.0.tar.gz

Download URL vericlient-0.5.0.tar.gz
Size 465.8 kB
Tags Source
SHA-256 checksum
How to use checksums
79946541767ee4a77b9baa39a3c7d810832a1cc0cb485b46a8a95347791e4188
BLAKE2b-256 checksum
How to use checksums
63695f59d3d729e700a883e2f10b1a1619cb85851722edbe5ecd7f09dbde9a9d
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 25, 2026.

Transparency log

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

Download URL vericlient-0.5.0-py3-none-any.whl
Size 50.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41f8d568c257771d09496cc7e9f4729ffd1d72f512874c8d81a74de19f8e61f0
BLAKE2b-256 checksum
How to use checksums
9647c9e4ff8044c2d051c1b6effa2b9eb122c289835a889a1c0959e77d58c0b9
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 25, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.5.0 This release

2 release files

0.4.0

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