fathom-python 0.0.37__tar.gz → 0.0.39__tar.gz
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.
- {fathom_python-0.0.37 → fathom_python-0.0.39}/PKG-INFO +12 -10
- {fathom_python-0.0.37 → fathom_python-0.0.39}/README.md +9 -8
- {fathom_python-0.0.37 → fathom_python-0.0.39}/pyproject.toml +1 -1
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/_version.py +2 -2
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/__init__.py +33 -2
- fathom_python-0.0.39/src/fathom_python/models/highlight.py +67 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/listmeetingsop.py +20 -15
- fathom_python-0.0.39/src/fathom_python/models/listmeetingtypesop.py +34 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/meeting.py +12 -0
- fathom_python-0.0.39/src/fathom_python/models/meetingtype.py +34 -0
- fathom_python-0.0.39/src/fathom_python/models/meetingtypelistresponse.py +52 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/sdk.py +228 -4
- fathom_python-0.0.39/src/fathom_python/types/base64fileinput.py +39 -0
- fathom_python-0.0.39/src/fathom_python/utils/dynamic_imports.py +54 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/py.typed +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/__init__.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/_hooks/__init__.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/_hooks/registration.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/_hooks/sdkhooks.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/_hooks/types.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/basesdk.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/errors/__init__.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/errors/apierror.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/errors/fathomerror.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/errors/no_response_error.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/errors/responsevalidationerror.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/httpclient.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/actionitem.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/assignee.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/callbackresponse.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/createwebhookop.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/crmcompanymatch.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/crmcontactmatch.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/crmdealmatch.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/crmmatches.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/deletewebhookop.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/fathomuser.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/getrecordingsummaryop.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/getrecordingtranscriptop.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/invitee.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/listteammembersop.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/listteamsop.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/meetinglistresponse.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/meetingsummary.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/security.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/team.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/teamlistresponse.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/teammember.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/teammemberlistresponse.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/transcriptitem.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/transcriptitemspeaker.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/webhook.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/py.typed +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/sdkconfiguration.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/types/__init__.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/types/basemodel.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/__init__.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/annotations.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/datetimes.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/enums.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/eventstreaming.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/forms.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/headers.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/logger.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/metadata.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/queryparams.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/requestbodies.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/retries.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/security.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/serializers.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/unmarshal_json_response.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/url.py +0 -0
- {fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/values.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: fathom-python
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.39
|
|
4
4
|
Summary: Fathom's official Python SDK.
|
|
5
5
|
Author: Speakeasy
|
|
6
6
|
Requires-Python: >=3.9.2
|
|
@@ -9,6 +9,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
9
9
|
Classifier: Programming Language :: Python :: 3.11
|
|
10
10
|
Classifier: Programming Language :: Python :: 3.12
|
|
11
11
|
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
12
13
|
Requires-Dist: httpcore (>=1.0.9)
|
|
13
14
|
Requires-Dist: httpx (>=0.28.1)
|
|
14
15
|
Requires-Dist: jsonpath-python (>=1.0.6)
|
|
@@ -123,7 +124,7 @@ with Fathom(
|
|
|
123
124
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
124
125
|
"acme.com",
|
|
125
126
|
"client.com",
|
|
126
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
127
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
127
128
|
"ceo@acme.com",
|
|
128
129
|
"pm@acme.com",
|
|
129
130
|
], teams=[
|
|
@@ -158,7 +159,7 @@ async def main():
|
|
|
158
159
|
res = await fathom.list_meetings_async(calendar_invitees_domains=[
|
|
159
160
|
"acme.com",
|
|
160
161
|
"client.com",
|
|
161
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
162
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
162
163
|
"ceo@acme.com",
|
|
163
164
|
"pm@acme.com",
|
|
164
165
|
], teams=[
|
|
@@ -202,7 +203,7 @@ with Fathom(
|
|
|
202
203
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
203
204
|
"acme.com",
|
|
204
205
|
"client.com",
|
|
205
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
206
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
206
207
|
"ceo@acme.com",
|
|
207
208
|
"pm@acme.com",
|
|
208
209
|
], teams=[
|
|
@@ -231,6 +232,7 @@ with Fathom(
|
|
|
231
232
|
* [get_recording_transcript](docs/sdks/fathom/README.md#get_recording_transcript) - Get transcript
|
|
232
233
|
* [list_teams](docs/sdks/fathom/README.md#list_teams) - List teams
|
|
233
234
|
* [list_team_members](docs/sdks/fathom/README.md#list_team_members) - List team members
|
|
235
|
+
* [list_meeting_types](docs/sdks/fathom/README.md#list_meeting_types) - List meeting types
|
|
234
236
|
* [create_webhook](docs/sdks/fathom/README.md#create_webhook) - Create a webhook
|
|
235
237
|
* [delete_webhook](docs/sdks/fathom/README.md#delete_webhook) - Delete a webhook
|
|
236
238
|
|
|
@@ -259,7 +261,7 @@ with Fathom(
|
|
|
259
261
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
260
262
|
"acme.com",
|
|
261
263
|
"client.com",
|
|
262
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
264
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
263
265
|
"ceo@acme.com",
|
|
264
266
|
"pm@acme.com",
|
|
265
267
|
], teams=[
|
|
@@ -296,7 +298,7 @@ with Fathom(
|
|
|
296
298
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
297
299
|
"acme.com",
|
|
298
300
|
"client.com",
|
|
299
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
301
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
300
302
|
"ceo@acme.com",
|
|
301
303
|
"pm@acme.com",
|
|
302
304
|
], teams=[
|
|
@@ -329,7 +331,7 @@ with Fathom(
|
|
|
329
331
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
330
332
|
"acme.com",
|
|
331
333
|
"client.com",
|
|
332
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
334
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
333
335
|
"ceo@acme.com",
|
|
334
336
|
"pm@acme.com",
|
|
335
337
|
], teams=[
|
|
@@ -375,7 +377,7 @@ with Fathom(
|
|
|
375
377
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
376
378
|
"acme.com",
|
|
377
379
|
"client.com",
|
|
378
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
380
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
379
381
|
"ceo@acme.com",
|
|
380
382
|
"pm@acme.com",
|
|
381
383
|
], teams=[
|
|
@@ -440,7 +442,7 @@ with Fathom(
|
|
|
440
442
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
441
443
|
"acme.com",
|
|
442
444
|
"client.com",
|
|
443
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
445
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
444
446
|
"ceo@acme.com",
|
|
445
447
|
"pm@acme.com",
|
|
446
448
|
], teams=[
|
|
@@ -103,7 +103,7 @@ with Fathom(
|
|
|
103
103
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
104
104
|
"acme.com",
|
|
105
105
|
"client.com",
|
|
106
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
106
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
107
107
|
"ceo@acme.com",
|
|
108
108
|
"pm@acme.com",
|
|
109
109
|
], teams=[
|
|
@@ -138,7 +138,7 @@ async def main():
|
|
|
138
138
|
res = await fathom.list_meetings_async(calendar_invitees_domains=[
|
|
139
139
|
"acme.com",
|
|
140
140
|
"client.com",
|
|
141
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
141
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
142
142
|
"ceo@acme.com",
|
|
143
143
|
"pm@acme.com",
|
|
144
144
|
], teams=[
|
|
@@ -182,7 +182,7 @@ with Fathom(
|
|
|
182
182
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
183
183
|
"acme.com",
|
|
184
184
|
"client.com",
|
|
185
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
185
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
186
186
|
"ceo@acme.com",
|
|
187
187
|
"pm@acme.com",
|
|
188
188
|
], teams=[
|
|
@@ -211,6 +211,7 @@ with Fathom(
|
|
|
211
211
|
* [get_recording_transcript](docs/sdks/fathom/README.md#get_recording_transcript) - Get transcript
|
|
212
212
|
* [list_teams](docs/sdks/fathom/README.md#list_teams) - List teams
|
|
213
213
|
* [list_team_members](docs/sdks/fathom/README.md#list_team_members) - List team members
|
|
214
|
+
* [list_meeting_types](docs/sdks/fathom/README.md#list_meeting_types) - List meeting types
|
|
214
215
|
* [create_webhook](docs/sdks/fathom/README.md#create_webhook) - Create a webhook
|
|
215
216
|
* [delete_webhook](docs/sdks/fathom/README.md#delete_webhook) - Delete a webhook
|
|
216
217
|
|
|
@@ -239,7 +240,7 @@ with Fathom(
|
|
|
239
240
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
240
241
|
"acme.com",
|
|
241
242
|
"client.com",
|
|
242
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
243
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
243
244
|
"ceo@acme.com",
|
|
244
245
|
"pm@acme.com",
|
|
245
246
|
], teams=[
|
|
@@ -276,7 +277,7 @@ with Fathom(
|
|
|
276
277
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
277
278
|
"acme.com",
|
|
278
279
|
"client.com",
|
|
279
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
280
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
280
281
|
"ceo@acme.com",
|
|
281
282
|
"pm@acme.com",
|
|
282
283
|
], teams=[
|
|
@@ -309,7 +310,7 @@ with Fathom(
|
|
|
309
310
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
310
311
|
"acme.com",
|
|
311
312
|
"client.com",
|
|
312
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
313
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
313
314
|
"ceo@acme.com",
|
|
314
315
|
"pm@acme.com",
|
|
315
316
|
], teams=[
|
|
@@ -355,7 +356,7 @@ with Fathom(
|
|
|
355
356
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
356
357
|
"acme.com",
|
|
357
358
|
"client.com",
|
|
358
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
359
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
359
360
|
"ceo@acme.com",
|
|
360
361
|
"pm@acme.com",
|
|
361
362
|
], teams=[
|
|
@@ -420,7 +421,7 @@ with Fathom(
|
|
|
420
421
|
res = fathom.list_meetings(calendar_invitees_domains=[
|
|
421
422
|
"acme.com",
|
|
422
423
|
"client.com",
|
|
423
|
-
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=
|
|
424
|
+
], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_highlights=False, include_summary=False, include_transcript=False, meeting_type="Quarterly Business Review", recorded_by=[
|
|
424
425
|
"ceo@acme.com",
|
|
425
426
|
"pm@acme.com",
|
|
426
427
|
], teams=[
|
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
import importlib.metadata
|
|
4
4
|
|
|
5
5
|
__title__: str = "fathom-python"
|
|
6
|
-
__version__: str = "0.0.
|
|
6
|
+
__version__: str = "0.0.39"
|
|
7
7
|
__openapi_doc_version__: str = "1.0.0"
|
|
8
8
|
__gen_version__: str = "2.762.0"
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 0.0.
|
|
9
|
+
__user_agent__: str = "speakeasy-sdk/python 0.0.39 2.762.0 1.0.0 fathom-python"
|
|
10
10
|
|
|
11
11
|
try:
|
|
12
12
|
if __package__ is not None:
|
|
@@ -36,6 +36,7 @@ if TYPE_CHECKING:
|
|
|
36
36
|
GetRecordingTranscriptResponseBodyTypedDict,
|
|
37
37
|
GetRecordingTranscriptResponseTypedDict,
|
|
38
38
|
)
|
|
39
|
+
from .highlight import Highlight, HighlightTypedDict
|
|
39
40
|
from .invitee import Invitee, InviteeTypedDict
|
|
40
41
|
from .listmeetingsop import (
|
|
41
42
|
ListMeetingsCalendarInviteesDomainsType,
|
|
@@ -43,7 +44,12 @@ if TYPE_CHECKING:
|
|
|
43
44
|
ListMeetingsRequestTypedDict,
|
|
44
45
|
ListMeetingsResponse,
|
|
45
46
|
ListMeetingsResponseTypedDict,
|
|
46
|
-
|
|
47
|
+
)
|
|
48
|
+
from .listmeetingtypesop import (
|
|
49
|
+
ListMeetingTypesRequest,
|
|
50
|
+
ListMeetingTypesRequestTypedDict,
|
|
51
|
+
ListMeetingTypesResponse,
|
|
52
|
+
ListMeetingTypesResponseTypedDict,
|
|
47
53
|
)
|
|
48
54
|
from .listteammembersop import (
|
|
49
55
|
ListTeamMembersRequest,
|
|
@@ -60,6 +66,11 @@ if TYPE_CHECKING:
|
|
|
60
66
|
from .meeting import CalendarInviteesDomainsType, Meeting, MeetingTypedDict
|
|
61
67
|
from .meetinglistresponse import MeetingListResponse, MeetingListResponseTypedDict
|
|
62
68
|
from .meetingsummary import MeetingSummary, MeetingSummaryTypedDict
|
|
69
|
+
from .meetingtype import MeetingType, MeetingTypeTypedDict, Status
|
|
70
|
+
from .meetingtypelistresponse import (
|
|
71
|
+
MeetingTypeListResponse,
|
|
72
|
+
MeetingTypeListResponseTypedDict,
|
|
73
|
+
)
|
|
63
74
|
from .security import Security, SecurityTypedDict
|
|
64
75
|
from .team import Team, TeamTypedDict
|
|
65
76
|
from .teamlistresponse import TeamListResponse, TeamListResponseTypedDict
|
|
@@ -110,8 +121,14 @@ __all__ = [
|
|
|
110
121
|
"GetRecordingTranscriptResponseBody",
|
|
111
122
|
"GetRecordingTranscriptResponseBodyTypedDict",
|
|
112
123
|
"GetRecordingTranscriptResponseTypedDict",
|
|
124
|
+
"Highlight",
|
|
125
|
+
"HighlightTypedDict",
|
|
113
126
|
"Invitee",
|
|
114
127
|
"InviteeTypedDict",
|
|
128
|
+
"ListMeetingTypesRequest",
|
|
129
|
+
"ListMeetingTypesRequestTypedDict",
|
|
130
|
+
"ListMeetingTypesResponse",
|
|
131
|
+
"ListMeetingTypesResponseTypedDict",
|
|
115
132
|
"ListMeetingsCalendarInviteesDomainsType",
|
|
116
133
|
"ListMeetingsRequest",
|
|
117
134
|
"ListMeetingsRequestTypedDict",
|
|
@@ -131,9 +148,13 @@ __all__ = [
|
|
|
131
148
|
"MeetingSummary",
|
|
132
149
|
"MeetingSummaryTypedDict",
|
|
133
150
|
"MeetingType",
|
|
151
|
+
"MeetingTypeListResponse",
|
|
152
|
+
"MeetingTypeListResponseTypedDict",
|
|
153
|
+
"MeetingTypeTypedDict",
|
|
134
154
|
"MeetingTypedDict",
|
|
135
155
|
"Security",
|
|
136
156
|
"SecurityTypedDict",
|
|
157
|
+
"Status",
|
|
137
158
|
"Team",
|
|
138
159
|
"TeamListResponse",
|
|
139
160
|
"TeamListResponseTypedDict",
|
|
@@ -185,6 +206,8 @@ _dynamic_imports: dict[str, str] = {
|
|
|
185
206
|
"GetRecordingTranscriptResponseBody": ".getrecordingtranscriptop",
|
|
186
207
|
"GetRecordingTranscriptResponseBodyTypedDict": ".getrecordingtranscriptop",
|
|
187
208
|
"GetRecordingTranscriptResponseTypedDict": ".getrecordingtranscriptop",
|
|
209
|
+
"Highlight": ".highlight",
|
|
210
|
+
"HighlightTypedDict": ".highlight",
|
|
188
211
|
"Invitee": ".invitee",
|
|
189
212
|
"InviteeTypedDict": ".invitee",
|
|
190
213
|
"ListMeetingsCalendarInviteesDomainsType": ".listmeetingsop",
|
|
@@ -192,7 +215,10 @@ _dynamic_imports: dict[str, str] = {
|
|
|
192
215
|
"ListMeetingsRequestTypedDict": ".listmeetingsop",
|
|
193
216
|
"ListMeetingsResponse": ".listmeetingsop",
|
|
194
217
|
"ListMeetingsResponseTypedDict": ".listmeetingsop",
|
|
195
|
-
"
|
|
218
|
+
"ListMeetingTypesRequest": ".listmeetingtypesop",
|
|
219
|
+
"ListMeetingTypesRequestTypedDict": ".listmeetingtypesop",
|
|
220
|
+
"ListMeetingTypesResponse": ".listmeetingtypesop",
|
|
221
|
+
"ListMeetingTypesResponseTypedDict": ".listmeetingtypesop",
|
|
196
222
|
"ListTeamMembersRequest": ".listteammembersop",
|
|
197
223
|
"ListTeamMembersRequestTypedDict": ".listteammembersop",
|
|
198
224
|
"ListTeamMembersResponse": ".listteammembersop",
|
|
@@ -208,6 +234,11 @@ _dynamic_imports: dict[str, str] = {
|
|
|
208
234
|
"MeetingListResponseTypedDict": ".meetinglistresponse",
|
|
209
235
|
"MeetingSummary": ".meetingsummary",
|
|
210
236
|
"MeetingSummaryTypedDict": ".meetingsummary",
|
|
237
|
+
"MeetingType": ".meetingtype",
|
|
238
|
+
"MeetingTypeTypedDict": ".meetingtype",
|
|
239
|
+
"Status": ".meetingtype",
|
|
240
|
+
"MeetingTypeListResponse": ".meetingtypelistresponse",
|
|
241
|
+
"MeetingTypeListResponseTypedDict": ".meetingtypelistresponse",
|
|
211
242
|
"Security": ".security",
|
|
212
243
|
"SecurityTypedDict": ".security",
|
|
213
244
|
"Team": ".team",
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from fathom_python.types import BaseModel, Nullable, UNSET_SENTINEL
|
|
5
|
+
from pydantic import model_serializer
|
|
6
|
+
from typing import Optional
|
|
7
|
+
from typing_extensions import NotRequired, TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class HighlightTypedDict(TypedDict):
|
|
11
|
+
type: str
|
|
12
|
+
r"""The label of the bookmark this highlight was created from."""
|
|
13
|
+
summary: Nullable[str]
|
|
14
|
+
r"""A short summary of the highlighted moment."""
|
|
15
|
+
start_time: float
|
|
16
|
+
r"""Start of the highlight, in seconds from the start of the recording."""
|
|
17
|
+
end_time: float
|
|
18
|
+
r"""End of the highlight, in seconds from the start of the recording."""
|
|
19
|
+
text: NotRequired[str]
|
|
20
|
+
r"""The full text of the highlight. Only present when it differs from `summary`."""
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
class Highlight(BaseModel):
|
|
24
|
+
type: str
|
|
25
|
+
r"""The label of the bookmark this highlight was created from."""
|
|
26
|
+
|
|
27
|
+
summary: Nullable[str]
|
|
28
|
+
r"""A short summary of the highlighted moment."""
|
|
29
|
+
|
|
30
|
+
start_time: float
|
|
31
|
+
r"""Start of the highlight, in seconds from the start of the recording."""
|
|
32
|
+
|
|
33
|
+
end_time: float
|
|
34
|
+
r"""End of the highlight, in seconds from the start of the recording."""
|
|
35
|
+
|
|
36
|
+
text: Optional[str] = None
|
|
37
|
+
r"""The full text of the highlight. Only present when it differs from `summary`."""
|
|
38
|
+
|
|
39
|
+
@model_serializer(mode="wrap")
|
|
40
|
+
def serialize_model(self, handler):
|
|
41
|
+
optional_fields = ["text"]
|
|
42
|
+
nullable_fields = ["summary"]
|
|
43
|
+
null_default_fields = []
|
|
44
|
+
|
|
45
|
+
serialized = handler(self)
|
|
46
|
+
|
|
47
|
+
m = {}
|
|
48
|
+
|
|
49
|
+
for n, f in type(self).model_fields.items():
|
|
50
|
+
k = f.alias or n
|
|
51
|
+
val = serialized.get(k)
|
|
52
|
+
serialized.pop(k, None)
|
|
53
|
+
|
|
54
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
55
|
+
is_set = (
|
|
56
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
57
|
+
or k in null_default_fields
|
|
58
|
+
) # pylint: disable=no-member
|
|
59
|
+
|
|
60
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
61
|
+
m[k] = val
|
|
62
|
+
elif val != UNSET_SENTINEL and (
|
|
63
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
64
|
+
):
|
|
65
|
+
m[k] = val
|
|
66
|
+
|
|
67
|
+
return m
|
|
@@ -18,14 +18,6 @@ class ListMeetingsCalendarInviteesDomainsType(str, Enum):
|
|
|
18
18
|
ONE_OR_MORE_EXTERNAL = "one_or_more_external"
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class MeetingType(str, Enum):
|
|
22
|
-
r"""Filter by meeting type."""
|
|
23
|
-
|
|
24
|
-
ALL = "all"
|
|
25
|
-
INTERNAL = "internal"
|
|
26
|
-
EXTERNAL = "external"
|
|
27
|
-
|
|
28
|
-
|
|
29
21
|
class ListMeetingsRequestTypedDict(TypedDict):
|
|
30
22
|
calendar_invitees_domains: NotRequired[List[str]]
|
|
31
23
|
r"""Domains of the companies to filter by. Exact match.
|
|
@@ -48,12 +40,18 @@ class ListMeetingsRequestTypedDict(TypedDict):
|
|
|
48
40
|
r"""Include the action items for each meeting."""
|
|
49
41
|
include_crm_matches: NotRequired[bool]
|
|
50
42
|
r"""Include CRM matches for each meeting. Only returns data from your or your team's linked CRM."""
|
|
43
|
+
include_highlights: NotRequired[bool]
|
|
44
|
+
r"""Include the highlights for each meeting."""
|
|
51
45
|
include_summary: NotRequired[bool]
|
|
52
46
|
r"""Include the summary for each meeting. Unavailable for OAuth connected apps (use /recordings instead)."""
|
|
53
47
|
include_transcript: NotRequired[bool]
|
|
54
48
|
r"""Include the transcript for each meeting. Unavailable for OAuth connected apps (use /recordings instead)."""
|
|
55
|
-
meeting_type: NotRequired[
|
|
56
|
-
r"""Filter by meeting type.
|
|
49
|
+
meeting_type: NotRequired[str]
|
|
50
|
+
r"""Filter by meeting type name.
|
|
51
|
+
|
|
52
|
+
Returns only meetings assigned the meeting type with this name. Use /meeting_types to discover valid values. An unknown or non-matching name returns an empty list.
|
|
53
|
+
|
|
54
|
+
"""
|
|
57
55
|
recorded_by: NotRequired[List[str]]
|
|
58
56
|
r"""Email addresses of users who recorded meetings.
|
|
59
57
|
|
|
@@ -125,6 +123,12 @@ class ListMeetingsRequest(BaseModel):
|
|
|
125
123
|
] = False
|
|
126
124
|
r"""Include CRM matches for each meeting. Only returns data from your or your team's linked CRM."""
|
|
127
125
|
|
|
126
|
+
include_highlights: Annotated[
|
|
127
|
+
Optional[bool],
|
|
128
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
129
|
+
] = False
|
|
130
|
+
r"""Include the highlights for each meeting."""
|
|
131
|
+
|
|
128
132
|
include_summary: Annotated[
|
|
129
133
|
Optional[bool],
|
|
130
134
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
@@ -138,13 +142,14 @@ class ListMeetingsRequest(BaseModel):
|
|
|
138
142
|
r"""Include the transcript for each meeting. Unavailable for OAuth connected apps (use /recordings instead)."""
|
|
139
143
|
|
|
140
144
|
meeting_type: Annotated[
|
|
141
|
-
Optional[
|
|
142
|
-
pydantic.Field(
|
|
143
|
-
deprecated="warning: ** DEPRECATED ** - This will be removed in a future release, please migrate away from it as soon as possible."
|
|
144
|
-
),
|
|
145
|
+
Optional[str],
|
|
145
146
|
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
146
147
|
] = None
|
|
147
|
-
r"""Filter by meeting type.
|
|
148
|
+
r"""Filter by meeting type name.
|
|
149
|
+
|
|
150
|
+
Returns only meetings assigned the meeting type with this name. Use /meeting_types to discover valid values. An unknown or non-matching name returns an empty list.
|
|
151
|
+
|
|
152
|
+
"""
|
|
148
153
|
|
|
149
154
|
recorded_by: Annotated[
|
|
150
155
|
Optional[List[str]],
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .meetingtypelistresponse import (
|
|
5
|
+
MeetingTypeListResponse,
|
|
6
|
+
MeetingTypeListResponseTypedDict,
|
|
7
|
+
)
|
|
8
|
+
from fathom_python.types import BaseModel
|
|
9
|
+
from fathom_python.utils import FieldMetadata, QueryParamMetadata
|
|
10
|
+
from typing import Callable, Optional
|
|
11
|
+
from typing_extensions import Annotated, NotRequired, TypedDict
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
class ListMeetingTypesRequestTypedDict(TypedDict):
|
|
15
|
+
cursor: NotRequired[str]
|
|
16
|
+
r"""Cursor for pagination."""
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
class ListMeetingTypesRequest(BaseModel):
|
|
20
|
+
cursor: Annotated[
|
|
21
|
+
Optional[str],
|
|
22
|
+
FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
|
|
23
|
+
] = None
|
|
24
|
+
r"""Cursor for pagination."""
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
class ListMeetingTypesResponseTypedDict(TypedDict):
|
|
28
|
+
result: MeetingTypeListResponseTypedDict
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
class ListMeetingTypesResponse(BaseModel):
|
|
32
|
+
next: Callable[[], Optional[ListMeetingTypesResponse]]
|
|
33
|
+
|
|
34
|
+
result: MeetingTypeListResponse
|
|
@@ -4,6 +4,7 @@ from __future__ import annotations
|
|
|
4
4
|
from .actionitem import ActionItem, ActionItemTypedDict
|
|
5
5
|
from .crmmatches import CRMMatches, CRMMatchesTypedDict
|
|
6
6
|
from .fathomuser import FathomUser, FathomUserTypedDict
|
|
7
|
+
from .highlight import Highlight, HighlightTypedDict
|
|
7
8
|
from .invitee import Invitee, InviteeTypedDict
|
|
8
9
|
from .meetingsummary import MeetingSummary, MeetingSummaryTypedDict
|
|
9
10
|
from .transcriptitem import TranscriptItem, TranscriptItemTypedDict
|
|
@@ -30,6 +31,8 @@ class MeetingTypedDict(TypedDict):
|
|
|
30
31
|
title: str
|
|
31
32
|
meeting_title: Nullable[str]
|
|
32
33
|
r"""Calendar event title."""
|
|
34
|
+
meeting_type: Nullable[str]
|
|
35
|
+
r"""The name of the meeting type assigned to this meeting, or `null` if none is assigned."""
|
|
33
36
|
recording_id: int
|
|
34
37
|
r"""The ID of the meeting recording."""
|
|
35
38
|
url: str
|
|
@@ -46,6 +49,7 @@ class MeetingTypedDict(TypedDict):
|
|
|
46
49
|
transcript: NotRequired[Nullable[List[TranscriptItemTypedDict]]]
|
|
47
50
|
default_summary: NotRequired[Nullable[MeetingSummaryTypedDict]]
|
|
48
51
|
action_items: NotRequired[Nullable[List[ActionItemTypedDict]]]
|
|
52
|
+
highlights: NotRequired[Nullable[List[HighlightTypedDict]]]
|
|
49
53
|
crm_matches: NotRequired[Nullable[CRMMatchesTypedDict]]
|
|
50
54
|
r"""CRM data linked to the meeting. Only returns data from your or your team's linked CRM.
|
|
51
55
|
If no CRM is connected for the workspace, the `error` field will be populated.
|
|
@@ -59,6 +63,9 @@ class Meeting(BaseModel):
|
|
|
59
63
|
meeting_title: Nullable[str]
|
|
60
64
|
r"""Calendar event title."""
|
|
61
65
|
|
|
66
|
+
meeting_type: Nullable[str]
|
|
67
|
+
r"""The name of the meeting type assigned to this meeting, or `null` if none is assigned."""
|
|
68
|
+
|
|
62
69
|
recording_id: int
|
|
63
70
|
r"""The ID of the meeting recording."""
|
|
64
71
|
|
|
@@ -90,6 +97,8 @@ class Meeting(BaseModel):
|
|
|
90
97
|
|
|
91
98
|
action_items: OptionalNullable[List[ActionItem]] = UNSET
|
|
92
99
|
|
|
100
|
+
highlights: OptionalNullable[List[Highlight]] = UNSET
|
|
101
|
+
|
|
93
102
|
crm_matches: OptionalNullable[CRMMatches] = UNSET
|
|
94
103
|
r"""CRM data linked to the meeting. Only returns data from your or your team's linked CRM.
|
|
95
104
|
If no CRM is connected for the workspace, the `error` field will be populated.
|
|
@@ -102,13 +111,16 @@ class Meeting(BaseModel):
|
|
|
102
111
|
"transcript",
|
|
103
112
|
"default_summary",
|
|
104
113
|
"action_items",
|
|
114
|
+
"highlights",
|
|
105
115
|
"crm_matches",
|
|
106
116
|
]
|
|
107
117
|
nullable_fields = [
|
|
108
118
|
"meeting_title",
|
|
119
|
+
"meeting_type",
|
|
109
120
|
"transcript",
|
|
110
121
|
"default_summary",
|
|
111
122
|
"action_items",
|
|
123
|
+
"highlights",
|
|
112
124
|
"crm_matches",
|
|
113
125
|
]
|
|
114
126
|
null_default_fields = []
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from datetime import datetime
|
|
5
|
+
from enum import Enum
|
|
6
|
+
from fathom_python.types import BaseModel
|
|
7
|
+
from typing_extensions import TypedDict
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class Status(str, Enum):
|
|
11
|
+
r"""Whether the meeting type is currently assignable. `active` types can be assigned to meetings going forward; `inactive` types are no longer assigned going forward but may still appear on historical meetings."""
|
|
12
|
+
|
|
13
|
+
ACTIVE = "active"
|
|
14
|
+
INACTIVE = "inactive"
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class MeetingTypeTypedDict(TypedDict):
|
|
18
|
+
name: str
|
|
19
|
+
status: Status
|
|
20
|
+
r"""Whether the meeting type is currently assignable. `active` types can be assigned to meetings going forward; `inactive` types are no longer assigned going forward but may still appear on historical meetings.
|
|
21
|
+
|
|
22
|
+
"""
|
|
23
|
+
created_at: datetime
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
class MeetingType(BaseModel):
|
|
27
|
+
name: str
|
|
28
|
+
|
|
29
|
+
status: Status
|
|
30
|
+
r"""Whether the meeting type is currently assignable. `active` types can be assigned to meetings going forward; `inactive` types are no longer assigned going forward but may still appear on historical meetings.
|
|
31
|
+
|
|
32
|
+
"""
|
|
33
|
+
|
|
34
|
+
created_at: datetime
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
from .meetingtype import MeetingType, MeetingTypeTypedDict
|
|
5
|
+
from fathom_python.types import BaseModel, Nullable, UNSET_SENTINEL
|
|
6
|
+
from pydantic import model_serializer
|
|
7
|
+
from typing import List
|
|
8
|
+
from typing_extensions import TypedDict
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class MeetingTypeListResponseTypedDict(TypedDict):
|
|
12
|
+
limit: Nullable[int]
|
|
13
|
+
next_cursor: Nullable[str]
|
|
14
|
+
items: List[MeetingTypeTypedDict]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class MeetingTypeListResponse(BaseModel):
|
|
18
|
+
limit: Nullable[int]
|
|
19
|
+
|
|
20
|
+
next_cursor: Nullable[str]
|
|
21
|
+
|
|
22
|
+
items: List[MeetingType]
|
|
23
|
+
|
|
24
|
+
@model_serializer(mode="wrap")
|
|
25
|
+
def serialize_model(self, handler):
|
|
26
|
+
optional_fields = []
|
|
27
|
+
nullable_fields = ["limit", "next_cursor"]
|
|
28
|
+
null_default_fields = []
|
|
29
|
+
|
|
30
|
+
serialized = handler(self)
|
|
31
|
+
|
|
32
|
+
m = {}
|
|
33
|
+
|
|
34
|
+
for n, f in type(self).model_fields.items():
|
|
35
|
+
k = f.alias or n
|
|
36
|
+
val = serialized.get(k)
|
|
37
|
+
serialized.pop(k, None)
|
|
38
|
+
|
|
39
|
+
optional_nullable = k in optional_fields and k in nullable_fields
|
|
40
|
+
is_set = (
|
|
41
|
+
self.__pydantic_fields_set__.intersection({n})
|
|
42
|
+
or k in null_default_fields
|
|
43
|
+
) # pylint: disable=no-member
|
|
44
|
+
|
|
45
|
+
if val is not None and val != UNSET_SENTINEL:
|
|
46
|
+
m[k] = val
|
|
47
|
+
elif val != UNSET_SENTINEL and (
|
|
48
|
+
not k in optional_fields or (optional_nullable and is_set)
|
|
49
|
+
):
|
|
50
|
+
m[k] = val
|
|
51
|
+
|
|
52
|
+
return m
|
|
@@ -275,9 +275,10 @@ class Fathom(BaseSDK):
|
|
|
275
275
|
cursor: Optional[str] = None,
|
|
276
276
|
include_action_items: Optional[bool] = False,
|
|
277
277
|
include_crm_matches: Optional[bool] = False,
|
|
278
|
+
include_highlights: Optional[bool] = False,
|
|
278
279
|
include_summary: Optional[bool] = False,
|
|
279
280
|
include_transcript: Optional[bool] = False,
|
|
280
|
-
meeting_type: Optional[
|
|
281
|
+
meeting_type: Optional[str] = None,
|
|
281
282
|
recorded_by: Optional[List[str]] = None,
|
|
282
283
|
teams: Optional[List[str]] = None,
|
|
283
284
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
@@ -300,9 +301,13 @@ class Fathom(BaseSDK):
|
|
|
300
301
|
:param cursor: Cursor for pagination.
|
|
301
302
|
:param include_action_items: Include the action items for each meeting.
|
|
302
303
|
:param include_crm_matches: Include CRM matches for each meeting. Only returns data from your or your team's linked CRM.
|
|
304
|
+
:param include_highlights: Include the highlights for each meeting.
|
|
303
305
|
:param include_summary: Include the summary for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
|
|
304
306
|
:param include_transcript: Include the transcript for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
|
|
305
|
-
:param meeting_type: Filter by meeting type.
|
|
307
|
+
:param meeting_type: Filter by meeting type name.
|
|
308
|
+
|
|
309
|
+
Returns only meetings assigned the meeting type with this name. Use /meeting_types to discover valid values. An unknown or non-matching name returns an empty list.
|
|
310
|
+
|
|
306
311
|
:param recorded_by: Email addresses of users who recorded meetings.
|
|
307
312
|
|
|
308
313
|
Pass the parameter once per value, e.g.
|
|
@@ -340,6 +345,7 @@ class Fathom(BaseSDK):
|
|
|
340
345
|
cursor=cursor,
|
|
341
346
|
include_action_items=include_action_items,
|
|
342
347
|
include_crm_matches=include_crm_matches,
|
|
348
|
+
include_highlights=include_highlights,
|
|
343
349
|
include_summary=include_summary,
|
|
344
350
|
include_transcript=include_transcript,
|
|
345
351
|
meeting_type=meeting_type,
|
|
@@ -405,6 +411,7 @@ class Fathom(BaseSDK):
|
|
|
405
411
|
cursor=next_cursor,
|
|
406
412
|
include_action_items=include_action_items,
|
|
407
413
|
include_crm_matches=include_crm_matches,
|
|
414
|
+
include_highlights=include_highlights,
|
|
408
415
|
include_summary=include_summary,
|
|
409
416
|
include_transcript=include_transcript,
|
|
410
417
|
meeting_type=meeting_type,
|
|
@@ -439,9 +446,10 @@ class Fathom(BaseSDK):
|
|
|
439
446
|
cursor: Optional[str] = None,
|
|
440
447
|
include_action_items: Optional[bool] = False,
|
|
441
448
|
include_crm_matches: Optional[bool] = False,
|
|
449
|
+
include_highlights: Optional[bool] = False,
|
|
442
450
|
include_summary: Optional[bool] = False,
|
|
443
451
|
include_transcript: Optional[bool] = False,
|
|
444
|
-
meeting_type: Optional[
|
|
452
|
+
meeting_type: Optional[str] = None,
|
|
445
453
|
recorded_by: Optional[List[str]] = None,
|
|
446
454
|
teams: Optional[List[str]] = None,
|
|
447
455
|
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
@@ -464,9 +472,13 @@ class Fathom(BaseSDK):
|
|
|
464
472
|
:param cursor: Cursor for pagination.
|
|
465
473
|
:param include_action_items: Include the action items for each meeting.
|
|
466
474
|
:param include_crm_matches: Include CRM matches for each meeting. Only returns data from your or your team's linked CRM.
|
|
475
|
+
:param include_highlights: Include the highlights for each meeting.
|
|
467
476
|
:param include_summary: Include the summary for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
|
|
468
477
|
:param include_transcript: Include the transcript for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
|
|
469
|
-
:param meeting_type: Filter by meeting type.
|
|
478
|
+
:param meeting_type: Filter by meeting type name.
|
|
479
|
+
|
|
480
|
+
Returns only meetings assigned the meeting type with this name. Use /meeting_types to discover valid values. An unknown or non-matching name returns an empty list.
|
|
481
|
+
|
|
470
482
|
:param recorded_by: Email addresses of users who recorded meetings.
|
|
471
483
|
|
|
472
484
|
Pass the parameter once per value, e.g.
|
|
@@ -504,6 +516,7 @@ class Fathom(BaseSDK):
|
|
|
504
516
|
cursor=cursor,
|
|
505
517
|
include_action_items=include_action_items,
|
|
506
518
|
include_crm_matches=include_crm_matches,
|
|
519
|
+
include_highlights=include_highlights,
|
|
507
520
|
include_summary=include_summary,
|
|
508
521
|
include_transcript=include_transcript,
|
|
509
522
|
meeting_type=meeting_type,
|
|
@@ -569,6 +582,7 @@ class Fathom(BaseSDK):
|
|
|
569
582
|
cursor=next_cursor,
|
|
570
583
|
include_action_items=include_action_items,
|
|
571
584
|
include_crm_matches=include_crm_matches,
|
|
585
|
+
include_highlights=include_highlights,
|
|
572
586
|
include_summary=include_summary,
|
|
573
587
|
include_transcript=include_transcript,
|
|
574
588
|
meeting_type=meeting_type,
|
|
@@ -1359,6 +1373,216 @@ class Fathom(BaseSDK):
|
|
|
1359
1373
|
|
|
1360
1374
|
raise errors.APIError("Unexpected response received", http_res)
|
|
1361
1375
|
|
|
1376
|
+
def list_meeting_types(
|
|
1377
|
+
self,
|
|
1378
|
+
*,
|
|
1379
|
+
cursor: Optional[str] = None,
|
|
1380
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1381
|
+
server_url: Optional[str] = None,
|
|
1382
|
+
timeout_ms: Optional[int] = None,
|
|
1383
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
1384
|
+
) -> Optional[models.ListMeetingTypesResponse]:
|
|
1385
|
+
r"""List meeting types
|
|
1386
|
+
|
|
1387
|
+
List your team's published meeting types (both `active` and `inactive`). Draft meeting types, which are not yet fully created and never appear on meetings, are excluded. Use the returned `name` values to filter /meetings via its meeting_type parameter.
|
|
1388
|
+
|
|
1389
|
+
|
|
1390
|
+
:param cursor: Cursor for pagination.
|
|
1391
|
+
:param retries: Override the default retry configuration for this method
|
|
1392
|
+
:param server_url: Override the default server URL for this method
|
|
1393
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
1394
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
1395
|
+
"""
|
|
1396
|
+
base_url = None
|
|
1397
|
+
url_variables = None
|
|
1398
|
+
if timeout_ms is None:
|
|
1399
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
1400
|
+
|
|
1401
|
+
if server_url is not None:
|
|
1402
|
+
base_url = server_url
|
|
1403
|
+
else:
|
|
1404
|
+
base_url = self._get_url(base_url, url_variables)
|
|
1405
|
+
|
|
1406
|
+
request = models.ListMeetingTypesRequest(
|
|
1407
|
+
cursor=cursor,
|
|
1408
|
+
)
|
|
1409
|
+
|
|
1410
|
+
req = self._build_request(
|
|
1411
|
+
method="GET",
|
|
1412
|
+
path="/meeting_types",
|
|
1413
|
+
base_url=base_url,
|
|
1414
|
+
url_variables=url_variables,
|
|
1415
|
+
request=request,
|
|
1416
|
+
request_body_required=False,
|
|
1417
|
+
request_has_path_params=False,
|
|
1418
|
+
request_has_query_params=True,
|
|
1419
|
+
user_agent_header="user-agent",
|
|
1420
|
+
accept_header_value="application/json",
|
|
1421
|
+
http_headers=http_headers,
|
|
1422
|
+
security=self.sdk_configuration.security,
|
|
1423
|
+
timeout_ms=timeout_ms,
|
|
1424
|
+
)
|
|
1425
|
+
|
|
1426
|
+
if retries == UNSET:
|
|
1427
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1428
|
+
retries = self.sdk_configuration.retry_config
|
|
1429
|
+
|
|
1430
|
+
retry_config = None
|
|
1431
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1432
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1433
|
+
|
|
1434
|
+
http_res = self.do_request(
|
|
1435
|
+
hook_ctx=HookContext(
|
|
1436
|
+
config=self.sdk_configuration,
|
|
1437
|
+
base_url=base_url or "",
|
|
1438
|
+
operation_id="listMeetingTypes",
|
|
1439
|
+
oauth2_scopes=None,
|
|
1440
|
+
security_source=get_security_from_env(
|
|
1441
|
+
self.sdk_configuration.security, models.Security
|
|
1442
|
+
),
|
|
1443
|
+
),
|
|
1444
|
+
request=req,
|
|
1445
|
+
error_status_codes=["400", "401", "429", "4XX", "5XX"],
|
|
1446
|
+
retry_config=retry_config,
|
|
1447
|
+
)
|
|
1448
|
+
|
|
1449
|
+
def next_func() -> Optional[models.ListMeetingTypesResponse]:
|
|
1450
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
1451
|
+
next_cursor = JSONPath("$.next_cursor").parse(body)
|
|
1452
|
+
|
|
1453
|
+
if len(next_cursor) == 0:
|
|
1454
|
+
return None
|
|
1455
|
+
|
|
1456
|
+
next_cursor = next_cursor[0]
|
|
1457
|
+
if next_cursor is None or str(next_cursor).strip() == "":
|
|
1458
|
+
return None
|
|
1459
|
+
|
|
1460
|
+
return self.list_meeting_types(
|
|
1461
|
+
cursor=next_cursor,
|
|
1462
|
+
retries=retries,
|
|
1463
|
+
)
|
|
1464
|
+
|
|
1465
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
1466
|
+
return models.ListMeetingTypesResponse(
|
|
1467
|
+
result=unmarshal_json_response(
|
|
1468
|
+
models.MeetingTypeListResponse, http_res
|
|
1469
|
+
),
|
|
1470
|
+
next=next_func,
|
|
1471
|
+
)
|
|
1472
|
+
if utils.match_response(http_res, ["400", "401", "429", "4XX"], "*"):
|
|
1473
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
1474
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
1475
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1476
|
+
http_res_text = utils.stream_to_text(http_res)
|
|
1477
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
1478
|
+
|
|
1479
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
1480
|
+
|
|
1481
|
+
async def list_meeting_types_async(
|
|
1482
|
+
self,
|
|
1483
|
+
*,
|
|
1484
|
+
cursor: Optional[str] = None,
|
|
1485
|
+
retries: OptionalNullable[utils.RetryConfig] = UNSET,
|
|
1486
|
+
server_url: Optional[str] = None,
|
|
1487
|
+
timeout_ms: Optional[int] = None,
|
|
1488
|
+
http_headers: Optional[Mapping[str, str]] = None,
|
|
1489
|
+
) -> Optional[models.ListMeetingTypesResponse]:
|
|
1490
|
+
r"""List meeting types
|
|
1491
|
+
|
|
1492
|
+
List your team's published meeting types (both `active` and `inactive`). Draft meeting types, which are not yet fully created and never appear on meetings, are excluded. Use the returned `name` values to filter /meetings via its meeting_type parameter.
|
|
1493
|
+
|
|
1494
|
+
|
|
1495
|
+
:param cursor: Cursor for pagination.
|
|
1496
|
+
:param retries: Override the default retry configuration for this method
|
|
1497
|
+
:param server_url: Override the default server URL for this method
|
|
1498
|
+
:param timeout_ms: Override the default request timeout configuration for this method in milliseconds
|
|
1499
|
+
:param http_headers: Additional headers to set or replace on requests.
|
|
1500
|
+
"""
|
|
1501
|
+
base_url = None
|
|
1502
|
+
url_variables = None
|
|
1503
|
+
if timeout_ms is None:
|
|
1504
|
+
timeout_ms = self.sdk_configuration.timeout_ms
|
|
1505
|
+
|
|
1506
|
+
if server_url is not None:
|
|
1507
|
+
base_url = server_url
|
|
1508
|
+
else:
|
|
1509
|
+
base_url = self._get_url(base_url, url_variables)
|
|
1510
|
+
|
|
1511
|
+
request = models.ListMeetingTypesRequest(
|
|
1512
|
+
cursor=cursor,
|
|
1513
|
+
)
|
|
1514
|
+
|
|
1515
|
+
req = self._build_request_async(
|
|
1516
|
+
method="GET",
|
|
1517
|
+
path="/meeting_types",
|
|
1518
|
+
base_url=base_url,
|
|
1519
|
+
url_variables=url_variables,
|
|
1520
|
+
request=request,
|
|
1521
|
+
request_body_required=False,
|
|
1522
|
+
request_has_path_params=False,
|
|
1523
|
+
request_has_query_params=True,
|
|
1524
|
+
user_agent_header="user-agent",
|
|
1525
|
+
accept_header_value="application/json",
|
|
1526
|
+
http_headers=http_headers,
|
|
1527
|
+
security=self.sdk_configuration.security,
|
|
1528
|
+
timeout_ms=timeout_ms,
|
|
1529
|
+
)
|
|
1530
|
+
|
|
1531
|
+
if retries == UNSET:
|
|
1532
|
+
if self.sdk_configuration.retry_config is not UNSET:
|
|
1533
|
+
retries = self.sdk_configuration.retry_config
|
|
1534
|
+
|
|
1535
|
+
retry_config = None
|
|
1536
|
+
if isinstance(retries, utils.RetryConfig):
|
|
1537
|
+
retry_config = (retries, ["429", "500", "502", "503", "504"])
|
|
1538
|
+
|
|
1539
|
+
http_res = await self.do_request_async(
|
|
1540
|
+
hook_ctx=HookContext(
|
|
1541
|
+
config=self.sdk_configuration,
|
|
1542
|
+
base_url=base_url or "",
|
|
1543
|
+
operation_id="listMeetingTypes",
|
|
1544
|
+
oauth2_scopes=None,
|
|
1545
|
+
security_source=get_security_from_env(
|
|
1546
|
+
self.sdk_configuration.security, models.Security
|
|
1547
|
+
),
|
|
1548
|
+
),
|
|
1549
|
+
request=req,
|
|
1550
|
+
error_status_codes=["400", "401", "429", "4XX", "5XX"],
|
|
1551
|
+
retry_config=retry_config,
|
|
1552
|
+
)
|
|
1553
|
+
|
|
1554
|
+
def next_func() -> Optional[models.ListMeetingTypesResponse]:
|
|
1555
|
+
body = utils.unmarshal_json(http_res.text, Union[Dict[Any, Any], List[Any]])
|
|
1556
|
+
next_cursor = JSONPath("$.next_cursor").parse(body)
|
|
1557
|
+
|
|
1558
|
+
if len(next_cursor) == 0:
|
|
1559
|
+
return None
|
|
1560
|
+
|
|
1561
|
+
next_cursor = next_cursor[0]
|
|
1562
|
+
if next_cursor is None or str(next_cursor).strip() == "":
|
|
1563
|
+
return None
|
|
1564
|
+
|
|
1565
|
+
return self.list_meeting_types(
|
|
1566
|
+
cursor=next_cursor,
|
|
1567
|
+
retries=retries,
|
|
1568
|
+
)
|
|
1569
|
+
|
|
1570
|
+
if utils.match_response(http_res, "200", "application/json"):
|
|
1571
|
+
return models.ListMeetingTypesResponse(
|
|
1572
|
+
result=unmarshal_json_response(
|
|
1573
|
+
models.MeetingTypeListResponse, http_res
|
|
1574
|
+
),
|
|
1575
|
+
next=next_func,
|
|
1576
|
+
)
|
|
1577
|
+
if utils.match_response(http_res, ["400", "401", "429", "4XX"], "*"):
|
|
1578
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1579
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
1580
|
+
if utils.match_response(http_res, "5XX", "*"):
|
|
1581
|
+
http_res_text = await utils.stream_to_text_async(http_res)
|
|
1582
|
+
raise errors.APIError("API error occurred", http_res, http_res_text)
|
|
1583
|
+
|
|
1584
|
+
raise errors.APIError("Unexpected response received", http_res)
|
|
1585
|
+
|
|
1362
1586
|
def create_webhook(
|
|
1363
1587
|
self,
|
|
1364
1588
|
*,
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import base64
|
|
6
|
+
import io
|
|
7
|
+
from os import PathLike
|
|
8
|
+
from typing import IO, Any, Union
|
|
9
|
+
|
|
10
|
+
from pydantic.functional_validators import BeforeValidator
|
|
11
|
+
from typing_extensions import Annotated
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
Base64FileInput = Union[IO[bytes], PathLike[str]]
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def encode_base64_file_input(value: Any) -> Any:
|
|
18
|
+
"""Convert PathLike or IO[bytes] inputs to a base64 string. All standard binary streams
|
|
19
|
+
that inherit from io.IOBase are handled. Other values pass through.
|
|
20
|
+
"""
|
|
21
|
+
if isinstance(value, (PathLike, io.IOBase)):
|
|
22
|
+
if isinstance(value, PathLike):
|
|
23
|
+
with open(value, "rb") as fh:
|
|
24
|
+
binary = fh.read()
|
|
25
|
+
else:
|
|
26
|
+
binary = value.read()
|
|
27
|
+
if isinstance(binary, str):
|
|
28
|
+
binary = binary.encode()
|
|
29
|
+
if not isinstance(binary, (bytes, bytearray)):
|
|
30
|
+
raise TypeError(
|
|
31
|
+
f"Base64FileInput expected binary IO returning bytes; got {type(binary).__name__}"
|
|
32
|
+
)
|
|
33
|
+
return base64.b64encode(binary).decode("ascii")
|
|
34
|
+
return value
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
# Non-str inputs are converted to base64 by the BeforeValidator at construction time.
|
|
38
|
+
# Callers can also pass a pre-encoded base64 str.
|
|
39
|
+
Base64EncodedString = Annotated[str, BeforeValidator(encode_base64_file_input)]
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"""Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
|
|
2
|
+
|
|
3
|
+
from importlib import import_module
|
|
4
|
+
import builtins
|
|
5
|
+
import sys
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
def dynamic_import(package, modname, retries=3):
|
|
9
|
+
"""Import a module relative to package, retrying on KeyError from half-initialized modules."""
|
|
10
|
+
for attempt in range(retries):
|
|
11
|
+
try:
|
|
12
|
+
return import_module(modname, package)
|
|
13
|
+
except KeyError:
|
|
14
|
+
sys.modules.pop(modname, None)
|
|
15
|
+
if attempt == retries - 1:
|
|
16
|
+
break
|
|
17
|
+
raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
def lazy_getattr(attr_name, *, package, dynamic_imports, sub_packages=None):
|
|
21
|
+
"""Module-level __getattr__ that lazily loads from a dynamic_imports mapping.
|
|
22
|
+
|
|
23
|
+
Args:
|
|
24
|
+
attr_name: The attribute being looked up.
|
|
25
|
+
package: The caller's __package__ (for relative imports).
|
|
26
|
+
dynamic_imports: Dict mapping attribute names to relative module paths.
|
|
27
|
+
sub_packages: Optional list of subpackage names to lazy-load.
|
|
28
|
+
"""
|
|
29
|
+
module_name = dynamic_imports.get(attr_name)
|
|
30
|
+
if module_name is not None:
|
|
31
|
+
try:
|
|
32
|
+
module = dynamic_import(package, module_name)
|
|
33
|
+
return getattr(module, attr_name)
|
|
34
|
+
except ImportError as e:
|
|
35
|
+
raise ImportError(
|
|
36
|
+
f"Failed to import {attr_name} from {module_name}: {e}"
|
|
37
|
+
) from e
|
|
38
|
+
except AttributeError as e:
|
|
39
|
+
raise AttributeError(
|
|
40
|
+
f"Failed to get {attr_name} from {module_name}: {e}"
|
|
41
|
+
) from e
|
|
42
|
+
|
|
43
|
+
if sub_packages and attr_name in sub_packages:
|
|
44
|
+
return import_module(f".{attr_name}", package)
|
|
45
|
+
|
|
46
|
+
raise AttributeError(f"module '{package}' has no attribute '{attr_name}'")
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
def lazy_dir(*, dynamic_imports, sub_packages=None):
|
|
50
|
+
"""Module-level __dir__ that lists lazily-loadable attributes."""
|
|
51
|
+
lazy_attrs = builtins.list(dynamic_imports.keys())
|
|
52
|
+
if sub_packages:
|
|
53
|
+
lazy_attrs.extend(sub_packages)
|
|
54
|
+
return builtins.sorted(lazy_attrs)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/errors/responsevalidationerror.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/getrecordingsummaryop.py
RENAMED
|
File without changes
|
{fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/getrecordingtranscriptop.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/meetinglistresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/teammemberlistresponse.py
RENAMED
|
File without changes
|
|
File without changes
|
{fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/models/transcriptitemspeaker.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fathom_python-0.0.37 → fathom_python-0.0.39}/src/fathom_python/utils/unmarshal_json_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|