fathom-python 0.0.23__tar.gz → 0.0.25__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 (47) hide show
  1. {fathom_python-0.0.23 → fathom_python-0.0.25}/PKG-INFO +1 -1
  2. {fathom_python-0.0.23 → fathom_python-0.0.25}/pyproject.toml +1 -1
  3. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/__init__.py +2 -2
  4. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/base_client.py +26 -26
  5. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/client_wrapper.py +2 -1
  6. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/environment.py +1 -1
  7. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/action_item.py +5 -1
  8. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/assignee.py +1 -1
  9. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/fathom_user.py +1 -1
  10. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/meeting.py +2 -1
  11. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/meeting_summary.py +5 -2
  12. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/transcript_item_speaker.py +1 -1
  13. {fathom_python-0.0.23 → fathom_python-0.0.25}/README.md +0 -0
  14. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/client.py +0 -0
  15. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/__init__.py +0 -0
  16. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/api_error.py +0 -0
  17. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/datetime_utils.py +0 -0
  18. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/file.py +0 -0
  19. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/force_multipart.py +0 -0
  20. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/http_client.py +0 -0
  21. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/http_response.py +0 -0
  22. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/jsonable_encoder.py +0 -0
  23. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/pydantic_utilities.py +0 -0
  24. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/query_encoder.py +0 -0
  25. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/remove_none_from_dict.py +0 -0
  26. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/request_options.py +0 -0
  27. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/core/serialization.py +0 -0
  28. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/errors/__init__.py +0 -0
  29. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/errors/bad_request_error.py +0 -0
  30. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/errors/unauthorized_error.py +0 -0
  31. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/py.typed +0 -0
  32. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/raw_base_client.py +0 -0
  33. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/__init__.py +0 -0
  34. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/crm_company_match.py +0 -0
  35. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/crm_contact_match.py +0 -0
  36. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/crm_deal_match.py +0 -0
  37. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/crm_matches.py +0 -0
  38. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/invitee.py +0 -0
  39. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/list_meetings_request_meeting_type.py +0 -0
  40. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/meeting_list_response.py +0 -0
  41. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/meeting_meeting_type.py +0 -0
  42. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/team.py +0 -0
  43. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/team_list_response.py +0 -0
  44. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/team_member.py +0 -0
  45. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/team_member_list_response.py +0 -0
  46. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/types/transcript_item.py +0 -0
  47. {fathom_python-0.0.23 → fathom_python-0.0.25}/src/fathom/version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fathom-python
3
- Version: 0.0.23
3
+ Version: 0.0.25
4
4
  Summary:
5
5
  Requires-Python: >=3.8,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -3,7 +3,7 @@ name = "fathom-python"
3
3
 
4
4
  [tool.poetry]
5
5
  name = "fathom-python"
6
- version = "0.0.23"
6
+ version = "0.0.25"
7
7
  description = ""
8
8
  readme = "README.md"
9
9
  authors = []
@@ -25,7 +25,7 @@ from .types import (
25
25
  )
26
26
  from .errors import BadRequestError, UnauthorizedError
27
27
  from .client import AsyncFathomApi, FathomApi
28
- from .environment import ClientEnvironment
28
+ from .environment import FathomApiEnvironment
29
29
  from .version import __version__
30
30
 
31
31
  __all__ = [
@@ -34,7 +34,7 @@ __all__ = [
34
34
  "AsyncFathomApi",
35
35
  "BadRequestError",
36
36
  "FathomApi",
37
- "ClientEnvironment",
37
+ "FathomApiEnvironment",
38
38
  "CrmCompanyMatch",
39
39
  "CrmContactMatch",
40
40
  "CrmDealMatch",
@@ -7,7 +7,7 @@ import httpx
7
7
  from .core.api_error import ApiError
8
8
  from .core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
9
9
  from .core.request_options import RequestOptions
10
- from .environment import ClientEnvironment
10
+ from .environment import FathomApiEnvironment
11
11
  from .raw_base_client import AsyncRawBaseClient, RawBaseClient
12
12
  from .types.list_meetings_request_meeting_type import ListMeetingsRequestMeetingType
13
13
  from .types.meeting_list_response import MeetingListResponse
@@ -24,10 +24,10 @@ class BaseClient:
24
24
  base_url : typing.Optional[str]
25
25
  The base url to use for requests from the client.
26
26
 
27
- environment : ClientEnvironment
28
- The environment to use for requests from the client. from .environment import ClientEnvironment
27
+ environment : FathomApiEnvironment
28
+ The environment to use for requests from the client. from .environment import FathomApiEnvironment
29
29
 
30
- Defaults to ClientEnvironment.DEFAULT
30
+ Defaults to FathomApiEnvironment.DEFAULT
31
31
 
32
32
 
33
33
 
@@ -43,15 +43,15 @@ class BaseClient:
43
43
 
44
44
  Examples
45
45
  --------
46
- from fathom import Client
47
- client = Client(api_key="YOUR_API_KEY", )
46
+ from fathom import FathomApi
47
+ client = FathomApi(api_key="YOUR_API_KEY", )
48
48
  """
49
49
 
50
50
  def __init__(
51
51
  self,
52
52
  *,
53
53
  base_url: typing.Optional[str] = None,
54
- environment: ClientEnvironment = ClientEnvironment.DEFAULT,
54
+ environment: FathomApiEnvironment = FathomApiEnvironment.DEFAULT,
55
55
  api_key: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = os.getenv("FATHOM_API_KEY"),
56
56
  timeout: typing.Optional[float] = None,
57
57
  follow_redirects: typing.Optional[bool] = True,
@@ -149,8 +149,8 @@ class BaseClient:
149
149
 
150
150
  Examples
151
151
  --------
152
- from fathom import Client
153
- client = Client(api_key="YOUR_API_KEY", )
152
+ from fathom import FathomApi
153
+ client = FathomApi(api_key="YOUR_API_KEY", )
154
154
  client.list_meetings()
155
155
  """
156
156
  _response = self._raw_client.list_meetings(
@@ -184,8 +184,8 @@ class BaseClient:
184
184
 
185
185
  Examples
186
186
  --------
187
- from fathom import Client
188
- client = Client(api_key="YOUR_API_KEY", )
187
+ from fathom import FathomApi
188
+ client = FathomApi(api_key="YOUR_API_KEY", )
189
189
  client.list_teams()
190
190
  """
191
191
  _response = self._raw_client.list_teams(cursor=cursor, request_options=request_options)
@@ -217,8 +217,8 @@ class BaseClient:
217
217
 
218
218
  Examples
219
219
  --------
220
- from fathom import Client
221
- client = Client(api_key="YOUR_API_KEY", )
220
+ from fathom import FathomApi
221
+ client = FathomApi(api_key="YOUR_API_KEY", )
222
222
  client.list_team_members()
223
223
  """
224
224
  _response = self._raw_client.list_team_members(team=team, cursor=cursor, request_options=request_options)
@@ -234,10 +234,10 @@ class AsyncBaseClient:
234
234
  base_url : typing.Optional[str]
235
235
  The base url to use for requests from the client.
236
236
 
237
- environment : ClientEnvironment
238
- The environment to use for requests from the client. from .environment import ClientEnvironment
237
+ environment : FathomApiEnvironment
238
+ The environment to use for requests from the client. from .environment import FathomApiEnvironment
239
239
 
240
- Defaults to ClientEnvironment.DEFAULT
240
+ Defaults to FathomApiEnvironment.DEFAULT
241
241
 
242
242
 
243
243
 
@@ -253,15 +253,15 @@ class AsyncBaseClient:
253
253
 
254
254
  Examples
255
255
  --------
256
- from fathom import AsyncClient
257
- client = AsyncClient(api_key="YOUR_API_KEY", )
256
+ from fathom import AsyncFathomApi
257
+ client = AsyncFathomApi(api_key="YOUR_API_KEY", )
258
258
  """
259
259
 
260
260
  def __init__(
261
261
  self,
262
262
  *,
263
263
  base_url: typing.Optional[str] = None,
264
- environment: ClientEnvironment = ClientEnvironment.DEFAULT,
264
+ environment: FathomApiEnvironment = FathomApiEnvironment.DEFAULT,
265
265
  api_key: typing.Optional[typing.Union[str, typing.Callable[[], str]]] = os.getenv("FATHOM_API_KEY"),
266
266
  timeout: typing.Optional[float] = None,
267
267
  follow_redirects: typing.Optional[bool] = True,
@@ -359,9 +359,9 @@ class AsyncBaseClient:
359
359
 
360
360
  Examples
361
361
  --------
362
- from fathom import AsyncClient
362
+ from fathom import AsyncFathomApi
363
363
  import asyncio
364
- client = AsyncClient(api_key="YOUR_API_KEY", )
364
+ client = AsyncFathomApi(api_key="YOUR_API_KEY", )
365
365
  async def main() -> None:
366
366
  await client.list_meetings()
367
367
  asyncio.run(main())
@@ -397,9 +397,9 @@ class AsyncBaseClient:
397
397
 
398
398
  Examples
399
399
  --------
400
- from fathom import AsyncClient
400
+ from fathom import AsyncFathomApi
401
401
  import asyncio
402
- client = AsyncClient(api_key="YOUR_API_KEY", )
402
+ client = AsyncFathomApi(api_key="YOUR_API_KEY", )
403
403
  async def main() -> None:
404
404
  await client.list_teams()
405
405
  asyncio.run(main())
@@ -433,9 +433,9 @@ class AsyncBaseClient:
433
433
 
434
434
  Examples
435
435
  --------
436
- from fathom import AsyncClient
436
+ from fathom import AsyncFathomApi
437
437
  import asyncio
438
- client = AsyncClient(api_key="YOUR_API_KEY", )
438
+ client = AsyncFathomApi(api_key="YOUR_API_KEY", )
439
439
  async def main() -> None:
440
440
  await client.list_team_members()
441
441
  asyncio.run(main())
@@ -444,7 +444,7 @@ class AsyncBaseClient:
444
444
  return _response.data
445
445
 
446
446
 
447
- def _get_base_url(*, base_url: typing.Optional[str] = None, environment: ClientEnvironment) -> str:
447
+ def _get_base_url(*, base_url: typing.Optional[str] = None, environment: FathomApiEnvironment) -> str:
448
448
  if base_url is not None:
449
449
  return base_url
450
450
  elif environment is not None:
@@ -20,9 +20,10 @@ class BaseClientWrapper:
20
20
 
21
21
  def get_headers(self) -> typing.Dict[str, str]:
22
22
  headers: typing.Dict[str, str] = {
23
+ "User-Agent": "fathom-python/0.0.25",
23
24
  "X-Fern-Language": "Python",
24
25
  "X-Fern-SDK-Name": "fathom-python",
25
- "X-Fern-SDK-Version": "0.0.23",
26
+ "X-Fern-SDK-Version": "0.0.25",
26
27
  }
27
28
  headers["Authorization"] = f"Bearer {self._get_api_key()}"
28
29
  return headers
@@ -3,5 +3,5 @@
3
3
  import enum
4
4
 
5
5
 
6
- class ClientEnvironment(enum.Enum):
6
+ class FathomApiEnvironment(enum.Enum):
7
7
  DEFAULT = "https://api.fathom.ai/external/v1"
@@ -8,7 +8,11 @@ from .assignee import Assignee
8
8
 
9
9
 
10
10
  class ActionItem(UniversalBaseModel):
11
- description: str
11
+ description: str = pydantic.Field()
12
+ """
13
+ Always displayed in English.
14
+ """
15
+
12
16
  user_generated: bool
13
17
  completed: bool
14
18
  recording_timestamp: str = pydantic.Field()
@@ -9,7 +9,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
9
  class Assignee(UniversalBaseModel):
10
10
  name: str
11
11
  email: str
12
- team: str
12
+ team: typing.Optional[str] = None
13
13
 
14
14
  if IS_PYDANTIC_V2:
15
15
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -9,7 +9,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
9
9
  class FathomUser(UniversalBaseModel):
10
10
  name: str
11
11
  email: str
12
- team: str
12
+ team: typing.Optional[str] = None
13
13
 
14
14
  if IS_PYDANTIC_V2:
15
15
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -21,7 +21,7 @@ class Meeting(UniversalBaseModel):
21
21
  Calendar event title.
22
22
  """
23
23
 
24
- abstract: str = pydantic.Field()
24
+ abstract: typing.Optional[str] = pydantic.Field(default=None)
25
25
  """
26
26
  Short meeting summary.
27
27
  """
@@ -38,6 +38,7 @@ class Meeting(UniversalBaseModel):
38
38
  summary: typing.Optional[MeetingSummary] = None
39
39
  action_items: typing.Optional[typing.List[ActionItem]] = None
40
40
  calendar_invitees: typing.List[Invitee]
41
+ transcript_language: str
41
42
  recorded_by: FathomUser
42
43
  crm_matches: typing.Optional[CrmMatches] = None
43
44
 
@@ -7,8 +7,11 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
7
7
 
8
8
 
9
9
  class MeetingSummary(UniversalBaseModel):
10
- template_name: str
11
- markdown_formatted: str
10
+ template_name: typing.Optional[str] = None
11
+ markdown_formatted: typing.Optional[str] = pydantic.Field(default=None)
12
+ """
13
+ Always displayed in English.
14
+ """
12
15
 
13
16
  if IS_PYDANTIC_V2:
14
17
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
@@ -8,7 +8,7 @@ from ..core.pydantic_utilities import IS_PYDANTIC_V2, UniversalBaseModel
8
8
 
9
9
  class TranscriptItemSpeaker(UniversalBaseModel):
10
10
  display_name: str
11
- matched_calendar_invitee_email: str
11
+ matched_calendar_invitee_email: typing.Optional[str] = None
12
12
 
13
13
  if IS_PYDANTIC_V2:
14
14
  model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
File without changes