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.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.

v0.0.8.10 — 2025-08-29

New Features

  • 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.11.tar.gz (14.5 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.11-py3-none-any.whl (19.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: connexity-0.0.8.11.tar.gz
  • Upload date:
  • Size: 14.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for connexity-0.0.8.11.tar.gz
Algorithm Hash digest
SHA256 da51d1e1e97953e1b305e84005c7283e15b46ca9bd58375f5e4344e3b80e6849
MD5 00e18815877a73d6572a6269f259b665
BLAKE2b-256 197a289292d2c343882aaa7cf112de74aa0fa86450aafddeda2aeac34f7fcabb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: connexity-0.0.8.11-py3-none-any.whl
  • Upload date:
  • Size: 19.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.13

File hashes

Hashes for connexity-0.0.8.11-py3-none-any.whl
Algorithm Hash digest
SHA256 27a9efee2d16d9b55e56d6b291098ebe0061366f234d61af32adfc18ce839c43
MD5 cb9a921076ce1e71799ff4bd9c088a77
BLAKE2b-256 88ad74008fa51e7357f3c7056e418d3b17d43d08638325974dc74b8fba6f6f5e

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