zach commited on
Commit
701fd0f
·
1 Parent(s): 7f69677

Add voting results data structure to house voting results

Browse files
Files changed (1) hide show
  1. src/types.py +22 -6
src/types.py CHANGED
@@ -1,23 +1,39 @@
1
  """
2
  types.py
3
 
4
- This module defines custom types for the application to enforce the structure
5
- of the options map used in the user interface. This ensures that each option
6
- has a consistent structure including both the provider and the associated voice.
7
  """
8
 
9
  # Standard Library Imports
10
- from typing import Literal, Dict
11
 
12
 
13
  TTSProviderName = Literal["Hume AI", "ElevenLabs"]
14
  """TTSProviderName represents the allowed provider names for TTS services."""
15
 
16
 
 
 
 
 
17
  OptionKey = Literal["Option A", "Option B"]
18
  """OptionKey is restricted to the literal values 'Option A' or 'Option B'."""
19
 
20
 
21
  OptionMap = Dict[OptionKey, TTSProviderName]
22
- """OptionMap defines the structure of the options mapping, where each key is an OptionKey
23
- and the value is an OptionDetails dictionary."""
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  """
2
  types.py
3
 
4
+ This module defines custom types for the application.
 
 
5
  """
6
 
7
  # Standard Library Imports
8
+ from typing import Dict, Literal, TypedDict
9
 
10
 
11
  TTSProviderName = Literal["Hume AI", "ElevenLabs"]
12
  """TTSProviderName represents the allowed provider names for TTS services."""
13
 
14
 
15
+ ComparisonType = Literal["Hume AI - Hume AI", "Hume AI - ElevenLabs"]
16
+ """Comparison type denoting which providers are compared."""
17
+
18
+
19
  OptionKey = Literal["Option A", "Option B"]
20
  """OptionKey is restricted to the literal values 'Option A' or 'Option B'."""
21
 
22
 
23
  OptionMap = Dict[OptionKey, TTSProviderName]
24
+ """OptionMap defines the structure of the options mapping, where each key is an OptionKey and the value is a TTS provider."""
25
+
26
+
27
+ class VotingResults(TypedDict):
28
+ """Voting results data structure representing values we want to persist to the votes DB"""
29
+
30
+ comparison_type: str
31
+ winning_provider: TTSProviderName
32
+ winning_option: OptionKey
33
+ option_a_provider: TTSProviderName
34
+ option_b_provider: TTSProviderName
35
+ option_a_generation_id: str
36
+ option_b_generation_id: str
37
+ voice_description: str
38
+ text: str
39
+ is_custom_text: bool