Skip to content

Python interface to consume the APIs from Veridas company

License

Notifications You must be signed in to change notification settings

clarriu97/vericlient

Repository files navigation

Welcome

License: MIT Documentation CI codecov PyPI version Maintenance

Vericlient is a Python library designed to facilitate interaction with the Veridas API. It provides a simple and robust interface for making API requests and handling responses efficiently.

Features

  • Easy to Use: Designed to be intuitive and easy to integrate into your projects.
  • Exception Handling: Includes error and exception handling for safer interaction with the API.
  • Modular and Extensible: Structured to easily add new functionalities and endpoints.
  • Minimal Dependencies to work.

Current APIs support

  • 🟢: fully supported.
  • 🟠: partly supported.
  • 🔴: not yet supported.
API Status Docs Link
das-Peak 🟢 https://clarriu97.github.io/vericlient/api_docs/daspeak/client/
VCSP 🟠 None
das-Face 🔴 None

Installation

To install the library, you can use pip:

pip install vericlient

Basic Usage

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

client = DaspeakClient(apikey="your_api_key")

# check if the server is alive
print(f"Alive: {client.alive()}")

# generate a credential from a BytesIO object using the last model
with open("/home/audio.wav", "rb") as f:
    model_input = GenerateCredentialInput(
        audio=f.read(),
        hash=client.get_models().models[-1],
    )
generate_credential_output = client.generate_credential(model_input)
print(f"Credential generated with virtual file: {generate_credential_output.credential}")

# compare a credential with an audio file
compare_input = CompareCredential2AudioInput(
    audio_to_evaluate="/home/audio.wav",
    credential_reference=generate_credential_output.credential,
)
compare_output = client.compare(compare_input)
print(f"Similarity between the credential and the audio file: {compare_output.score}")

# compare a credential with a BytesIO object
with open("/home/audio.wav", "rb") as f:
    compare_input = CompareCredential2AudioInput(
        audio_to_evaluate=f.read(),
        credential_reference=generate_credential_output.credential,
    )
compare_output = client.compare(compare_input)
print(f"Similarity between the credential and the virtual file: {compare_output.score}")

You can also use the client against any self-hosted Veridas API:

from vericlient import DaspeakClient

# Create a client for the das-Peak API
client = DaspeakClient(url="https://your-self-hosted-api.com")

# Test the connection
print(client.alive())

Configuration

The library can be configured using environment variables. The following variables are supported:

  • VERICLIENT_ENVIRONMENT: The environment to use for the requests (default: sandbox).
  • VERICLIENT_APIKEY: The API key to use for the requests against the Veridas Cloud API.
  • VERICLIENT_LOCATION: The location to use for the requests (default: eu).
  • VERICLIENT_URL: In case you want to use a self-hosted API, you can set the URL with this variable.
  • VERICLIENT_TIMEOUT: The timeout for the requests (default: 10).

About

Python interface to consume the APIs from Veridas company

Resources

License

Stars

Watchers

Forks

Packages

No packages published