workos 5.38.1__tar.gz → 5.39.1__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 (138) hide show
  1. {workos-5.38.1 → workos-5.39.1}/PKG-INFO +1 -1
  2. {workos-5.38.1 → workos-5.39.1}/pyproject.toml +6 -1
  3. {workos-5.38.1 → workos-5.39.1}/src/workos/directory_sync.py +32 -13
  4. {workos-5.38.1 → workos-5.39.1}/src/workos/types/directory_sync/list_filters.py +4 -4
  5. {workos-5.38.1 → workos-5.39.1}/README.md +0 -0
  6. {workos-5.38.1 → workos-5.39.1}/src/workos/__init__.py +0 -0
  7. {workos-5.38.1 → workos-5.39.1}/src/workos/_base_client.py +0 -0
  8. {workos-5.38.1 → workos-5.39.1}/src/workos/_client_configuration.py +0 -0
  9. {workos-5.38.1 → workos-5.39.1}/src/workos/api_keys.py +0 -0
  10. {workos-5.38.1 → workos-5.39.1}/src/workos/async_client.py +0 -0
  11. {workos-5.38.1 → workos-5.39.1}/src/workos/audit_logs.py +0 -0
  12. {workos-5.38.1 → workos-5.39.1}/src/workos/client.py +0 -0
  13. {workos-5.38.1 → workos-5.39.1}/src/workos/events.py +0 -0
  14. {workos-5.38.1 → workos-5.39.1}/src/workos/exceptions.py +0 -0
  15. {workos-5.38.1 → workos-5.39.1}/src/workos/fga.py +0 -0
  16. {workos-5.38.1 → workos-5.39.1}/src/workos/mfa.py +0 -0
  17. {workos-5.38.1 → workos-5.39.1}/src/workos/organization_domains.py +0 -0
  18. {workos-5.38.1 → workos-5.39.1}/src/workos/organizations.py +0 -0
  19. {workos-5.38.1 → workos-5.39.1}/src/workos/passwordless.py +0 -0
  20. {workos-5.38.1 → workos-5.39.1}/src/workos/pipes.py +0 -0
  21. {workos-5.38.1 → workos-5.39.1}/src/workos/portal.py +0 -0
  22. {workos-5.38.1 → workos-5.39.1}/src/workos/py.typed +0 -0
  23. {workos-5.38.1 → workos-5.39.1}/src/workos/session.py +0 -0
  24. {workos-5.38.1 → workos-5.39.1}/src/workos/sso.py +0 -0
  25. {workos-5.38.1 → workos-5.39.1}/src/workos/types/__init__.py +0 -0
  26. {workos-5.38.1 → workos-5.39.1}/src/workos/types/api_keys/__init__.py +0 -0
  27. {workos-5.38.1 → workos-5.39.1}/src/workos/types/api_keys/api_keys.py +0 -0
  28. {workos-5.38.1 → workos-5.39.1}/src/workos/types/audit_logs/__init__.py +0 -0
  29. {workos-5.38.1 → workos-5.39.1}/src/workos/types/audit_logs/audit_log_event.py +0 -0
  30. {workos-5.38.1 → workos-5.39.1}/src/workos/types/audit_logs/audit_log_event_actor.py +0 -0
  31. {workos-5.38.1 → workos-5.39.1}/src/workos/types/audit_logs/audit_log_event_context.py +0 -0
  32. {workos-5.38.1 → workos-5.39.1}/src/workos/types/audit_logs/audit_log_event_target.py +0 -0
  33. {workos-5.38.1 → workos-5.39.1}/src/workos/types/audit_logs/audit_log_export.py +0 -0
  34. {workos-5.38.1 → workos-5.39.1}/src/workos/types/audit_logs/audit_log_metadata.py +0 -0
  35. {workos-5.38.1 → workos-5.39.1}/src/workos/types/directory_sync/__init__.py +0 -0
  36. {workos-5.38.1 → workos-5.39.1}/src/workos/types/directory_sync/directory.py +0 -0
  37. {workos-5.38.1 → workos-5.39.1}/src/workos/types/directory_sync/directory_group.py +0 -0
  38. {workos-5.38.1 → workos-5.39.1}/src/workos/types/directory_sync/directory_state.py +0 -0
  39. {workos-5.38.1 → workos-5.39.1}/src/workos/types/directory_sync/directory_type.py +0 -0
  40. {workos-5.38.1 → workos-5.39.1}/src/workos/types/directory_sync/directory_user.py +0 -0
  41. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/__init__.py +0 -0
  42. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/authentication_payload.py +0 -0
  43. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/connection_payload_with_legacy_fields.py +0 -0
  44. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/directory_group_membership_payload.py +0 -0
  45. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/directory_group_with_previous_attributes.py +0 -0
  46. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/directory_payload.py +0 -0
  47. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/directory_payload_with_legacy_fields.py +0 -0
  48. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/directory_user_with_previous_attributes.py +0 -0
  49. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/event.py +0 -0
  50. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/event_model.py +0 -0
  51. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/event_type.py +0 -0
  52. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/list_filters.py +0 -0
  53. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/organization_domain_verification_failed_payload.py +0 -0
  54. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/previous_attributes.py +0 -0
  55. {workos-5.38.1 → workos-5.39.1}/src/workos/types/events/session_payload.py +0 -0
  56. {workos-5.38.1 → workos-5.39.1}/src/workos/types/feature_flags/__init__.py +0 -0
  57. {workos-5.38.1 → workos-5.39.1}/src/workos/types/feature_flags/feature_flag.py +0 -0
  58. {workos-5.38.1 → workos-5.39.1}/src/workos/types/feature_flags/list_filters.py +0 -0
  59. {workos-5.38.1 → workos-5.39.1}/src/workos/types/fga/__init__.py +0 -0
  60. {workos-5.38.1 → workos-5.39.1}/src/workos/types/fga/authorization_resource_types.py +0 -0
  61. {workos-5.38.1 → workos-5.39.1}/src/workos/types/fga/authorization_resources.py +0 -0
  62. {workos-5.38.1 → workos-5.39.1}/src/workos/types/fga/check.py +0 -0
  63. {workos-5.38.1 → workos-5.39.1}/src/workos/types/fga/list_filters.py +0 -0
  64. {workos-5.38.1 → workos-5.39.1}/src/workos/types/fga/warnings.py +0 -0
  65. {workos-5.38.1 → workos-5.39.1}/src/workos/types/fga/warrant.py +0 -0
  66. {workos-5.38.1 → workos-5.39.1}/src/workos/types/list_resource.py +0 -0
  67. {workos-5.38.1 → workos-5.39.1}/src/workos/types/metadata.py +0 -0
  68. {workos-5.38.1 → workos-5.39.1}/src/workos/types/mfa/__init__.py +0 -0
  69. {workos-5.38.1 → workos-5.39.1}/src/workos/types/mfa/authentication_challenge.py +0 -0
  70. {workos-5.38.1 → workos-5.39.1}/src/workos/types/mfa/authentication_challenge_verification_response.py +0 -0
  71. {workos-5.38.1 → workos-5.39.1}/src/workos/types/mfa/authentication_factor.py +0 -0
  72. {workos-5.38.1 → workos-5.39.1}/src/workos/types/mfa/authentication_factor_totp_and_challenge_response.py +0 -0
  73. {workos-5.38.1 → workos-5.39.1}/src/workos/types/mfa/enroll_authentication_factor_type.py +0 -0
  74. {workos-5.38.1 → workos-5.39.1}/src/workos/types/organization_domains/__init__.py +0 -0
  75. {workos-5.38.1 → workos-5.39.1}/src/workos/types/organization_domains/organization_domain.py +0 -0
  76. {workos-5.38.1 → workos-5.39.1}/src/workos/types/organizations/__init__.py +0 -0
  77. {workos-5.38.1 → workos-5.39.1}/src/workos/types/organizations/domain_data_input.py +0 -0
  78. {workos-5.38.1 → workos-5.39.1}/src/workos/types/organizations/list_filters.py +0 -0
  79. {workos-5.38.1 → workos-5.39.1}/src/workos/types/organizations/organization.py +0 -0
  80. {workos-5.38.1 → workos-5.39.1}/src/workos/types/organizations/organization_common.py +0 -0
  81. {workos-5.38.1 → workos-5.39.1}/src/workos/types/passwordless/__init__.py +0 -0
  82. {workos-5.38.1 → workos-5.39.1}/src/workos/types/passwordless/passwordless_session.py +0 -0
  83. {workos-5.38.1 → workos-5.39.1}/src/workos/types/passwordless/passwordless_session_type.py +0 -0
  84. {workos-5.38.1 → workos-5.39.1}/src/workos/types/pipes/__init__.py +0 -0
  85. {workos-5.38.1 → workos-5.39.1}/src/workos/types/pipes/pipes.py +0 -0
  86. {workos-5.38.1 → workos-5.39.1}/src/workos/types/portal/__init__.py +0 -0
  87. {workos-5.38.1 → workos-5.39.1}/src/workos/types/portal/portal_link.py +0 -0
  88. {workos-5.38.1 → workos-5.39.1}/src/workos/types/portal/portal_link_intent.py +0 -0
  89. {workos-5.38.1 → workos-5.39.1}/src/workos/types/portal/portal_link_intent_options.py +0 -0
  90. {workos-5.38.1 → workos-5.39.1}/src/workos/types/roles/__init__.py +0 -0
  91. {workos-5.38.1 → workos-5.39.1}/src/workos/types/roles/role.py +0 -0
  92. {workos-5.38.1 → workos-5.39.1}/src/workos/types/sso/__init__.py +0 -0
  93. {workos-5.38.1 → workos-5.39.1}/src/workos/types/sso/connection.py +0 -0
  94. {workos-5.38.1 → workos-5.39.1}/src/workos/types/sso/connection_domain.py +0 -0
  95. {workos-5.38.1 → workos-5.39.1}/src/workos/types/sso/profile.py +0 -0
  96. {workos-5.38.1 → workos-5.39.1}/src/workos/types/sso/sso_provider_type.py +0 -0
  97. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/__init__.py +0 -0
  98. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/authenticate_with_common.py +0 -0
  99. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/authentication_response.py +0 -0
  100. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/email_verification.py +0 -0
  101. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/impersonator.py +0 -0
  102. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/invitation.py +0 -0
  103. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/list_filters.py +0 -0
  104. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/magic_auth.py +0 -0
  105. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/oauth_tokens.py +0 -0
  106. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/organization_membership.py +0 -0
  107. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/password_hash_type.py +0 -0
  108. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/password_reset.py +0 -0
  109. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/screen_hint.py +0 -0
  110. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/session.py +0 -0
  111. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/user.py +0 -0
  112. {workos-5.38.1 → workos-5.39.1}/src/workos/types/user_management/user_management_provider_type.py +0 -0
  113. {workos-5.38.1 → workos-5.39.1}/src/workos/types/vault/__init__.py +0 -0
  114. {workos-5.38.1 → workos-5.39.1}/src/workos/types/vault/key.py +0 -0
  115. {workos-5.38.1 → workos-5.39.1}/src/workos/types/vault/object.py +0 -0
  116. {workos-5.38.1 → workos-5.39.1}/src/workos/types/webhooks/__init__.py +0 -0
  117. {workos-5.38.1 → workos-5.39.1}/src/workos/types/webhooks/webhook.py +0 -0
  118. {workos-5.38.1 → workos-5.39.1}/src/workos/types/webhooks/webhook_model.py +0 -0
  119. {workos-5.38.1 → workos-5.39.1}/src/workos/types/webhooks/webhook_payload.py +0 -0
  120. {workos-5.38.1 → workos-5.39.1}/src/workos/types/widgets/__init__.py +0 -0
  121. {workos-5.38.1 → workos-5.39.1}/src/workos/types/widgets/widget_scope.py +0 -0
  122. {workos-5.38.1 → workos-5.39.1}/src/workos/types/widgets/widget_token_response.py +0 -0
  123. {workos-5.38.1 → workos-5.39.1}/src/workos/types/workos_model.py +0 -0
  124. {workos-5.38.1 → workos-5.39.1}/src/workos/typing/__init__.py +0 -0
  125. {workos-5.38.1 → workos-5.39.1}/src/workos/typing/literals.py +0 -0
  126. {workos-5.38.1 → workos-5.39.1}/src/workos/typing/sync_or_async.py +0 -0
  127. {workos-5.38.1 → workos-5.39.1}/src/workos/typing/untyped_literal.py +0 -0
  128. {workos-5.38.1 → workos-5.39.1}/src/workos/typing/webhooks.py +0 -0
  129. {workos-5.38.1 → workos-5.39.1}/src/workos/user_management.py +0 -0
  130. {workos-5.38.1 → workos-5.39.1}/src/workos/utils/__init__.py +0 -0
  131. {workos-5.38.1 → workos-5.39.1}/src/workos/utils/_base_http_client.py +0 -0
  132. {workos-5.38.1 → workos-5.39.1}/src/workos/utils/crypto_provider.py +0 -0
  133. {workos-5.38.1 → workos-5.39.1}/src/workos/utils/http_client.py +0 -0
  134. {workos-5.38.1 → workos-5.39.1}/src/workos/utils/pagination_order.py +0 -0
  135. {workos-5.38.1 → workos-5.39.1}/src/workos/utils/request_helper.py +0 -0
  136. {workos-5.38.1 → workos-5.39.1}/src/workos/vault.py +0 -0
  137. {workos-5.38.1 → workos-5.39.1}/src/workos/webhooks.py +0 -0
  138. {workos-5.38.1 → workos-5.39.1}/src/workos/widgets.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: workos
3
- Version: 5.38.1
3
+ Version: 5.39.1
4
4
  Summary: WorkOS Python Client
5
5
  Author: WorkOS
6
6
  Author-email: WorkOS <team@workos.com>
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "workos"
3
- version = "5.38.1"
3
+ version = "5.39.1"
4
4
  description = "WorkOS Python Client"
5
5
  readme = "README.md"
6
6
  license = "MIT"
@@ -25,6 +25,7 @@ dev = [
25
25
  { include-group = "test" },
26
26
  { include-group = "lint" },
27
27
  { include-group = "type_check" },
28
+ { include-group = "nox" },
28
29
  ]
29
30
  test = [
30
31
  "pytest==8.3.4",
@@ -34,6 +35,10 @@ test = [
34
35
  ]
35
36
  lint = ["ruff==0.14.5"]
36
37
  type_check = ["mypy==1.14.1"]
38
+ nox = [
39
+ "nox>=2024.10.9 ; python_version >= '3.9'",
40
+ "nox-uv>=0.7.0 ; python_version >= '3.9'",
41
+ ]
37
42
 
38
43
 
39
44
  [tool.mypy]
@@ -1,4 +1,4 @@
1
- from typing import Optional, Protocol
1
+ from typing import Any, Dict, Optional, Protocol, Union
2
2
 
3
3
  from workos.types.directory_sync.list_filters import (
4
4
  DirectoryGroupListFilters,
@@ -32,6 +32,24 @@ DirectoriesListResource = WorkOSListResource[
32
32
  Directory, DirectoryListFilters, ListMetadata
33
33
  ]
34
34
 
35
+ # Mapping from SDK parameter names to API parameter names
36
+ PARAM_KEY_MAPPING = {
37
+ "directory_id": "directory",
38
+ "group_id": "group",
39
+ "user_id": "user",
40
+ }
41
+
42
+
43
+ def _prepare_request_params(
44
+ list_params: Union[DirectoryUserListFilters, DirectoryGroupListFilters],
45
+ ) -> Dict[str, Any]:
46
+ """Convert list_params to API request params by renaming keys."""
47
+ request_params: Dict[str, Any] = dict(list_params)
48
+ for sdk_key, api_key in PARAM_KEY_MAPPING.items():
49
+ if sdk_key in request_params:
50
+ request_params[api_key] = request_params.pop(sdk_key)
51
+ return request_params
52
+
35
53
 
36
54
  class DirectorySyncModule(Protocol):
37
55
  """Offers methods through the WorkOS Directory Sync service."""
@@ -184,14 +202,14 @@ class DirectorySync(DirectorySyncModule):
184
202
  }
185
203
 
186
204
  if group_id is not None:
187
- list_params["group"] = group_id
205
+ list_params["group_id"] = group_id
188
206
  if directory_id is not None:
189
- list_params["directory"] = directory_id
207
+ list_params["directory_id"] = directory_id
190
208
 
191
209
  response = self._http_client.request(
192
210
  "directory_users",
193
211
  method=REQUEST_METHOD_GET,
194
- params=list_params,
212
+ params=_prepare_request_params(list_params),
195
213
  )
196
214
 
197
215
  return WorkOSListResource(
@@ -218,14 +236,14 @@ class DirectorySync(DirectorySyncModule):
218
236
  }
219
237
 
220
238
  if user_id is not None:
221
- list_params["user"] = user_id
239
+ list_params["user_id"] = user_id
222
240
  if directory_id is not None:
223
- list_params["directory"] = directory_id
241
+ list_params["directory_id"] = directory_id
224
242
 
225
243
  response = self._http_client.request(
226
244
  "directory_groups",
227
245
  method=REQUEST_METHOD_GET,
228
- params=list_params,
246
+ params=_prepare_request_params(list_params),
229
247
  )
230
248
 
231
249
  return WorkOSListResource[
@@ -322,14 +340,14 @@ class AsyncDirectorySync(DirectorySyncModule):
322
340
  }
323
341
 
324
342
  if group_id is not None:
325
- list_params["group"] = group_id
343
+ list_params["group_id"] = group_id
326
344
  if directory_id is not None:
327
- list_params["directory"] = directory_id
345
+ list_params["directory_id"] = directory_id
328
346
 
329
347
  response = await self._http_client.request(
330
348
  "directory_users",
331
349
  method=REQUEST_METHOD_GET,
332
- params=list_params,
350
+ params=_prepare_request_params(list_params),
333
351
  )
334
352
 
335
353
  return WorkOSListResource(
@@ -354,15 +372,16 @@ class AsyncDirectorySync(DirectorySyncModule):
354
372
  "after": after,
355
373
  "order": order,
356
374
  }
375
+
357
376
  if user_id is not None:
358
- list_params["user"] = user_id
377
+ list_params["user_id"] = user_id
359
378
  if directory_id is not None:
360
- list_params["directory"] = directory_id
379
+ list_params["directory_id"] = directory_id
361
380
 
362
381
  response = await self._http_client.request(
363
382
  "directory_groups",
364
383
  method=REQUEST_METHOD_GET,
365
- params=list_params,
384
+ params=_prepare_request_params(list_params),
366
385
  )
367
386
 
368
387
  return WorkOSListResource[
@@ -12,10 +12,10 @@ class DirectoryUserListFilters(
12
12
  ListArgs,
13
13
  total=False,
14
14
  ):
15
- group: Optional[str]
16
- directory: Optional[str]
15
+ group_id: Optional[str]
16
+ directory_id: Optional[str]
17
17
 
18
18
 
19
19
  class DirectoryGroupListFilters(ListArgs, total=False):
20
- user: Optional[str]
21
- directory: Optional[str]
20
+ user_id: Optional[str]
21
+ directory_id: Optional[str]
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes