Skip to content

Commit a82f0c6

Browse files
dmccrystals0h3yl
authored andcommitted
refactor!: remove redundant suffixes from Transcript properties
GitOrigin-RevId: 9962b01c2508f60d64c9e0c09548a544b1137c92
1 parent 6bf1c58 commit a82f0c6

File tree

5 files changed

+48
-36
lines changed

5 files changed

+48
-36
lines changed

README.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ transcript = transcriber.transcribe(
323323

324324

325325
# Get the parts of the transcript which were flagged as sensitive
326-
for result in transcript.content_safety_labels.results:
326+
for result in transcript.content_safety.results:
327327
print(result.text) # sensitive text snippet
328328
print(result.timestamp.start)
329329
print(result.timestamp.end)
@@ -334,11 +334,11 @@ for result in transcript.content_safety_labels.results:
334334
print(label.severity) # severity of the text in relation to the category
335335

336336
# Get the confidence of the most common labels in relation to the entire audio file
337-
for label, confidence in transcript.content_safety_labels.summary.items():
337+
for label, confidence in transcript.content_safety.summary.items():
338338
print(f"{confidence * 100}% confident that the audio contains {label}")
339339

340340
# Get the overall severity of the most common labels in relation to the entire audio file
341-
for label, severity_confidence in transcript.content_safety_labels.severity_score_summary.items():
341+
for label, severity_confidence in transcript.content_safety.severity_score_summary.items():
342342
print(f"{severity_confidence.low * 100}% confident that the audio contains low-severity {label}")
343343
print(f"{severity_confidence.medium * 100}% confident that the audio contains mid-severity {label}")
344344
print(f"{severity_confidence.high * 100}% confident that the audio contains high-severity {label}")
@@ -369,7 +369,7 @@ transcript = transcriber.transcribe(
369369
config=aai.TranscriptionConfig(sentiment_analysis=True)
370370
)
371371

372-
for sentiment_result in transcript.sentiment_analysis_results:
372+
for sentiment_result in transcript.sentiment_analysis:
373373
print(sentiment_result.text)
374374
print(sentiment_result.sentiment) # POSITIVE, NEUTRAL, or NEGATIVE
375375
print(sentiment_result.confidence)
@@ -385,7 +385,7 @@ config = aai.TranscriptionConfig(sentiment_analysis=True, speaker_labels=True)
385385

386386
# ...
387387

388-
for sentiment_result in transcript.sentiment_analysis_results:
388+
for sentiment_result in transcript.sentiment_analysis:
389389
print(sentiment_result.speaker)
390390
```
391391

@@ -453,7 +453,7 @@ transcript = transcriber.transcribe(
453453
config=aai.TranscriptionConfig(auto_highlights=True)
454454
)
455455

456-
for result in transcript.auto_highlights_result.results:
456+
for result in transcript.auto_highlights.results:
457457
print(result.text) # the important phrase
458458
print(result.rank) # relevancy of the phrase
459459
print(result.count) # number of instances of the phrase

assemblyai/transcriber.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,26 +212,38 @@ def summary(self) -> Optional[str]:
212212

213213
@property
214214
def chapters(self) -> Optional[List[types.Chapter]]:
215+
"The list of auto-chapters results"
216+
215217
return self._impl.transcript.chapters
216218

217219
@property
218-
def content_safety_labels(self) -> Optional[types.ContentSafetyResponse]:
220+
def content_safety(self) -> Optional[types.ContentSafetyResponse]:
221+
"The results from the content safety analysis"
222+
219223
return self._impl.transcript.content_safety_labels
220224

221225
@property
222-
def sentiment_analysis_results(self) -> Optional[List[types.Sentiment]]:
226+
def sentiment_analysis(self) -> Optional[List[types.Sentiment]]:
227+
"The list of sentiment analysis results"
228+
223229
return self._impl.transcript.sentiment_analysis_results
224230

225231
@property
226232
def entities(self) -> Optional[List[types.Entity]]:
233+
"The list of entity detection results"
234+
227235
return self._impl.transcript.entities
228236

229237
@property
230238
def iab_categories(self) -> Optional[types.IABResponse]:
239+
"The results from the IAB category detection"
240+
231241
return self._impl.transcript.iab_categories_result
232242

233243
@property
234-
def auto_highlights_result(self) -> Optional[types.AutohighlightResponse]:
244+
def auto_highlights(self) -> Optional[types.AutohighlightResponse]:
245+
"The results from the auto-highlights model"
246+
235247
return self._impl.transcript.auto_highlights_result
236248

237249
@property

tests/unit/test_auto_highlights.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ def test_auto_highlights_disabled_by_default(httpx_mock: HTTPXMock):
9999
config=aai.TranscriptionConfig(),
100100
)
101101
assert request_body.get("auto_highlights") is None
102-
assert transcript.auto_highlights_result is None
102+
assert transcript.auto_highlights is None
103103

104104

105105
def test_auto_highlights_enabled(httpx_mock: HTTPXMock):
@@ -122,21 +122,21 @@ def test_auto_highlights_enabled(httpx_mock: HTTPXMock):
122122

123123
# Check that transcript was properly parsed from JSON response
124124
assert transcript.error is None
125-
assert transcript.auto_highlights_result is not None
125+
assert transcript.auto_highlights is not None
126126
assert (
127-
transcript.auto_highlights_result.status
127+
transcript.auto_highlights.status
128128
== mock_response["auto_highlights_result"]["status"]
129129
)
130130

131-
assert transcript.auto_highlights_result.results is not None
132-
assert len(transcript.auto_highlights_result.results) > 0
133-
assert len(transcript.auto_highlights_result.results) == len(
131+
assert transcript.auto_highlights.results is not None
132+
assert len(transcript.auto_highlights.results) > 0
133+
assert len(transcript.auto_highlights.results) == len(
134134
mock_response["auto_highlights_result"]["results"]
135135
)
136136

137137
for response_result, transcript_result in zip(
138138
mock_response["auto_highlights_result"]["results"],
139-
transcript.auto_highlights_result.results,
139+
transcript.auto_highlights.results,
140140
):
141141
assert transcript_result.count == response_result["count"]
142142
assert transcript_result.rank == response_result["rank"]

tests/unit/test_content_safety.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ def test_content_safety_disabled_by_default(httpx_mock: HTTPXMock):
132132
config=aai.TranscriptionConfig(),
133133
)
134134
assert request_body.get("content_safety") is None
135-
assert transcript.content_safety_labels is None
135+
assert transcript.content_safety is None
136136

137137

138138
def test_content_safety_enabled(httpx_mock: HTTPXMock):
@@ -155,20 +155,20 @@ def test_content_safety_enabled(httpx_mock: HTTPXMock):
155155

156156
# Check that transcript was properly parsed from JSON response
157157
assert transcript.error is None
158-
assert transcript.content_safety_labels is not None
158+
assert transcript.content_safety is not None
159159

160160
# Verify status
161-
assert transcript.content_safety_labels.status == aai.types.StatusResult.success
161+
assert transcript.content_safety.status == aai.types.StatusResult.success
162162

163163
# Verify results
164-
assert transcript.content_safety_labels.results is not None
165-
assert len(transcript.content_safety_labels.results) > 0
166-
assert len(transcript.content_safety_labels.results) == len(
164+
assert transcript.content_safety.results is not None
165+
assert len(transcript.content_safety.results) > 0
166+
assert len(transcript.content_safety.results) == len(
167167
mock_response["content_safety_labels"]["results"]
168168
)
169169
for response_result, transcript_result in zip(
170170
mock_response["content_safety_labels"]["results"],
171-
transcript.content_safety_labels.results,
171+
transcript.content_safety.results,
172172
):
173173
assert transcript_result.text == response_result["text"]
174174

@@ -187,14 +187,14 @@ def test_content_safety_enabled(httpx_mock: HTTPXMock):
187187
assert transcript_label.severity == response_label["severity"]
188188

189189
# Verify summary
190-
assert transcript.content_safety_labels.summary is not None
191-
assert len(transcript.content_safety_labels.summary) > 0
192-
assert len(transcript.content_safety_labels.summary) == len(
190+
assert transcript.content_safety.summary is not None
191+
assert len(transcript.content_safety.summary) > 0
192+
assert len(transcript.content_safety.summary) == len(
193193
mock_response["content_safety_labels"]["summary"]
194194
)
195195
for response_summary_items, transcript_summary_items in zip(
196196
mock_response["content_safety_labels"]["summary"].items(),
197-
transcript.content_safety_labels.summary.items(),
197+
transcript.content_safety.summary.items(),
198198
):
199199
response_summary_key, response_summary_value = response_summary_items
200200
transcript_summary_key, transcript_summary_value = transcript_summary_items
@@ -203,17 +203,17 @@ def test_content_safety_enabled(httpx_mock: HTTPXMock):
203203
assert transcript_summary_value == response_summary_value
204204

205205
# Verify severity score summary
206-
assert transcript.content_safety_labels.severity_score_summary is not None
207-
assert len(transcript.content_safety_labels.severity_score_summary) > 0
208-
assert len(transcript.content_safety_labels.severity_score_summary) == len(
206+
assert transcript.content_safety.severity_score_summary is not None
207+
assert len(transcript.content_safety.severity_score_summary) > 0
208+
assert len(transcript.content_safety.severity_score_summary) == len(
209209
mock_response["content_safety_labels"]["severity_score_summary"]
210210
)
211211
for (
212212
response_severity_score_summary_items,
213213
transcript_severity_score_summary_items,
214214
) in zip(
215215
mock_response["content_safety_labels"]["severity_score_summary"].items(),
216-
transcript.content_safety_labels.severity_score_summary.items(),
216+
transcript.content_safety.severity_score_summary.items(),
217217
):
218218
(
219219
response_severity_score_summary_key,

tests/unit/test_sentiment_analysis.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ def test_sentiment_analysis_disabled_by_default(httpx_mock: HTTPXMock):
8484
config=aai.TranscriptionConfig(),
8585
)
8686
assert request_body.get("sentiment_analysis") is None
87-
assert transcript.sentiment_analysis_results is None
87+
assert transcript.sentiment_analysis is None
8888

8989

9090
def test_sentiment_analysis_enabled(httpx_mock: HTTPXMock):
@@ -106,15 +106,15 @@ def test_sentiment_analysis_enabled(httpx_mock: HTTPXMock):
106106
# Check that transcript was properly parsed from JSON response
107107
assert transcript.error is None
108108

109-
assert transcript.sentiment_analysis_results is not None
110-
assert len(transcript.sentiment_analysis_results) > 0
111-
assert len(transcript.sentiment_analysis_results) == len(
109+
assert transcript.sentiment_analysis is not None
110+
assert len(transcript.sentiment_analysis) > 0
111+
assert len(transcript.sentiment_analysis) == len(
112112
mock_response["sentiment_analysis_results"]
113113
)
114114

115115
for response_sentiment_result, transcript_sentiment_result in zip(
116116
mock_response["sentiment_analysis_results"],
117-
transcript.sentiment_analysis_results,
117+
transcript.sentiment_analysis,
118118
):
119119
assert transcript_sentiment_result.text == response_sentiment_result["text"]
120120
assert transcript_sentiment_result.start == response_sentiment_result["start"]

0 commit comments

Comments
 (0)