Skip to main content

A Python client for Connexity API.

Project description

Usage

from pipecat.audio.vad.vad_analyzer import VADParams
from connexity.metrics.pipecat_twilio import ConnexityTwilioObserver
from twilio.rest import Client

# build your VADParams once
vad_params = VADParams(
    confidence=0.5,
    min_volume=0.6,
    start_secs=0.2,
    stop_secs=0.8,
)

# assume you’ve already created/started your TwilioClient somewhere:
#    twilio_client = Client(account_sid, auth_token)
#    twilio_client.calls(call_sid).recordings.create()
# and you want to inject that manager into the observer

observer = ConnexityTwilioObserver()
await observer.initialize(
    agent_id="YOUR_AGENT_ID",
    api_key="YOUR_CONNEXITY_API_KEY",
    sid=call_sid,
    phone_call_provider="twilio",    # OPTIONAL FIELD
    user_phone_number=from_number,   # OPTIONAL FIELD
    agent_phone_number=to_number,    # OPTIONAL FIELD

    # <<< now using DI of client instead of creds >>>
    twilio_client=twilio_client.client,  # OPTIONAL FIELD
    daily_api_key="DAILY_API_KEY",       # OPTIONAL FIELD

    voice_provider="11labs",
    llm_provider="openai",
    llm_model="gpt-4o",
    stt_model="deepgram-nova-2",      # STT model (dynamic, may change with provider updates)
    tts_model="eleven_turbo_v2",      # TTS model (dynamic, may change with provider updates)
    tts_voice="your-voice-id",        # TTS voice ID (dynamic, may change with provider updates)
    call_type="inbound",
    transcriber="deepgram",
    vad_params=vad_params,
    env="development",          # or "production"
    vad_analyzer="silero",      # your chosen VAD engine name
)

pipeline.register_observer(observer)

CHANGELOG

v0.0.8.16 — 2025-11-06

  • Hotfix

v0.0.8.15 — 2025-11-06

New Features

  • Observability improvements
    Refactored way how Pipecat errors are handled

  • Interruption Incident added

v0.0.8.13 — 2025-10-24

New Features

  • snapshot_error_frame.py
    add wrapper to capture error frames in Pipecat

CHANGELOG

v0.0.8.12 — 2025-09-04

CRITICAL FIX

  • get_daily_recording_url
    fixed issue with types

CHANGELOG

v0.0.8.11 — 2025-09-02

New Features

  • ConnexityDailyObserver support
    Added support for ConnexityDailyObserver, including retrieving Daily recording and call duration.
    Note: You must pass daily_api_key to enable this feature.

Breaking Changes

  • Observer logic refactor

    • Introduced pipecat_interface with standardized initialize(...) and on_push_frame(...) methods for all current and future observer classes.

    • Created ConnexityDailyObserver and ConnexityTwilioObserver. These should now be used instead of previous observer implementations.

    • STT and TTS Model Parameters: Added support for configurable STT and TTS models and voices

    • stt_model: Specify the speech-to-text model to use (dynamic values from providers)

    • tts_model: Specify the text-to-speech model to use (dynamic values from providers)

    • tts_voice: Specify the voice ID for text-to-speech (dynamic values from providers)

  • ConnexityTwilioObserver Updates: Updated to handle new STT/TTS parameters in initialization

v0.0.8.9 — 2025-06-24

Minor Fixes

  • Get recording from region specific twilio account

v0.0.8.8 — 2025-06-24

Breaking Changes

  • Twilio DI instead of credentials

Removed twilio_account_sid and twilio_auth_token parameters from initialize(...).

Now you must pass a twilio_client: TwilioClient instance via the twilio_client argument. Action required: construct and start your own TwilioClient, then inject it into the observer.

v0.0.8.7 — 2025-06-20

Breaking Changes

  • Removed built-in Twilio call recording
    Recording is no longer performed by this package.
    Action required: start your Twilio recording on the app side as soon as the WebSocket connection is established.

v0.0.8.6 — 2025-06-13

New Features

VAD compensation

  • Configurable via VADParams
  • Pass vad_params into initialize(...)
  • Environment & analyzer tags
  • Added env and vad_analyzer metadata fields to register_call

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

connexity-0.0.8.16.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

connexity-0.0.8.16-py3-none-any.whl (31.2 kB view details)

Uploaded Python 3

File details

Details for the file connexity-0.0.8.16.tar.gz.

File metadata

  • Download URL: connexity-0.0.8.16.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for connexity-0.0.8.16.tar.gz
Algorithm Hash digest
SHA256 8d54a7bdaebf3e7f3d525374151239130c5fa4a03fb37a690b035a5dcaf943a8
MD5 f7c5b2fbc5010e2d7af9f91537599258
BLAKE2b-256 9050f71f3b45591e981978ba3212b2a1f7e144482b25ec9e99d47936caf738ac

See more details on using hashes here.

File details

Details for the file connexity-0.0.8.16-py3-none-any.whl.

File metadata

  • Download URL: connexity-0.0.8.16-py3-none-any.whl
  • Upload date:
  • Size: 31.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for connexity-0.0.8.16-py3-none-any.whl
Algorithm Hash digest
SHA256 ed8b40432be190a7769eb855218ce65aff803130fad9c5365748a734bd940f02
MD5 adb908e8ea107670668986826295b9de
BLAKE2b-256 d01303d120d88edd0d88ef2ba0d28bee761632f1863bd89ada1384c0abf7851f

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