livekit-plugins-bodhi 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,77 @@
1
+ #
2
+ # Bodhi (Navana Tech) plugin for LiveKit Agents.
3
+ #
4
+ # Licensed under the Apache License, Version 2.0.
5
+ #
6
+
7
+ """Bodhi plugin for LiveKit Agents.
8
+
9
+ Indian-language speech-to-text and text-to-speech from Bodhi (Navana Tech),
10
+ exposed as LiveKit ``stt.STT`` / ``tts.TTS`` providers::
11
+
12
+ from livekit.plugins import bodhi
13
+
14
+ session = AgentSession(
15
+ stt=bodhi.STT(model="hi-general-v2-8khz", sample_rate=8000),
16
+ tts=bodhi.TTS(language="hi", voice="default_female"),
17
+ # ... vad, llm
18
+ )
19
+
20
+ Set ``BODHI_API_KEY`` in the environment, or pass ``api_key=`` to either class.
21
+ Both default to the Navana hosts (``stt.navana.ai`` / ``tts.navana.ai``); pass
22
+ ``base_url=`` to point at another deployment.
23
+
24
+ The implementation lives in the ``bodhi-api-sdk`` package; this plugin re-exports
25
+ it under the ``livekit.plugins.bodhi`` namespace so it installs and imports the
26
+ same way as every other LiveKit provider plugin.
27
+ """
28
+
29
+ try:
30
+ from bodhi.integrations.livekit_stt import (
31
+ BodhiHotword,
32
+ BodhiSTT as STT,
33
+ SpeechStream,
34
+ )
35
+ from bodhi.integrations.livekit_tts import (
36
+ BodhiTTS as TTS,
37
+ ChunkedStream,
38
+ SynthesizeStream,
39
+ )
40
+ except ImportError as e: # pragma: no cover
41
+ raise ImportError(
42
+ "livekit-plugins-bodhi needs bodhi-api-sdk with its LiveKit integration. "
43
+ 'Install with: pip install "livekit-plugins-bodhi" '
44
+ "(or upgrade bodhi-api-sdk)."
45
+ ) from e
46
+
47
+ from .version import __version__
48
+
49
+ __all__ = [
50
+ "STT",
51
+ "TTS",
52
+ "BodhiHotword",
53
+ "SpeechStream",
54
+ "ChunkedStream",
55
+ "SynthesizeStream",
56
+ "__version__",
57
+ ]
58
+
59
+ from livekit.agents import Plugin
60
+
61
+ from .log import logger
62
+
63
+
64
+ class BodhiPlugin(Plugin):
65
+ def __init__(self) -> None:
66
+ super().__init__(__name__, __version__, __package__, logger)
67
+
68
+
69
+ Plugin.register_plugin(BodhiPlugin())
70
+
71
+ # Hide re-exported helper modules from generated docs.
72
+ _module = dir()
73
+ NOT_IN_ALL = [m for m in _module if m not in __all__]
74
+
75
+ __pdoc__ = {}
76
+ for _n in NOT_IN_ALL:
77
+ __pdoc__[_n] = False
@@ -0,0 +1,3 @@
1
+ import logging
2
+
3
+ logger = logging.getLogger("livekit.plugins.bodhi")
File without changes
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"
@@ -0,0 +1,66 @@
1
+ Metadata-Version: 2.5
2
+ Name: livekit-plugins-bodhi
3
+ Version: 0.1.0
4
+ Summary: LiveKit Agents plugin for Bodhi (Navana Tech) STT and TTS
5
+ Project-URL: Homepage, https://www.navanatech.in/
6
+ Project-URL: Source, https://github.com/navana-tech/bodhi-python-sdk
7
+ Author: Navana Tech
8
+ License-Expression: Apache-2.0
9
+ Keywords: ai,audio,bodhi,livekit,navana,realtime,stt,tts,voice
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: License :: OSI Approved :: Apache Software License
12
+ Classifier: Programming Language :: Python :: 3
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Topic :: Multimedia :: Sound/Audio
15
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
16
+ Requires-Python: >=3.9
17
+ Requires-Dist: bodhi-api-sdk>=1.3
18
+ Requires-Dist: livekit-agents>=1.0
19
+ Description-Content-Type: text/markdown
20
+
21
+ # LiveKit Agents plugin for Bodhi
22
+
23
+ Indian-language speech-to-text and text-to-speech from [Bodhi](https://www.navanatech.in/)
24
+ (Navana Tech), as LiveKit Agents `stt.STT` / `tts.TTS` providers.
25
+
26
+ ## Install
27
+
28
+ ```bash
29
+ pip install "livekit-plugins-bodhi"
30
+ ```
31
+
32
+ ## Usage
33
+
34
+ ```python
35
+ from livekit.agents import AgentSession
36
+ from livekit.plugins import bodhi, silero
37
+
38
+ session = AgentSession(
39
+ stt=bodhi.STT(model="hi-general-v2-8khz", sample_rate=8000),
40
+ vad=silero.VAD.load(),
41
+ # llm=...,
42
+ tts=bodhi.TTS(language="hi", voice="default_female"),
43
+ )
44
+ ```
45
+
46
+ Set `BODHI_API_KEY` in the environment, or pass `api_key=` to either class.
47
+
48
+ Both default to the Navana hosts (`wss://stt.navana.ai` / `https://tts.navana.ai`);
49
+ pass `base_url=` to target another deployment.
50
+
51
+ ### STT options
52
+
53
+ `model`, `language`, `sample_rate`, `interim_results`, `parse_number`, `aux`,
54
+ `min_confidence`, `hotwords` (`bodhi.BodhiHotword(phrase, score)`),
55
+ `endpoint_silence_duration`.
56
+
57
+ ### TTS options
58
+
59
+ `voice`, `language`, `sample_rate` (8000/16000/24000), `use_fast`, `num_step`,
60
+ `guidance_scale`.
61
+
62
+ ## License
63
+
64
+ Apache-2.0. The implementation ships in the
65
+ [`bodhi-api-sdk`](https://github.com/navana-tech/bodhi-python-sdk) package; this
66
+ plugin re-exports it under the `livekit.plugins.bodhi` namespace.
@@ -0,0 +1,7 @@
1
+ livekit/plugins/bodhi/__init__.py,sha256=aVsWrUyHO9FnRKd4TQ-WONd55xbpFZCNsb6h67pls6s,2041
2
+ livekit/plugins/bodhi/log.py,sha256=eq_efdp-iSbeU3fLjg8dCEvDVdK2KciZ0c_wt7z89V0,68
3
+ livekit/plugins/bodhi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ livekit/plugins/bodhi/version.py,sha256=kUR5RAFc7HCeiqdlX36dZOHkUI5wI6V_43RpEcD8b-0,22
5
+ livekit_plugins_bodhi-0.1.0.dist-info/METADATA,sha256=NSmQnRlt44_LaUOp3HcOJJ8YkEXxSnWeh4wtdvaamTk,2100
6
+ livekit_plugins_bodhi-0.1.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
7
+ livekit_plugins_bodhi-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any