Skip to content

feat(integrations): optional pipecat + livekit adapters (5.6.0) - #90

Closed
abhishekmishragithub wants to merge 1 commit into
mainfrom
feat/framework-adapters
Closed

feat(integrations): optional pipecat + livekit adapters (5.6.0)#90
abhishekmishragithub wants to merge 1 commit into
mainfrom
feat/framework-adapters

Conversation

@abhishekmishragithub

Copy link
Copy Markdown
Collaborator

What

Adds smallestai.integrations.pipecat and smallestai.integrations.livekit — thin, lazy re-exports of the framework-native Smallest AI plugins, so SDK users can reach them from the smallestai namespace:

from smallestai.integrations.pipecat import SmallestSTTService   # needs smallestai[pipecat]
from smallestai.integrations.livekit import TTS                  # needs smallestai[livekit]

Design

  • No dependency inversion. The core package does not depend on pipecat or livekit. The frameworks are optional deps behind extras (pip install "smallestai[pipecat]" / "smallestai[livekit]").
  • Lazy. An adapter imports its framework only on first attribute access; importing the module never requires the framework.
  • Clear failure. If the extra isn't installed, accessing a name raises ImportError with the exact install command.

Checks

  • pytest tests/custom/test_integrations_adapters.py — 3 passed (exercises the missing-dep path).
  • mypy src/smallestai/integrations/ — clean.

Notes for review

  • Optional-dep versions are * — worth pinning a confirmed lower bound before release.
  • livekit-plugins-smallestai is TTS-only today; pipecat-ai[smallest] has STT (+TTS). The adapters forward whatever the plugin exposes.
  • Follow-up (separate PR): smallestai.tools third-party tools framework.

Draft — merging bumps 5.6.0 and auto-publishes. Hold for your review.

…6.0)

Add smallestai.integrations.pipecat and smallestai.integrations.livekit: thin, lazy
re-exports of the framework-native Smallest AI plugins, so SDK users can reach them
from the smallestai namespace without the core package depending on those frameworks.

- Each adapter lazy-imports its framework on first attribute access and raises a clear
  "install the extra" ImportError otherwise (pip install "smallestai[pipecat]" /
  "smallestai[livekit]").
- Extras declared in pyproject; the frameworks are optional deps, never in a core install.
- tests/custom/test_integrations_adapters.py covers the lazy-import + missing-dep path.

No change to existing surfaces. Version 5.6.0.
@abhishekmishragithub

Copy link
Copy Markdown
Collaborator Author

Superseded by the consolidated release PR release/5.10.0 (single review + single version bump). Branch kept.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant