fathom-python 0.0.30__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.
- {fathom_python-0.0.30 → fathom_python-0.0.33}/PKG-INFO +25 -61
- {fathom_python-0.0.30 → fathom_python-0.0.33}/README.md +24 -60
- {fathom_python-0.0.30 → fathom_python-0.0.33}/pyproject.toml +3 -1
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/_version.py +3 -3
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/basesdk.py +11 -1
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/errors/__init__.py +18 -5
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/errors/apierror.py +2 -0
- fathom_python-0.0.33/src/fathom_python/errors/fathomerror.py +30 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/errors/no_response_error.py +5 -1
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/errors/responsevalidationerror.py +2 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/__init__.py +95 -41
- fathom_python-0.0.33/src/fathom_python/models/callbackresponse.py +13 -0
- fathom_python-0.0.33/src/fathom_python/models/createwebhookop.py +61 -0
- fathom_python-0.0.33/src/fathom_python/models/crmmatches.py +73 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/fathomuser.py +3 -0
- fathom_python-0.0.33/src/fathom_python/models/getrecordingsummaryop.py +82 -0
- fathom_python-0.0.33/src/fathom_python/models/getrecordingtranscriptop.py +50 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/invitee.py +9 -1
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/listmeetingsop.py +37 -10
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/listteammembersop.py +15 -1
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/listteamsop.py +12 -1
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/meeting.py +19 -9
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/security.py +0 -14
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/transcriptitemspeaker.py +6 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/webhook.py +12 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/sdk.py +481 -218
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/__init__.py +18 -5
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/eventstreaming.py +10 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/security.py +0 -25
- fathom_python-0.0.30/src/fathom_python/errors/fathomerror.py +0 -26
- fathom_python-0.0.30/src/fathom_python/models/createwebhookop.py +0 -36
- fathom_python-0.0.30/src/fathom_python/models/crmmatches.py +0 -36
- fathom_python-0.0.30/src/fathom_python/models/gettokenop.py +0 -74
- fathom_python-0.0.30/src/fathom_python/models/schemetokenrequeststandalone.py +0 -42
- {fathom_python-0.0.30 → fathom_python-0.0.33}/py.typed +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/__init__.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/_hooks/__init__.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/_hooks/registration.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/_hooks/sdkhooks.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/_hooks/types.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/httpclient.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/actionitem.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/assignee.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/crmcompanymatch.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/crmcontactmatch.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/crmdealmatch.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/deletewebhookop.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/meetinglistresponse.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/meetingsummary.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/team.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/teamlistresponse.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/teammember.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/teammemberlistresponse.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/models/transcriptitem.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/py.typed +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/sdkconfiguration.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/types/__init__.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/types/basemodel.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/annotations.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/datetimes.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/enums.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/forms.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/headers.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/logger.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/metadata.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/queryparams.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/requestbodies.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/retries.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/serializers.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/unmarshal_json_response.py +0 -0
- {fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/utils/url.py +0 -0
- {fathom_python-0.0.30 → 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.
|
|
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,27 +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-python](#fathom-python)
|
|
34
|
-
* [SDK Installation](#sdk-installation)
|
|
35
|
-
* [IDE Support](#ide-support)
|
|
36
|
-
* [SDK Example Usage](#sdk-example-usage)
|
|
37
|
-
* [Authentication](#authentication)
|
|
38
|
-
* [Available Resources and Operations](#available-resources-and-operations)
|
|
39
|
-
* [Pagination](#pagination)
|
|
40
|
-
* [Retries](#retries)
|
|
41
|
-
* [Error Handling](#error-handling)
|
|
42
|
-
* [Server Selection](#server-selection)
|
|
43
|
-
* [Custom HTTP Client](#custom-http-client)
|
|
44
|
-
* [Resource Management](#resource-management)
|
|
45
|
-
* [Debugging](#debugging)
|
|
46
|
-
* [Development](#development)
|
|
47
|
-
* [Maturity](#maturity)
|
|
48
|
-
|
|
49
|
-
<!-- End Table of Contents [toc] -->
|
|
50
|
-
|
|
51
30
|
<!-- Start SDK Installation [installation] -->
|
|
52
31
|
## SDK Installation
|
|
53
32
|
|
|
@@ -56,7 +35,15 @@ optionally receive webhooks when content from a new meeting is ready.
|
|
|
56
35
|
>
|
|
57
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.
|
|
58
37
|
|
|
59
|
-
The SDK can be installed with
|
|
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
|
+
```
|
|
60
47
|
|
|
61
48
|
### PIP
|
|
62
49
|
|
|
@@ -139,7 +126,7 @@ with Fathom(
|
|
|
139
126
|
], calendar_invitees_domains=[
|
|
140
127
|
"acme.com",
|
|
141
128
|
"client.com",
|
|
142
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
143
130
|
"ceo@acme.com",
|
|
144
131
|
"pm@acme.com",
|
|
145
132
|
], teams=[
|
|
@@ -155,7 +142,7 @@ with Fathom(
|
|
|
155
142
|
|
|
156
143
|
</br>
|
|
157
144
|
|
|
158
|
-
The same SDK client can also be used to make
|
|
145
|
+
The same SDK client can also be used to make asynchronous requests by importing asyncio.
|
|
159
146
|
```python
|
|
160
147
|
# Asynchronous Example
|
|
161
148
|
import asyncio
|
|
@@ -176,7 +163,7 @@ async def main():
|
|
|
176
163
|
], calendar_invitees_domains=[
|
|
177
164
|
"acme.com",
|
|
178
165
|
"client.com",
|
|
179
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
180
167
|
"ceo@acme.com",
|
|
181
168
|
"pm@acme.com",
|
|
182
169
|
], teams=[
|
|
@@ -200,11 +187,10 @@ asyncio.run(main())
|
|
|
200
187
|
|
|
201
188
|
This SDK supports the following security schemes globally:
|
|
202
189
|
|
|
203
|
-
| Name
|
|
204
|
-
|
|
|
205
|
-
| `api_key_auth`
|
|
206
|
-
| `bearer_auth`
|
|
207
|
-
| `token_request_standalone` | http | Custom HTTP | `FATHOM_TOKEN_REQUEST_STANDALONE` |
|
|
190
|
+
| Name | Type | Scheme | Environment Variable |
|
|
191
|
+
| -------------- | ------ | ----------- | --------------------- |
|
|
192
|
+
| `api_key_auth` | apiKey | API key | `FATHOM_API_KEY_AUTH` |
|
|
193
|
+
| `bearer_auth` | http | HTTP Bearer | `FATHOM_BEARER_AUTH` |
|
|
208
194
|
|
|
209
195
|
You can set the security parameters through the `security` optional parameter when initializing the SDK client instance. The selected scheme will be used by default to authenticate with the API for all operations that support it. For example:
|
|
210
196
|
```python
|
|
@@ -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.
|
|
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,11 +235,12 @@ 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
|
|
255
243
|
* [delete_webhook](docs/sdks/fathom/README.md#delete_webhook) - Delete a webhook
|
|
256
|
-
* [get_token](docs/sdks/fathom/README.md#get_token) - Token endpoint for exchanging an authorization code or refreshing an access token
|
|
257
244
|
|
|
258
245
|
</details>
|
|
259
246
|
<!-- End Available Resources and Operations [operations] -->
|
|
@@ -283,7 +270,7 @@ with Fathom(
|
|
|
283
270
|
], calendar_invitees_domains=[
|
|
284
271
|
"acme.com",
|
|
285
272
|
"client.com",
|
|
286
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
287
274
|
"ceo@acme.com",
|
|
288
275
|
"pm@acme.com",
|
|
289
276
|
], teams=[
|
|
@@ -323,7 +310,7 @@ with Fathom(
|
|
|
323
310
|
], calendar_invitees_domains=[
|
|
324
311
|
"acme.com",
|
|
325
312
|
"client.com",
|
|
326
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
327
314
|
"ceo@acme.com",
|
|
328
315
|
"pm@acme.com",
|
|
329
316
|
], teams=[
|
|
@@ -359,7 +346,7 @@ with Fathom(
|
|
|
359
346
|
], calendar_invitees_domains=[
|
|
360
347
|
"acme.com",
|
|
361
348
|
"client.com",
|
|
362
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
363
350
|
"ceo@acme.com",
|
|
364
351
|
"pm@acme.com",
|
|
365
352
|
], teams=[
|
|
@@ -408,7 +395,7 @@ with Fathom(
|
|
|
408
395
|
], calendar_invitees_domains=[
|
|
409
396
|
"acme.com",
|
|
410
397
|
"client.com",
|
|
411
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
412
399
|
"ceo@acme.com",
|
|
413
400
|
"pm@acme.com",
|
|
414
401
|
], teams=[
|
|
@@ -452,7 +439,6 @@ with Fathom(
|
|
|
452
439
|
</details>
|
|
453
440
|
<!-- End Error Handling [errors] -->
|
|
454
441
|
|
|
455
|
-
|
|
456
442
|
<!-- Start Server Selection [server] -->
|
|
457
443
|
## Server Selection
|
|
458
444
|
|
|
@@ -477,7 +463,7 @@ with Fathom(
|
|
|
477
463
|
], calendar_invitees_domains=[
|
|
478
464
|
"acme.com",
|
|
479
465
|
"client.com",
|
|
480
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
481
467
|
"ceo@acme.com",
|
|
482
468
|
"pm@acme.com",
|
|
483
469
|
], teams=[
|
|
@@ -490,27 +476,6 @@ with Fathom(
|
|
|
490
476
|
|
|
491
477
|
res = res.next()
|
|
492
478
|
|
|
493
|
-
```
|
|
494
|
-
|
|
495
|
-
### Override Server URL Per-Operation
|
|
496
|
-
|
|
497
|
-
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
|
|
498
|
-
```python
|
|
499
|
-
from fathom_python import Fathom, models
|
|
500
|
-
import os
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
with Fathom(
|
|
504
|
-
security=models.Security(
|
|
505
|
-
api_key_auth=os.getenv("FATHOM_API_KEY_AUTH", ""),
|
|
506
|
-
),
|
|
507
|
-
) as fathom:
|
|
508
|
-
|
|
509
|
-
res = fathom.get_token(grant_type=models.GetTokenGrantType.REFRESH_TOKEN, code="<value>", redirect_uri="https://aware-honesty.info", client_id="<id>", client_secret="<value>", server_url="https://fathom.video/external/v1")
|
|
510
|
-
|
|
511
|
-
# Handle response
|
|
512
|
-
print(res)
|
|
513
|
-
|
|
514
479
|
```
|
|
515
480
|
<!-- End Server Selection [server] -->
|
|
516
481
|
|
|
@@ -627,7 +592,6 @@ async def amain():
|
|
|
627
592
|
```
|
|
628
593
|
<!-- End Resource Management [resource-management] -->
|
|
629
594
|
|
|
630
|
-
|
|
631
595
|
<!-- Start Debugging [debug] -->
|
|
632
596
|
## Debugging
|
|
633
597
|
|
|
@@ -7,27 +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-python](#fathom-python)
|
|
14
|
-
* [SDK Installation](#sdk-installation)
|
|
15
|
-
* [IDE Support](#ide-support)
|
|
16
|
-
* [SDK Example Usage](#sdk-example-usage)
|
|
17
|
-
* [Authentication](#authentication)
|
|
18
|
-
* [Available Resources and Operations](#available-resources-and-operations)
|
|
19
|
-
* [Pagination](#pagination)
|
|
20
|
-
* [Retries](#retries)
|
|
21
|
-
* [Error Handling](#error-handling)
|
|
22
|
-
* [Server Selection](#server-selection)
|
|
23
|
-
* [Custom HTTP Client](#custom-http-client)
|
|
24
|
-
* [Resource Management](#resource-management)
|
|
25
|
-
* [Debugging](#debugging)
|
|
26
|
-
* [Development](#development)
|
|
27
|
-
* [Maturity](#maturity)
|
|
28
|
-
|
|
29
|
-
<!-- End Table of Contents [toc] -->
|
|
30
|
-
|
|
31
10
|
<!-- Start SDK Installation [installation] -->
|
|
32
11
|
## SDK Installation
|
|
33
12
|
|
|
@@ -36,7 +15,15 @@ optionally receive webhooks when content from a new meeting is ready.
|
|
|
36
15
|
>
|
|
37
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.
|
|
38
17
|
|
|
39
|
-
The SDK can be installed with
|
|
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
|
+
```
|
|
40
27
|
|
|
41
28
|
### PIP
|
|
42
29
|
|
|
@@ -119,7 +106,7 @@ with Fathom(
|
|
|
119
106
|
], calendar_invitees_domains=[
|
|
120
107
|
"acme.com",
|
|
121
108
|
"client.com",
|
|
122
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
123
110
|
"ceo@acme.com",
|
|
124
111
|
"pm@acme.com",
|
|
125
112
|
], teams=[
|
|
@@ -135,7 +122,7 @@ with Fathom(
|
|
|
135
122
|
|
|
136
123
|
</br>
|
|
137
124
|
|
|
138
|
-
The same SDK client can also be used to make
|
|
125
|
+
The same SDK client can also be used to make asynchronous requests by importing asyncio.
|
|
139
126
|
```python
|
|
140
127
|
# Asynchronous Example
|
|
141
128
|
import asyncio
|
|
@@ -156,7 +143,7 @@ async def main():
|
|
|
156
143
|
], calendar_invitees_domains=[
|
|
157
144
|
"acme.com",
|
|
158
145
|
"client.com",
|
|
159
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
160
147
|
"ceo@acme.com",
|
|
161
148
|
"pm@acme.com",
|
|
162
149
|
], teams=[
|
|
@@ -180,11 +167,10 @@ asyncio.run(main())
|
|
|
180
167
|
|
|
181
168
|
This SDK supports the following security schemes globally:
|
|
182
169
|
|
|
183
|
-
| Name
|
|
184
|
-
|
|
|
185
|
-
| `api_key_auth`
|
|
186
|
-
| `bearer_auth`
|
|
187
|
-
| `token_request_standalone` | http | Custom HTTP | `FATHOM_TOKEN_REQUEST_STANDALONE` |
|
|
170
|
+
| Name | Type | Scheme | Environment Variable |
|
|
171
|
+
| -------------- | ------ | ----------- | --------------------- |
|
|
172
|
+
| `api_key_auth` | apiKey | API key | `FATHOM_API_KEY_AUTH` |
|
|
173
|
+
| `bearer_auth` | http | HTTP Bearer | `FATHOM_BEARER_AUTH` |
|
|
188
174
|
|
|
189
175
|
You can set the security parameters through the `security` optional parameter when initializing the SDK client instance. The selected scheme will be used by default to authenticate with the API for all operations that support it. For example:
|
|
190
176
|
```python
|
|
@@ -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.
|
|
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,11 +215,12 @@ 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
|
|
235
223
|
* [delete_webhook](docs/sdks/fathom/README.md#delete_webhook) - Delete a webhook
|
|
236
|
-
* [get_token](docs/sdks/fathom/README.md#get_token) - Token endpoint for exchanging an authorization code or refreshing an access token
|
|
237
224
|
|
|
238
225
|
</details>
|
|
239
226
|
<!-- End Available Resources and Operations [operations] -->
|
|
@@ -263,7 +250,7 @@ with Fathom(
|
|
|
263
250
|
], calendar_invitees_domains=[
|
|
264
251
|
"acme.com",
|
|
265
252
|
"client.com",
|
|
266
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
267
254
|
"ceo@acme.com",
|
|
268
255
|
"pm@acme.com",
|
|
269
256
|
], teams=[
|
|
@@ -303,7 +290,7 @@ with Fathom(
|
|
|
303
290
|
], calendar_invitees_domains=[
|
|
304
291
|
"acme.com",
|
|
305
292
|
"client.com",
|
|
306
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
307
294
|
"ceo@acme.com",
|
|
308
295
|
"pm@acme.com",
|
|
309
296
|
], teams=[
|
|
@@ -339,7 +326,7 @@ with Fathom(
|
|
|
339
326
|
], calendar_invitees_domains=[
|
|
340
327
|
"acme.com",
|
|
341
328
|
"client.com",
|
|
342
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
343
330
|
"ceo@acme.com",
|
|
344
331
|
"pm@acme.com",
|
|
345
332
|
], teams=[
|
|
@@ -388,7 +375,7 @@ with Fathom(
|
|
|
388
375
|
], calendar_invitees_domains=[
|
|
389
376
|
"acme.com",
|
|
390
377
|
"client.com",
|
|
391
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
392
379
|
"ceo@acme.com",
|
|
393
380
|
"pm@acme.com",
|
|
394
381
|
], teams=[
|
|
@@ -432,7 +419,6 @@ with Fathom(
|
|
|
432
419
|
</details>
|
|
433
420
|
<!-- End Error Handling [errors] -->
|
|
434
421
|
|
|
435
|
-
|
|
436
422
|
<!-- Start Server Selection [server] -->
|
|
437
423
|
## Server Selection
|
|
438
424
|
|
|
@@ -457,7 +443,7 @@ with Fathom(
|
|
|
457
443
|
], calendar_invitees_domains=[
|
|
458
444
|
"acme.com",
|
|
459
445
|
"client.com",
|
|
460
|
-
], include_crm_matches=False, include_transcript=False, meeting_type=models.
|
|
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=[
|
|
461
447
|
"ceo@acme.com",
|
|
462
448
|
"pm@acme.com",
|
|
463
449
|
], teams=[
|
|
@@ -470,27 +456,6 @@ with Fathom(
|
|
|
470
456
|
|
|
471
457
|
res = res.next()
|
|
472
458
|
|
|
473
|
-
```
|
|
474
|
-
|
|
475
|
-
### Override Server URL Per-Operation
|
|
476
|
-
|
|
477
|
-
The server URL can also be overridden on a per-operation basis, provided a server list was specified for the operation. For example:
|
|
478
|
-
```python
|
|
479
|
-
from fathom_python import Fathom, models
|
|
480
|
-
import os
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
with Fathom(
|
|
484
|
-
security=models.Security(
|
|
485
|
-
api_key_auth=os.getenv("FATHOM_API_KEY_AUTH", ""),
|
|
486
|
-
),
|
|
487
|
-
) as fathom:
|
|
488
|
-
|
|
489
|
-
res = fathom.get_token(grant_type=models.GetTokenGrantType.REFRESH_TOKEN, code="<value>", redirect_uri="https://aware-honesty.info", client_id="<id>", client_secret="<value>", server_url="https://fathom.video/external/v1")
|
|
490
|
-
|
|
491
|
-
# Handle response
|
|
492
|
-
print(res)
|
|
493
|
-
|
|
494
459
|
```
|
|
495
460
|
<!-- End Server Selection [server] -->
|
|
496
461
|
|
|
@@ -607,7 +572,6 @@ async def amain():
|
|
|
607
572
|
```
|
|
608
573
|
<!-- End Resource Management [resource-management] -->
|
|
609
574
|
|
|
610
|
-
|
|
611
575
|
<!-- Start Debugging [debug] -->
|
|
612
576
|
## Debugging
|
|
613
577
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
|
|
1
2
|
[project]
|
|
2
3
|
name = "fathom-python"
|
|
3
|
-
version = "0.0.
|
|
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.
|
|
6
|
+
__version__: str = "0.0.33"
|
|
7
7
|
__openapi_doc_version__: str = "1.0.0"
|
|
8
|
-
__gen_version__: str = "2.
|
|
9
|
-
__user_agent__: str = "speakeasy-sdk/python 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"
|
|
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__(
|
|
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 =
|
|
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
|
|
13
|
+
object.__setattr__(self, "message", message)
|
|
10
14
|
super().__init__(message)
|
|
11
15
|
|
|
12
16
|
def __str__(self):
|
{fathom_python-0.0.30 → fathom_python-0.0.33}/src/fathom_python/errors/responsevalidationerror.py
RENAMED
|
@@ -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
|
|