Fedir Zadniprovskyi 2024-05-26
fix: circular import
@5741d7c7d9dc4e745ef560756bffd3fb6e3f60f1
Taskfile.yaml
--- Taskfile.yaml
+++ Taskfile.yaml
@@ -15,7 +15,7 @@
   create-multi-arch-builder: docker buildx create --name main --driver=docker-container
   build-and-push:
     cmds:
-      - docker compose build --builder main
+      - docker compose build --builder main --push
     sources:
       - Dockerfile.*
       - speaches/*.py
speaches/config.py
--- speaches/config.py
+++ speaches/config.py
@@ -3,8 +3,6 @@
 from pydantic import BaseModel, Field
 from pydantic_settings import BaseSettings, SettingsConfigDict
 
-from speaches.server_models import ResponseFormat
-
 SAMPLES_PER_SECOND = 16000
 BYTES_PER_SAMPLE = 2
 BYTES_PER_SECOND = SAMPLES_PER_SECOND * BYTES_PER_SAMPLE
@@ -12,6 +10,15 @@
 # 1 SECOND OF AUDIO = 32000 BYTES = 16000 SAMPLES
 
 
+# https://platform.openai.com/docs/api-reference/audio/createTranscription#audio-createtranscription-response_format
+class ResponseFormat(enum.StrEnum):
+    TEXT = "text"
+    JSON = "json"
+    VERBOSE_JSON = "verbose_json"
+    # VTT = "vtt"
+    # SRT = "srt"
+
+
 # https://huggingface.co/Systran
 class Model(enum.StrEnum):
     TINY_EN = "tiny.en"
speaches/main.py
--- speaches/main.py
+++ speaches/main.py
@@ -17,10 +17,11 @@
 from speaches import utils
 from speaches.asr import FasterWhisperASR
 from speaches.audio import AudioStream, audio_samples_from_file
-from speaches.config import SAMPLES_PER_SECOND, Language, Model, config
+from speaches.config import (SAMPLES_PER_SECOND, Language, Model,
+                             ResponseFormat, config)
 from speaches.core import Transcription
 from speaches.logger import logger
-from speaches.server_models import (ResponseFormat, TranscriptionJsonResponse,
+from speaches.server_models import (TranscriptionJsonResponse,
                                     TranscriptionVerboseJsonResponse)
 from speaches.transcriber import audio_transcriber
 
speaches/server_models.py
--- speaches/server_models.py
+++ speaches/server_models.py
@@ -1,21 +1,10 @@
 from __future__ import annotations
 
-import enum
-
 from faster_whisper.transcribe import Segment, TranscriptionInfo, Word
 from pydantic import BaseModel
 
 from speaches import utils
 from speaches.core import Transcription
-
-
-# https://platform.openai.com/docs/api-reference/audio/createTranscription#audio-createtranscription-response_format
-class ResponseFormat(enum.StrEnum):
-    TEXT = "text"
-    JSON = "json"
-    VERBOSE_JSON = "verbose_json"
-    # VTT = "vtt"
-    # SRT = "srt"
 
 
 # https://platform.openai.com/docs/api-reference/audio/json-object
Add a comment
List