vericlient
A Python client for the Veridas APIs — voice and face biometrics, without writing the plumbing.
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 | 🟠 | 10 / 31 endpoints |
| das-Face — face biometrics | 🔴 | not started |
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.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| vericlient-0.2.0.tar.gz | 34.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| vericlient-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 58.2 kB
Release files / vericlient-0.2.0.tar.gz
| Download URL | vericlient-0.2.0.tar.gz |
|---|---|
| Size | 34.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8195723c61f57a3143ffc0076983226fd9421b47960d75bd89acf454e024ab8e
|
|
BLAKE2b-256 checksum How to use checksums |
4bdfb843fd70a201340bbc17a4b1413b60afbe658002cd895150defeb716021f
|
| 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 21, 2026.
Transparency logRelease files / vericlient-0.2.0-py3-none-any.whl
| Download URL | vericlient-0.2.0-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d08134fd4f2e1a42fe47550dc56708ca5702d448a121ece647c6114d3fc67da
|
|
BLAKE2b-256 checksum How to use checksums |
12d4b988bc4369fe01911ec4cc69f7263fe86ae46daf0a807d09711e281a75c8
|
| 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 21, 2026.
Transparency log