fathom-python 0.0.33__tar.gz → 0.0.35__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.
Files changed (68) hide show
  1. {fathom_python-0.0.33 → fathom_python-0.0.35}/PKG-INFO +10 -9
  2. {fathom_python-0.0.33 → fathom_python-0.0.35}/README.md +9 -8
  3. {fathom_python-0.0.33 → fathom_python-0.0.35}/pyproject.toml +1 -2
  4. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/_version.py +3 -3
  5. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/listmeetingsop.py +8 -0
  6. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/sdk.py +13 -5
  7. fathom_python-0.0.35/src/fathom_python/utils/annotations.py +79 -0
  8. fathom_python-0.0.33/src/fathom_python/utils/annotations.py +0 -55
  9. {fathom_python-0.0.33 → fathom_python-0.0.35}/py.typed +0 -0
  10. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/__init__.py +0 -0
  11. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/_hooks/__init__.py +0 -0
  12. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/_hooks/registration.py +0 -0
  13. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/_hooks/sdkhooks.py +0 -0
  14. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/_hooks/types.py +0 -0
  15. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/basesdk.py +0 -0
  16. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/errors/__init__.py +0 -0
  17. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/errors/apierror.py +0 -0
  18. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/errors/fathomerror.py +0 -0
  19. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/errors/no_response_error.py +0 -0
  20. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/errors/responsevalidationerror.py +0 -0
  21. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/httpclient.py +0 -0
  22. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/__init__.py +0 -0
  23. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/actionitem.py +0 -0
  24. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/assignee.py +0 -0
  25. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/callbackresponse.py +0 -0
  26. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/createwebhookop.py +0 -0
  27. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/crmcompanymatch.py +0 -0
  28. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/crmcontactmatch.py +0 -0
  29. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/crmdealmatch.py +0 -0
  30. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/crmmatches.py +0 -0
  31. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/deletewebhookop.py +0 -0
  32. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/fathomuser.py +0 -0
  33. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/getrecordingsummaryop.py +0 -0
  34. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/getrecordingtranscriptop.py +0 -0
  35. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/invitee.py +0 -0
  36. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/listteammembersop.py +0 -0
  37. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/listteamsop.py +0 -0
  38. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/meeting.py +0 -0
  39. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/meetinglistresponse.py +0 -0
  40. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/meetingsummary.py +0 -0
  41. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/security.py +0 -0
  42. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/team.py +0 -0
  43. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/teamlistresponse.py +0 -0
  44. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/teammember.py +0 -0
  45. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/teammemberlistresponse.py +0 -0
  46. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/transcriptitem.py +0 -0
  47. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/transcriptitemspeaker.py +0 -0
  48. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/models/webhook.py +0 -0
  49. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/py.typed +0 -0
  50. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/sdkconfiguration.py +0 -0
  51. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/types/__init__.py +0 -0
  52. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/types/basemodel.py +0 -0
  53. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/__init__.py +0 -0
  54. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/datetimes.py +0 -0
  55. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/enums.py +0 -0
  56. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/eventstreaming.py +0 -0
  57. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/forms.py +0 -0
  58. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/headers.py +0 -0
  59. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/logger.py +0 -0
  60. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/metadata.py +0 -0
  61. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/queryparams.py +0 -0
  62. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/requestbodies.py +0 -0
  63. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/retries.py +0 -0
  64. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/security.py +0 -0
  65. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/serializers.py +0 -0
  66. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/unmarshal_json_response.py +0 -0
  67. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/url.py +0 -0
  68. {fathom_python-0.0.33 → fathom_python-0.0.35}/src/fathom_python/utils/values.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fathom-python
3
- Version: 0.0.33
3
+ Version: 0.0.35
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -126,7 +126,7 @@ with Fathom(
126
126
  ], calendar_invitees_domains=[
127
127
  "acme.com",
128
128
  "client.com",
129
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
129
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
130
130
  "ceo@acme.com",
131
131
  "pm@acme.com",
132
132
  ], teams=[
@@ -143,6 +143,7 @@ with Fathom(
143
143
  </br>
144
144
 
145
145
  The same SDK client can also be used to make asynchronous requests by importing asyncio.
146
+
146
147
  ```python
147
148
  # Asynchronous Example
148
149
  import asyncio
@@ -163,7 +164,7 @@ async def main():
163
164
  ], calendar_invitees_domains=[
164
165
  "acme.com",
165
166
  "client.com",
166
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
167
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
167
168
  "ceo@acme.com",
168
169
  "pm@acme.com",
169
170
  ], teams=[
@@ -210,7 +211,7 @@ with Fathom(
210
211
  ], calendar_invitees_domains=[
211
212
  "acme.com",
212
213
  "client.com",
213
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
214
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
214
215
  "ceo@acme.com",
215
216
  "pm@acme.com",
216
217
  ], teams=[
@@ -270,7 +271,7 @@ with Fathom(
270
271
  ], calendar_invitees_domains=[
271
272
  "acme.com",
272
273
  "client.com",
273
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
274
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
274
275
  "ceo@acme.com",
275
276
  "pm@acme.com",
276
277
  ], teams=[
@@ -310,7 +311,7 @@ with Fathom(
310
311
  ], calendar_invitees_domains=[
311
312
  "acme.com",
312
313
  "client.com",
313
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
314
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
314
315
  "ceo@acme.com",
315
316
  "pm@acme.com",
316
317
  ], teams=[
@@ -346,7 +347,7 @@ with Fathom(
346
347
  ], calendar_invitees_domains=[
347
348
  "acme.com",
348
349
  "client.com",
349
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
350
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
350
351
  "ceo@acme.com",
351
352
  "pm@acme.com",
352
353
  ], teams=[
@@ -395,7 +396,7 @@ with Fathom(
395
396
  ], calendar_invitees_domains=[
396
397
  "acme.com",
397
398
  "client.com",
398
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
399
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
399
400
  "ceo@acme.com",
400
401
  "pm@acme.com",
401
402
  ], teams=[
@@ -463,7 +464,7 @@ with Fathom(
463
464
  ], calendar_invitees_domains=[
464
465
  "acme.com",
465
466
  "client.com",
466
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
467
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
467
468
  "ceo@acme.com",
468
469
  "pm@acme.com",
469
470
  ], teams=[
@@ -106,7 +106,7 @@ with Fathom(
106
106
  ], calendar_invitees_domains=[
107
107
  "acme.com",
108
108
  "client.com",
109
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
109
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
110
110
  "ceo@acme.com",
111
111
  "pm@acme.com",
112
112
  ], teams=[
@@ -123,6 +123,7 @@ with Fathom(
123
123
  </br>
124
124
 
125
125
  The same SDK client can also be used to make asynchronous requests by importing asyncio.
126
+
126
127
  ```python
127
128
  # Asynchronous Example
128
129
  import asyncio
@@ -143,7 +144,7 @@ async def main():
143
144
  ], calendar_invitees_domains=[
144
145
  "acme.com",
145
146
  "client.com",
146
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
147
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
147
148
  "ceo@acme.com",
148
149
  "pm@acme.com",
149
150
  ], teams=[
@@ -190,7 +191,7 @@ with Fathom(
190
191
  ], calendar_invitees_domains=[
191
192
  "acme.com",
192
193
  "client.com",
193
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
194
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
194
195
  "ceo@acme.com",
195
196
  "pm@acme.com",
196
197
  ], teams=[
@@ -250,7 +251,7 @@ with Fathom(
250
251
  ], calendar_invitees_domains=[
251
252
  "acme.com",
252
253
  "client.com",
253
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
254
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
254
255
  "ceo@acme.com",
255
256
  "pm@acme.com",
256
257
  ], teams=[
@@ -290,7 +291,7 @@ with Fathom(
290
291
  ], calendar_invitees_domains=[
291
292
  "acme.com",
292
293
  "client.com",
293
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
294
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
294
295
  "ceo@acme.com",
295
296
  "pm@acme.com",
296
297
  ], teams=[
@@ -326,7 +327,7 @@ with Fathom(
326
327
  ], calendar_invitees_domains=[
327
328
  "acme.com",
328
329
  "client.com",
329
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
330
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
330
331
  "ceo@acme.com",
331
332
  "pm@acme.com",
332
333
  ], teams=[
@@ -375,7 +376,7 @@ with Fathom(
375
376
  ], calendar_invitees_domains=[
376
377
  "acme.com",
377
378
  "client.com",
378
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
379
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
379
380
  "ceo@acme.com",
380
381
  "pm@acme.com",
381
382
  ], teams=[
@@ -443,7 +444,7 @@ with Fathom(
443
444
  ], calendar_invitees_domains=[
444
445
  "acme.com",
445
446
  "client.com",
446
- ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
447
+ ], calendar_invitees_domains_type=models.ListMeetingsCalendarInviteesDomainsType.ALL, include_action_items=False, include_crm_matches=False, include_summary=False, include_transcript=False, meeting_type=models.MeetingType.ALL, recorded_by=[
447
448
  "ceo@acme.com",
448
449
  "pm@acme.com",
449
450
  ], teams=[
@@ -1,7 +1,7 @@
1
1
 
2
2
  [project]
3
3
  name = "fathom-python"
4
- version = "0.0.33"
4
+ version = "0.0.35"
5
5
  description = "Python Client SDK Generated by Speakeasy."
6
6
  authors = [{ name = "Speakeasy" },]
7
7
  readme = "README.md"
@@ -38,7 +38,6 @@ build-backend = "poetry.core.masonry.api"
38
38
 
39
39
  [tool.pytest.ini_options]
40
40
  asyncio_default_fixture_loop_scope = "function"
41
- asyncio_mode = "auto"
42
41
  pythonpath = ["src"]
43
42
 
44
43
  [tool.mypy]
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "fathom-python"
6
- __version__: str = "0.0.33"
6
+ __version__: str = "0.0.35"
7
7
  __openapi_doc_version__: str = "1.0.0"
8
- __gen_version__: str = "2.698.4"
9
- __user_agent__: str = "speakeasy-sdk/python 0.0.33 2.698.4 1.0.0 fathom-python"
8
+ __gen_version__: str = "2.716.16"
9
+ __user_agent__: str = "speakeasy-sdk/python 0.0.35 2.716.16 1.0.0 fathom-python"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -54,6 +54,8 @@ class ListMeetingsRequestTypedDict(TypedDict):
54
54
  r"""Filter to meetings with created_at before this timestamp, e.g. `created_before=2025-01-01T00:00:00Z`."""
55
55
  cursor: NotRequired[str]
56
56
  r"""Cursor for pagination."""
57
+ include_action_items: NotRequired[bool]
58
+ r"""Include the action items for each meeting."""
57
59
  include_crm_matches: NotRequired[bool]
58
60
  r"""Include CRM matches for each meeting. Only returns data from your or your team's linked CRM."""
59
61
  include_summary: NotRequired[bool]
@@ -136,6 +138,12 @@ class ListMeetingsRequest(BaseModel):
136
138
  ] = None
137
139
  r"""Cursor for pagination."""
138
140
 
141
+ include_action_items: Annotated[
142
+ Optional[bool],
143
+ FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
144
+ ] = False
145
+ r"""Include the action items for each meeting."""
146
+
139
147
  include_crm_matches: Annotated[
140
148
  Optional[bool],
141
149
  FieldMetadata(query=QueryParamMetadata(style="form", explode=True)),
@@ -57,7 +57,7 @@ class Fathom(BaseSDK):
57
57
  """
58
58
  client_supplied = True
59
59
  if client is None:
60
- client = httpx.Client()
60
+ client = httpx.Client(follow_redirects=True)
61
61
  client_supplied = False
62
62
 
63
63
  assert issubclass(
@@ -66,7 +66,7 @@ class Fathom(BaseSDK):
66
66
 
67
67
  async_client_supplied = True
68
68
  if async_client is None:
69
- async_client = httpx.AsyncClient()
69
+ async_client = httpx.AsyncClient(follow_redirects=True)
70
70
  async_client_supplied = False
71
71
 
72
72
  if debug_logger is None:
@@ -150,7 +150,7 @@ class Fathom(BaseSDK):
150
150
  "expires": self.expires,
151
151
  }
152
152
 
153
- def set_(self, token: str, refresh_token: str, expires: int):
153
+ def set(self, token: str, refresh_token: str, expires: int):
154
154
  self.token = token
155
155
  self.refresh_token = refresh_token
156
156
  self.expires = expires
@@ -217,7 +217,7 @@ class Fathom(BaseSDK):
217
217
  )
218
218
  response.raise_for_status()
219
219
  data = response.json()
220
- token_store.set_(
220
+ token_store.set(
221
221
  data["access_token"],
222
222
  data.get("refresh_token", ""),
223
223
  int(time.time()) + data["expires_in"],
@@ -241,7 +241,7 @@ class Fathom(BaseSDK):
241
241
  )
242
242
  response.raise_for_status()
243
243
  data = response.json()
244
- token_store.set_(
244
+ token_store.set(
245
245
  data["access_token"],
246
246
  data.get("refresh_token", ""),
247
247
  int(time.time()) + data["expires_in"],
@@ -274,6 +274,7 @@ class Fathom(BaseSDK):
274
274
  created_after: Optional[str] = None,
275
275
  created_before: Optional[str] = None,
276
276
  cursor: Optional[str] = None,
277
+ include_action_items: Optional[bool] = False,
277
278
  include_crm_matches: Optional[bool] = False,
278
279
  include_summary: Optional[bool] = False,
279
280
  include_transcript: Optional[bool] = False,
@@ -293,6 +294,7 @@ class Fathom(BaseSDK):
293
294
  :param created_after: Filter to meetings with created_at after this timestamp, e.g. `created_after=2025-01-01T00:00:00Z`.
294
295
  :param created_before: Filter to meetings with created_at before this timestamp, e.g. `created_before=2025-01-01T00:00:00Z`.
295
296
  :param cursor: Cursor for pagination.
297
+ :param include_action_items: Include the action items for each meeting.
296
298
  :param include_crm_matches: Include CRM matches for each meeting. Only returns data from your or your team's linked CRM.
297
299
  :param include_summary: Include the summary for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
298
300
  :param include_transcript: Include the transcript for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
@@ -321,6 +323,7 @@ class Fathom(BaseSDK):
321
323
  created_after=created_after,
322
324
  created_before=created_before,
323
325
  cursor=cursor,
326
+ include_action_items=include_action_items,
324
327
  include_crm_matches=include_crm_matches,
325
328
  include_summary=include_summary,
326
329
  include_transcript=include_transcript,
@@ -386,6 +389,7 @@ class Fathom(BaseSDK):
386
389
  created_after=created_after,
387
390
  created_before=created_before,
388
391
  cursor=next_cursor,
392
+ include_action_items=include_action_items,
389
393
  include_crm_matches=include_crm_matches,
390
394
  include_summary=include_summary,
391
395
  include_transcript=include_transcript,
@@ -420,6 +424,7 @@ class Fathom(BaseSDK):
420
424
  created_after: Optional[str] = None,
421
425
  created_before: Optional[str] = None,
422
426
  cursor: Optional[str] = None,
427
+ include_action_items: Optional[bool] = False,
423
428
  include_crm_matches: Optional[bool] = False,
424
429
  include_summary: Optional[bool] = False,
425
430
  include_transcript: Optional[bool] = False,
@@ -439,6 +444,7 @@ class Fathom(BaseSDK):
439
444
  :param created_after: Filter to meetings with created_at after this timestamp, e.g. `created_after=2025-01-01T00:00:00Z`.
440
445
  :param created_before: Filter to meetings with created_at before this timestamp, e.g. `created_before=2025-01-01T00:00:00Z`.
441
446
  :param cursor: Cursor for pagination.
447
+ :param include_action_items: Include the action items for each meeting.
442
448
  :param include_crm_matches: Include CRM matches for each meeting. Only returns data from your or your team's linked CRM.
443
449
  :param include_summary: Include the summary for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
444
450
  :param include_transcript: Include the transcript for each meeting. Unavailable for OAuth connected apps (use /recordings instead).
@@ -467,6 +473,7 @@ class Fathom(BaseSDK):
467
473
  created_after=created_after,
468
474
  created_before=created_before,
469
475
  cursor=cursor,
476
+ include_action_items=include_action_items,
470
477
  include_crm_matches=include_crm_matches,
471
478
  include_summary=include_summary,
472
479
  include_transcript=include_transcript,
@@ -532,6 +539,7 @@ class Fathom(BaseSDK):
532
539
  created_after=created_after,
533
540
  created_before=created_before,
534
541
  cursor=next_cursor,
542
+ include_action_items=include_action_items,
535
543
  include_crm_matches=include_crm_matches,
536
544
  include_summary=include_summary,
537
545
  include_transcript=include_transcript,
@@ -0,0 +1,79 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ from enum import Enum
4
+ from typing import Any, Optional
5
+
6
+
7
+ def get_discriminator(model: Any, fieldname: str, key: str) -> str:
8
+ """
9
+ Recursively search for the discriminator attribute in a model.
10
+
11
+ Args:
12
+ model (Any): The model to search within.
13
+ fieldname (str): The name of the field to search for.
14
+ key (str): The key to search for in dictionaries.
15
+
16
+ Returns:
17
+ str: The name of the discriminator attribute.
18
+
19
+ Raises:
20
+ ValueError: If the discriminator attribute is not found.
21
+ """
22
+ upper_fieldname = fieldname.upper()
23
+
24
+ def get_field_discriminator(field: Any) -> Optional[str]:
25
+ """Search for the discriminator attribute in a given field."""
26
+
27
+ if isinstance(field, dict):
28
+ if key in field:
29
+ return f"{field[key]}"
30
+
31
+ if hasattr(field, fieldname):
32
+ attr = getattr(field, fieldname)
33
+ if isinstance(attr, Enum):
34
+ return f"{attr.value}"
35
+ return f"{attr}"
36
+
37
+ if hasattr(field, upper_fieldname):
38
+ attr = getattr(field, upper_fieldname)
39
+ if isinstance(attr, Enum):
40
+ return f"{attr.value}"
41
+ return f"{attr}"
42
+
43
+ return None
44
+
45
+ def search_nested_discriminator(obj: Any) -> Optional[str]:
46
+ """Recursively search for discriminator in nested structures."""
47
+ # First try direct field lookup
48
+ discriminator = get_field_discriminator(obj)
49
+ if discriminator is not None:
50
+ return discriminator
51
+
52
+ # If it's a dict, search in nested values
53
+ if isinstance(obj, dict):
54
+ for value in obj.values():
55
+ if isinstance(value, list):
56
+ # Search in list items
57
+ for item in value:
58
+ nested_discriminator = search_nested_discriminator(item)
59
+ if nested_discriminator is not None:
60
+ return nested_discriminator
61
+ elif isinstance(value, dict):
62
+ # Search in nested dict
63
+ nested_discriminator = search_nested_discriminator(value)
64
+ if nested_discriminator is not None:
65
+ return nested_discriminator
66
+
67
+ return None
68
+
69
+ if isinstance(model, list):
70
+ for field in model:
71
+ discriminator = search_nested_discriminator(field)
72
+ if discriminator is not None:
73
+ return discriminator
74
+
75
+ discriminator = search_nested_discriminator(model)
76
+ if discriminator is not None:
77
+ return discriminator
78
+
79
+ raise ValueError(f"Could not find discriminator field {fieldname} in {model}")
@@ -1,55 +0,0 @@
1
- """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
-
3
- from enum import Enum
4
- from typing import Any, Optional
5
-
6
- def get_discriminator(model: Any, fieldname: str, key: str) -> str:
7
- """
8
- Recursively search for the discriminator attribute in a model.
9
-
10
- Args:
11
- model (Any): The model to search within.
12
- fieldname (str): The name of the field to search for.
13
- key (str): The key to search for in dictionaries.
14
-
15
- Returns:
16
- str: The name of the discriminator attribute.
17
-
18
- Raises:
19
- ValueError: If the discriminator attribute is not found.
20
- """
21
- upper_fieldname = fieldname.upper()
22
-
23
- def get_field_discriminator(field: Any) -> Optional[str]:
24
- """Search for the discriminator attribute in a given field."""
25
-
26
- if isinstance(field, dict):
27
- if key in field:
28
- return f'{field[key]}'
29
-
30
- if hasattr(field, fieldname):
31
- attr = getattr(field, fieldname)
32
- if isinstance(attr, Enum):
33
- return f'{attr.value}'
34
- return f'{attr}'
35
-
36
- if hasattr(field, upper_fieldname):
37
- attr = getattr(field, upper_fieldname)
38
- if isinstance(attr, Enum):
39
- return f'{attr.value}'
40
- return f'{attr}'
41
-
42
- return None
43
-
44
-
45
- if isinstance(model, list):
46
- for field in model:
47
- discriminator = get_field_discriminator(field)
48
- if discriminator is not None:
49
- return discriminator
50
-
51
- discriminator = get_field_discriminator(model)
52
- if discriminator is not None:
53
- return discriminator
54
-
55
- raise ValueError(f'Could not find discriminator field {fieldname} in {model}')
File without changes