Skip to main content

synap-pipecat

Synap integration for Pipecat — preload long-term memory into voice pipelines and record every turn back to Synap.

Install

pip install synap-pipecat

Requires pipecat-ai>=0.0.80, maximem-synap>=0.2.0.

Quickstart

from pipecat.pipeline.pipeline import Pipeline
from pipecat.processors.aggregators.llm_context import LLMContext
from pipecat.processors.aggregators.llm_response_universal import (
    LLMContextAggregatorPair,
    LLMUserAggregator,
    LLMAssistantAggregator,
)
from maximem_synap import MaximemSynapSDK
from synap_pipecat import SynapMemoryProcessor, SynapRecorder

sdk = MaximemSynapSDK(api_key="sk-...")
context = LLMContext(messages=[{"role": "system", "content": "You are a helpful assistant."}])

user_agg = LLMUserAggregator(context=context)
asst_agg = LLMAssistantAggregator(context=context)

pipeline = Pipeline([
    transport.input(),
    stt,
    SynapMemoryProcessor(sdk, user_id="alice", customer_id="acme"),
    user_agg,
    llm,
    tts,
    transport.output(),
    asst_agg,
    SynapRecorder(sdk, user_id="alice", customer_id="acme"),
])

Scope

  • SynapMemoryProcessor — sits BEFORE the user context aggregator. On each TranscriptionFrame, fetches relevant context from Synap via sdk.fetch() and appends it as a system message to the shared LLMContext. The transcription frame itself flows through unchanged so the user aggregator can record it as the user turn.
  • SynapRecorder — sits AFTER the assistant context aggregator. Buffers the latest user transcription and the streamed assistant response; on LLMFullResponseEndFrame, calls sdk.conversation.record_message() for both turns.

Error policy

  • Reads (SynapMemoryProcessor) degrade gracefully — SDK failures log at ERROR and the frame continues downstream with no Synap context injected. A Synap blip must never break a live voice call.
  • Writes (SynapRecorder) surface SynapIntegrationError via wrap_sdk_errors_async. The processor logs the failure and pushes an ErrorFrame upstream; the pipeline itself stays alive (errors propagate as frames, not exceptions).
  • Non-matching frames pass through untouched in both processors — standard Pipecat push_frame contract.

Constructor args (both processors)

  • sdk: a configured MaximemSynapSDK
  • user_id: required — Synap memory is user-scoped
  • customer_id: optional customer/org scope; empty string means customer-less
  • conversation_id: optional explicit conversation id (auto-generated per process lifetime when absent, shared across both processors if you pass the same instance)

Release files for maximem-synap-pipecat 0.2.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 maximem-synap-pipecat 0.2.0
File Size Uploaded
maximem_synap_pipecat-0.2.0.tar.gz 8.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for maximem-synap-pipecat 0.2.0
File Interpreter ABI Platform
maximem_synap_pipecat-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 17.3 kB

Release files / maximem_synap_pipecat-0.2.0.tar.gz

Download URL maximem_synap_pipecat-0.2.0.tar.gz
Size 8.4 kB
Tags Source
SHA-256 checksum
How to use checksums
758963c079c02a94b44c7bb904cec7f28da4ca94add6deeba83d0b9fd029380d
BLAKE2b-256 checksum
How to use checksums
a9fb06fff6d9f943603e3fd14052f5df87baec2a88bea20c6094e148fe1f1ba1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release files / maximem_synap_pipecat-0.2.0-py3-none-any.whl

Download URL maximem_synap_pipecat-0.2.0-py3-none-any.whl
Size 8.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
69af5fb3ac9717f572fbc96281653a956f4a685711f8c0e229960e22288afd69
BLAKE2b-256 checksum
How to use checksums
c1c10dec2c01206a008a6b28b366a6a808add99ee939a7333ec7173273d647aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.15

Release history Release notifications | RSS feed

This release

0.2.0 This release

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