fathom-python 0.0.31__tar.gz → 0.0.33__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 (69) hide show
  1. {fathom_python-0.0.31 → fathom_python-0.0.33}/PKG-INFO +21 -35
  2. {fathom_python-0.0.31 → fathom_python-0.0.33}/README.md +20 -34
  3. {fathom_python-0.0.31 → fathom_python-0.0.33}/pyproject.toml +3 -1
  4. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/_version.py +3 -3
  5. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/basesdk.py +11 -1
  6. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/errors/__init__.py +18 -5
  7. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/errors/apierror.py +2 -0
  8. fathom_python-0.0.33/src/fathom_python/errors/fathomerror.py +30 -0
  9. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/errors/no_response_error.py +5 -1
  10. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/errors/responsevalidationerror.py +2 -0
  11. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/__init__.py +96 -11
  12. fathom_python-0.0.33/src/fathom_python/models/callbackresponse.py +13 -0
  13. fathom_python-0.0.33/src/fathom_python/models/createwebhookop.py +61 -0
  14. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/fathomuser.py +3 -0
  15. fathom_python-0.0.33/src/fathom_python/models/getrecordingsummaryop.py +82 -0
  16. fathom_python-0.0.33/src/fathom_python/models/getrecordingtranscriptop.py +50 -0
  17. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/invitee.py +9 -1
  18. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/listmeetingsop.py +37 -10
  19. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/listteammembersop.py +15 -1
  20. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/listteamsop.py +12 -1
  21. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/meeting.py +10 -5
  22. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/webhook.py +12 -0
  23. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/sdk.py +481 -20
  24. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/__init__.py +18 -5
  25. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/eventstreaming.py +10 -0
  26. fathom_python-0.0.31/src/fathom_python/errors/fathomerror.py +0 -26
  27. fathom_python-0.0.31/src/fathom_python/models/createwebhookop.py +0 -36
  28. {fathom_python-0.0.31 → fathom_python-0.0.33}/py.typed +0 -0
  29. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/__init__.py +0 -0
  30. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/_hooks/__init__.py +0 -0
  31. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/_hooks/registration.py +0 -0
  32. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/_hooks/sdkhooks.py +0 -0
  33. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/_hooks/types.py +0 -0
  34. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/httpclient.py +0 -0
  35. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/actionitem.py +0 -0
  36. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/assignee.py +0 -0
  37. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/crmcompanymatch.py +0 -0
  38. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/crmcontactmatch.py +0 -0
  39. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/crmdealmatch.py +0 -0
  40. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/crmmatches.py +0 -0
  41. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/deletewebhookop.py +0 -0
  42. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/meetinglistresponse.py +0 -0
  43. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/meetingsummary.py +0 -0
  44. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/security.py +0 -0
  45. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/team.py +0 -0
  46. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/teamlistresponse.py +0 -0
  47. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/teammember.py +0 -0
  48. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/teammemberlistresponse.py +0 -0
  49. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/transcriptitem.py +0 -0
  50. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/models/transcriptitemspeaker.py +0 -0
  51. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/py.typed +0 -0
  52. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/sdkconfiguration.py +0 -0
  53. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/types/__init__.py +0 -0
  54. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/types/basemodel.py +0 -0
  55. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/annotations.py +0 -0
  56. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/datetimes.py +0 -0
  57. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/enums.py +0 -0
  58. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/forms.py +0 -0
  59. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/headers.py +0 -0
  60. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/logger.py +0 -0
  61. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/metadata.py +0 -0
  62. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/queryparams.py +0 -0
  63. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/requestbodies.py +0 -0
  64. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/retries.py +0 -0
  65. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/security.py +0 -0
  66. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/serializers.py +0 -0
  67. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/unmarshal_json_response.py +0 -0
  68. {fathom_python-0.0.31 → fathom_python-0.0.33}/src/fathom_python/utils/url.py +0 -0
  69. {fathom_python-0.0.31 → fathom_python-0.0.33}/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.31
3
+ Version: 0.0.33
4
4
  Summary: Python Client SDK Generated by Speakeasy.
5
5
  Author: Speakeasy
6
6
  Requires-Python: >=3.9.2
@@ -27,28 +27,6 @@ Fathom External API: The Fathom External API lets you poll meetings, teams, and
27
27
  optionally receive webhooks when content from a new meeting is ready.
28
28
  <!-- End Summary [summary] -->
29
29
 
30
- <!-- Start Table of Contents [toc] -->
31
- ## Table of Contents
32
- <!-- $toc-max-depth=2 -->
33
- * fathom-api
34
- * SDK Installation
35
- * Requirements
36
- * SDK Example Usage
37
- * Authentication
38
- * Available Resources and Operations
39
- * Standalone functions
40
- * Pagination
41
- * Retries
42
- * Error Handling
43
- * Custom HTTP Client
44
- * Resource Management
45
- * Debugging
46
- * Development
47
- * Maturity
48
- * Custom HTTP Client
49
-
50
- <!-- End Table of Contents [toc] -->
51
-
52
30
  <!-- Start SDK Installation [installation] -->
53
31
  ## SDK Installation
54
32
 
@@ -57,7 +35,15 @@ optionally receive webhooks when content from a new meeting is ready.
57
35
  >
58
36
  > Once a Python version reaches its [official end of life date](https://devguide.python.org/versions/), a 3-month grace period is provided for users to upgrade. Following this grace period, the minimum python version supported in the SDK will be updated.
59
37
 
60
- The SDK can be installed with either *pip* or *poetry* package managers.
38
+ The SDK can be installed with *uv*, *pip*, or *poetry* package managers.
39
+
40
+ ### uv
41
+
42
+ *uv* is a fast Python package installer and resolver, designed as a drop-in replacement for pip and pip-tools. It's recommended for its speed and modern Python tooling capabilities.
43
+
44
+ ```bash
45
+ uv add fathom-python
46
+ ```
61
47
 
62
48
  ### PIP
63
49
 
@@ -140,7 +126,7 @@ with Fathom(
140
126
  ], calendar_invitees_domains=[
141
127
  "acme.com",
142
128
  "client.com",
143
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
144
130
  "ceo@acme.com",
145
131
  "pm@acme.com",
146
132
  ], teams=[
@@ -156,7 +142,7 @@ with Fathom(
156
142
 
157
143
  </br>
158
144
 
159
- The same SDK client can also be used to make asychronous requests by importing asyncio.
145
+ The same SDK client can also be used to make asynchronous requests by importing asyncio.
160
146
  ```python
161
147
  # Asynchronous Example
162
148
  import asyncio
@@ -177,7 +163,7 @@ async def main():
177
163
  ], calendar_invitees_domains=[
178
164
  "acme.com",
179
165
  "client.com",
180
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
181
167
  "ceo@acme.com",
182
168
  "pm@acme.com",
183
169
  ], teams=[
@@ -224,7 +210,7 @@ with Fathom(
224
210
  ], calendar_invitees_domains=[
225
211
  "acme.com",
226
212
  "client.com",
227
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
228
214
  "ceo@acme.com",
229
215
  "pm@acme.com",
230
216
  ], teams=[
@@ -249,6 +235,8 @@ with Fathom(
249
235
  ### [Fathom SDK](docs/sdks/fathom/README.md)
250
236
 
251
237
  * [list_meetings](docs/sdks/fathom/README.md#list_meetings) - List meetings
238
+ * [get_recording_summary](docs/sdks/fathom/README.md#get_recording_summary) - Get summary
239
+ * [get_recording_transcript](docs/sdks/fathom/README.md#get_recording_transcript) - Get transcript
252
240
  * [list_teams](docs/sdks/fathom/README.md#list_teams) - List teams
253
241
  * [list_team_members](docs/sdks/fathom/README.md#list_team_members) - List team members
254
242
  * [create_webhook](docs/sdks/fathom/README.md#create_webhook) - Create a webhook
@@ -282,7 +270,7 @@ with Fathom(
282
270
  ], calendar_invitees_domains=[
283
271
  "acme.com",
284
272
  "client.com",
285
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
286
274
  "ceo@acme.com",
287
275
  "pm@acme.com",
288
276
  ], teams=[
@@ -322,7 +310,7 @@ with Fathom(
322
310
  ], calendar_invitees_domains=[
323
311
  "acme.com",
324
312
  "client.com",
325
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
326
314
  "ceo@acme.com",
327
315
  "pm@acme.com",
328
316
  ], teams=[
@@ -358,7 +346,7 @@ with Fathom(
358
346
  ], calendar_invitees_domains=[
359
347
  "acme.com",
360
348
  "client.com",
361
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
362
350
  "ceo@acme.com",
363
351
  "pm@acme.com",
364
352
  ], teams=[
@@ -407,7 +395,7 @@ with Fathom(
407
395
  ], calendar_invitees_domains=[
408
396
  "acme.com",
409
397
  "client.com",
410
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
411
399
  "ceo@acme.com",
412
400
  "pm@acme.com",
413
401
  ], teams=[
@@ -451,7 +439,6 @@ with Fathom(
451
439
  </details>
452
440
  <!-- End Error Handling [errors] -->
453
441
 
454
-
455
442
  <!-- Start Server Selection [server] -->
456
443
  ## Server Selection
457
444
 
@@ -476,7 +463,7 @@ with Fathom(
476
463
  ], calendar_invitees_domains=[
477
464
  "acme.com",
478
465
  "client.com",
479
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
480
467
  "ceo@acme.com",
481
468
  "pm@acme.com",
482
469
  ], teams=[
@@ -605,7 +592,6 @@ async def amain():
605
592
  ```
606
593
  <!-- End Resource Management [resource-management] -->
607
594
 
608
-
609
595
  <!-- Start Debugging [debug] -->
610
596
  ## Debugging
611
597
 
@@ -7,28 +7,6 @@ Fathom External API: The Fathom External API lets you poll meetings, teams, and
7
7
  optionally receive webhooks when content from a new meeting is ready.
8
8
  <!-- End Summary [summary] -->
9
9
 
10
- <!-- Start Table of Contents [toc] -->
11
- ## Table of Contents
12
- <!-- $toc-max-depth=2 -->
13
- * fathom-api
14
- * SDK Installation
15
- * Requirements
16
- * SDK Example Usage
17
- * Authentication
18
- * Available Resources and Operations
19
- * Standalone functions
20
- * Pagination
21
- * Retries
22
- * Error Handling
23
- * Custom HTTP Client
24
- * Resource Management
25
- * Debugging
26
- * Development
27
- * Maturity
28
- * Custom HTTP Client
29
-
30
- <!-- End Table of Contents [toc] -->
31
-
32
10
  <!-- Start SDK Installation [installation] -->
33
11
  ## SDK Installation
34
12
 
@@ -37,7 +15,15 @@ optionally receive webhooks when content from a new meeting is ready.
37
15
  >
38
16
  > Once a Python version reaches its [official end of life date](https://devguide.python.org/versions/), a 3-month grace period is provided for users to upgrade. Following this grace period, the minimum python version supported in the SDK will be updated.
39
17
 
40
- The SDK can be installed with either *pip* or *poetry* package managers.
18
+ The SDK can be installed with *uv*, *pip*, or *poetry* package managers.
19
+
20
+ ### uv
21
+
22
+ *uv* is a fast Python package installer and resolver, designed as a drop-in replacement for pip and pip-tools. It's recommended for its speed and modern Python tooling capabilities.
23
+
24
+ ```bash
25
+ uv add fathom-python
26
+ ```
41
27
 
42
28
  ### PIP
43
29
 
@@ -120,7 +106,7 @@ with Fathom(
120
106
  ], calendar_invitees_domains=[
121
107
  "acme.com",
122
108
  "client.com",
123
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
124
110
  "ceo@acme.com",
125
111
  "pm@acme.com",
126
112
  ], teams=[
@@ -136,7 +122,7 @@ with Fathom(
136
122
 
137
123
  </br>
138
124
 
139
- The same SDK client can also be used to make asychronous requests by importing asyncio.
125
+ The same SDK client can also be used to make asynchronous requests by importing asyncio.
140
126
  ```python
141
127
  # Asynchronous Example
142
128
  import asyncio
@@ -157,7 +143,7 @@ async def main():
157
143
  ], calendar_invitees_domains=[
158
144
  "acme.com",
159
145
  "client.com",
160
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
161
147
  "ceo@acme.com",
162
148
  "pm@acme.com",
163
149
  ], teams=[
@@ -204,7 +190,7 @@ with Fathom(
204
190
  ], calendar_invitees_domains=[
205
191
  "acme.com",
206
192
  "client.com",
207
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
208
194
  "ceo@acme.com",
209
195
  "pm@acme.com",
210
196
  ], teams=[
@@ -229,6 +215,8 @@ with Fathom(
229
215
  ### [Fathom SDK](docs/sdks/fathom/README.md)
230
216
 
231
217
  * [list_meetings](docs/sdks/fathom/README.md#list_meetings) - List meetings
218
+ * [get_recording_summary](docs/sdks/fathom/README.md#get_recording_summary) - Get summary
219
+ * [get_recording_transcript](docs/sdks/fathom/README.md#get_recording_transcript) - Get transcript
232
220
  * [list_teams](docs/sdks/fathom/README.md#list_teams) - List teams
233
221
  * [list_team_members](docs/sdks/fathom/README.md#list_team_members) - List team members
234
222
  * [create_webhook](docs/sdks/fathom/README.md#create_webhook) - Create a webhook
@@ -262,7 +250,7 @@ with Fathom(
262
250
  ], calendar_invitees_domains=[
263
251
  "acme.com",
264
252
  "client.com",
265
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
266
254
  "ceo@acme.com",
267
255
  "pm@acme.com",
268
256
  ], teams=[
@@ -302,7 +290,7 @@ with Fathom(
302
290
  ], calendar_invitees_domains=[
303
291
  "acme.com",
304
292
  "client.com",
305
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
306
294
  "ceo@acme.com",
307
295
  "pm@acme.com",
308
296
  ], teams=[
@@ -338,7 +326,7 @@ with Fathom(
338
326
  ], calendar_invitees_domains=[
339
327
  "acme.com",
340
328
  "client.com",
341
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
342
330
  "ceo@acme.com",
343
331
  "pm@acme.com",
344
332
  ], teams=[
@@ -387,7 +375,7 @@ with Fathom(
387
375
  ], calendar_invitees_domains=[
388
376
  "acme.com",
389
377
  "client.com",
390
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
391
379
  "ceo@acme.com",
392
380
  "pm@acme.com",
393
381
  ], teams=[
@@ -431,7 +419,6 @@ with Fathom(
431
419
  </details>
432
420
  <!-- End Error Handling [errors] -->
433
421
 
434
-
435
422
  <!-- Start Server Selection [server] -->
436
423
  ## Server Selection
437
424
 
@@ -456,7 +443,7 @@ with Fathom(
456
443
  ], calendar_invitees_domains=[
457
444
  "acme.com",
458
445
  "client.com",
459
- ], include_crm_matches=False, include_transcript=False, meeting_type=models.ListMeetingsMeetingType.ALL, recorded_by=[
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=[
460
447
  "ceo@acme.com",
461
448
  "pm@acme.com",
462
449
  ], teams=[
@@ -585,7 +572,6 @@ async def amain():
585
572
  ```
586
573
  <!-- End Resource Management [resource-management] -->
587
574
 
588
-
589
575
  <!-- Start Debugging [debug] -->
590
576
  ## Debugging
591
577
 
@@ -1,6 +1,7 @@
1
+
1
2
  [project]
2
3
  name = "fathom-python"
3
- version = "0.0.31"
4
+ version = "0.0.33"
4
5
  description = "Python Client SDK Generated by Speakeasy."
5
6
  authors = [{ name = "Speakeasy" },]
6
7
  readme = "README.md"
@@ -37,6 +38,7 @@ build-backend = "poetry.core.masonry.api"
37
38
 
38
39
  [tool.pytest.ini_options]
39
40
  asyncio_default_fixture_loop_scope = "function"
41
+ asyncio_mode = "auto"
40
42
  pythonpath = ["src"]
41
43
 
42
44
  [tool.mypy]
@@ -3,10 +3,10 @@
3
3
  import importlib.metadata
4
4
 
5
5
  __title__: str = "fathom-python"
6
- __version__: str = "0.0.31"
6
+ __version__: str = "0.0.33"
7
7
  __openapi_doc_version__: str = "1.0.0"
8
- __gen_version__: str = "2.670.1"
9
- __user_agent__: str = "speakeasy-sdk/python 0.0.31 2.670.1 1.0.0 fathom-python"
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"
10
10
 
11
11
  try:
12
12
  if __package__ is not None:
@@ -15,9 +15,19 @@ from urllib.parse import parse_qs, urlparse
15
15
 
16
16
  class BaseSDK:
17
17
  sdk_configuration: SDKConfiguration
18
+ parent_ref: Optional[object] = None
19
+ """
20
+ Reference to the root SDK instance, if any. This will prevent it from
21
+ being garbage collected while there are active streams.
22
+ """
18
23
 
19
- def __init__(self, sdk_config: SDKConfiguration) -> None:
24
+ def __init__(
25
+ self,
26
+ sdk_config: SDKConfiguration,
27
+ parent_ref: Optional[object] = None,
28
+ ) -> None:
20
29
  self.sdk_configuration = sdk_config
30
+ self.parent_ref = parent_ref
21
31
 
22
32
  def _get_url(self, base_url, url_variables):
23
33
  sdk_url, sdk_variables = self.sdk_configuration.get_server_details()
@@ -1,11 +1,13 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from .fathomerror import FathomError
3
4
  from typing import TYPE_CHECKING
4
5
  from importlib import import_module
6
+ import builtins
7
+ import sys
5
8
 
6
9
  if TYPE_CHECKING:
7
10
  from .apierror import APIError
8
- from .fathomerror import FathomError
9
11
  from .no_response_error import NoResponseError
10
12
  from .responsevalidationerror import ResponseValidationError
11
13
 
@@ -13,12 +15,23 @@ __all__ = ["APIError", "FathomError", "NoResponseError", "ResponseValidationErro
13
15
 
14
16
  _dynamic_imports: dict[str, str] = {
15
17
  "APIError": ".apierror",
16
- "FathomError": ".fathomerror",
17
18
  "NoResponseError": ".no_response_error",
18
19
  "ResponseValidationError": ".responsevalidationerror",
19
20
  }
20
21
 
21
22
 
23
+ def dynamic_import(modname, retries=3):
24
+ for attempt in range(retries):
25
+ try:
26
+ return import_module(modname, __package__)
27
+ except KeyError:
28
+ # Clear any half-initialized module and retry
29
+ sys.modules.pop(modname, None)
30
+ if attempt == retries - 1:
31
+ break
32
+ raise KeyError(f"Failed to import module '{modname}' after {retries} attempts")
33
+
34
+
22
35
  def __getattr__(attr_name: str) -> object:
23
36
  module_name = _dynamic_imports.get(attr_name)
24
37
  if module_name is None:
@@ -27,7 +40,7 @@ def __getattr__(attr_name: str) -> object:
27
40
  )
28
41
 
29
42
  try:
30
- module = import_module(module_name, __package__)
43
+ module = dynamic_import(module_name)
31
44
  result = getattr(module, attr_name)
32
45
  return result
33
46
  except ImportError as e:
@@ -41,5 +54,5 @@ def __getattr__(attr_name: str) -> object:
41
54
 
42
55
 
43
56
  def __dir__():
44
- lazy_attrs = list(_dynamic_imports.keys())
45
- return sorted(lazy_attrs)
57
+ lazy_attrs = builtins.list(_dynamic_imports.keys())
58
+ return builtins.sorted(lazy_attrs)
@@ -2,12 +2,14 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from fathom_python.errors import FathomError
7
8
 
8
9
  MAX_MESSAGE_LEN = 10_000
9
10
 
10
11
 
12
+ @dataclass(frozen=True)
11
13
  class APIError(FathomError):
12
14
  """The fallback error class if no more specific error class is matched."""
13
15
 
@@ -0,0 +1,30 @@
1
+ """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
+
3
+ import httpx
4
+ from typing import Optional
5
+ from dataclasses import dataclass, field
6
+
7
+
8
+ @dataclass(frozen=True)
9
+ class FathomError(Exception):
10
+ """The base class for all HTTP error responses."""
11
+
12
+ message: str
13
+ status_code: int
14
+ body: str
15
+ headers: httpx.Headers = field(hash=False)
16
+ raw_response: httpx.Response = field(hash=False)
17
+
18
+ def __init__(
19
+ self, message: str, raw_response: httpx.Response, body: Optional[str] = None
20
+ ):
21
+ object.__setattr__(self, "message", message)
22
+ object.__setattr__(self, "status_code", raw_response.status_code)
23
+ object.__setattr__(
24
+ self, "body", body if body is not None else raw_response.text
25
+ )
26
+ object.__setattr__(self, "headers", raw_response.headers)
27
+ object.__setattr__(self, "raw_response", raw_response)
28
+
29
+ def __str__(self):
30
+ return self.message
@@ -1,12 +1,16 @@
1
1
  """Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT."""
2
2
 
3
+ from dataclasses import dataclass
4
+
5
+
6
+ @dataclass(frozen=True)
3
7
  class NoResponseError(Exception):
4
8
  """Error raised when no HTTP response is received from the server."""
5
9
 
6
10
  message: str
7
11
 
8
12
  def __init__(self, message: str = "No response received"):
9
- self.message = message
13
+ object.__setattr__(self, "message", message)
10
14
  super().__init__(message)
11
15
 
12
16
  def __str__(self):
@@ -2,10 +2,12 @@
2
2
 
3
3
  import httpx
4
4
  from typing import Optional
5
+ from dataclasses import dataclass
5
6
 
6
7
  from fathom_python.errors import FathomError
7
8
 
8
9
 
10
+ @dataclass(frozen=True)
9
11
  class ResponseValidationError(FathomError):
10
12
  """Error raised when there is a type mismatch between the response data and the expected Pydantic model."""
11
13