Mercurial
view dictation/BUILD @ 280:49e9e591c9bb
Add persistent dictation, prewarmed WebRTC speech input, Copilot SDK routing, animated conversation lifecycle controls, parking, and architecture coverage.
| author | MrJuneJune <me@mrjunejune.com> |
|---|---|
| date | Tue, 18 Aug 2026 19:14:53 -0700 |
| parents | 78699f810817 |
| children |
line wrap: on
line source
load("@dictation_pip//:requirements.bzl", "requirement") load("@rules_python//python:pip.bzl", "compile_pip_requirements") load("@rules_python//python:py_binary.bzl", "py_binary") load("@rules_python//python:py_library.bzl", "py_library") load("@rules_python//python:py_test.bzl", "py_test") load("@rules_shell//shell:sh_binary.bzl", "sh_binary") compile_pip_requirements( name = "requirements", src = "requirements.in", extra_args = ["--allow-unsafe"], requirements_txt = "requirements_lock.txt", ) py_library( name = "dictation_lib", srcs = [ "__init__.py", "audio.py", "config.py", "server.py", "session.py", "transcriber.py", ], data = glob(["web/**"]), deps = [ requirement("aiortc"), requirement("av"), requirement("fastapi"), requirement("faster-whisper"), requirement("huggingface-hub"), requirement("numpy"), requirement("uvicorn"), ], ) py_binary( name = "dictation_bin", srcs = ["main.py"], data = glob(["web/**"]), main = "main.py", deps = [ ":dictation_lib", requirement("ctranslate2"), requirement("nvidia-cublas-cu12"), requirement("nvidia-cudnn-cu12"), ], ) py_binary( name = "webrtc_smoke", srcs = ["webrtc_smoke.py"], main = "webrtc_smoke.py", deps = [ requirement("aiortc"), requirement("httpx"), ], ) [ sh_binary( name = command, srcs = ["launcher.sh"], args = [ "$(rootpath :dictation_bin)", command, ], data = [ ":dictation_bin", requirement("nvidia-cublas-cu12"), requirement("nvidia-cudnn-cu12"), ], visibility = ["//infinite_canvas:__pkg__"], ) for command in [ "server", "preflight", "download_model", "transcribe", ] ] py_test( name = "audio_test", srcs = ["audio_test.py"], deps = [ ":dictation_lib", requirement("numpy"), ], ) py_test( name = "config_test", srcs = ["config_test.py"], deps = [":dictation_lib"], ) py_test( name = "server_test", srcs = ["server_test.py"], data = glob(["web/**"]), deps = [ ":dictation_lib", requirement("httpx"), ], ) py_test( name = "webrtc_test", srcs = ["webrtc_test.py"], deps = [ ":dictation_lib", requirement("aiortc"), requirement("av"), requirement("numpy"), ], ) test_suite( name = "all_tests", tests = [ ":audio_test", ":config_test", ":server_test", ":webrtc_test", ], )