mergepythonclient 2.1.1__py3-none-any.whl → 2.3.0__py3-none-any.whl

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 (300) hide show
  1. merge/__init__.py +40 -4
  2. merge/client.py +118 -18
  3. merge/core/__init__.py +75 -21
  4. merge/core/client_wrapper.py +2 -2
  5. merge/core/force_multipart.py +4 -2
  6. merge/core/http_response.py +1 -1
  7. merge/core/unchecked_base_model.py +3 -3
  8. merge/resources/__init__.py +33 -1
  9. merge/resources/accounting/__init__.py +1242 -607
  10. merge/resources/accounting/client.py +835 -165
  11. merge/resources/accounting/resources/__init__.py +208 -92
  12. merge/resources/accounting/resources/accounting_periods/client.py +6 -2
  13. merge/resources/accounting/resources/accounts/__init__.py +36 -6
  14. merge/resources/accounting/resources/accounts/client.py +6 -2
  15. merge/resources/accounting/resources/accounts/types/__init__.py +34 -4
  16. merge/resources/accounting/resources/async_passthrough/__init__.py +26 -1
  17. merge/resources/accounting/resources/async_passthrough/types/__init__.py +26 -1
  18. merge/resources/accounting/resources/attachments/client.py +6 -2
  19. merge/resources/accounting/resources/audit_trail/client.py +6 -2
  20. merge/resources/accounting/resources/balance_sheets/client.py +6 -2
  21. merge/resources/accounting/resources/bank_feed_accounts/client.py +6 -2
  22. merge/resources/accounting/resources/bank_feed_transactions/client.py +6 -2
  23. merge/resources/accounting/resources/cash_flow_statements/client.py +6 -2
  24. merge/resources/accounting/resources/company_info/__init__.py +29 -1
  25. merge/resources/accounting/resources/company_info/client.py +6 -2
  26. merge/resources/accounting/resources/company_info/types/__init__.py +30 -2
  27. merge/resources/accounting/resources/contacts/__init__.py +29 -1
  28. merge/resources/accounting/resources/contacts/client.py +195 -4
  29. merge/resources/accounting/resources/contacts/raw_client.py +203 -0
  30. merge/resources/accounting/resources/contacts/types/__init__.py +30 -2
  31. merge/resources/accounting/resources/credit_notes/__init__.py +40 -8
  32. merge/resources/accounting/resources/credit_notes/client.py +6 -2
  33. merge/resources/accounting/resources/credit_notes/types/__init__.py +38 -6
  34. merge/resources/accounting/resources/employees/client.py +6 -2
  35. merge/resources/accounting/resources/expense_reports/__init__.py +34 -5
  36. merge/resources/accounting/resources/expense_reports/client.py +20 -6
  37. merge/resources/accounting/resources/expense_reports/types/__init__.py +32 -3
  38. merge/resources/accounting/resources/expenses/__init__.py +29 -1
  39. merge/resources/accounting/resources/expenses/client.py +18 -6
  40. merge/resources/accounting/resources/expenses/types/__init__.py +30 -2
  41. merge/resources/accounting/resources/general_ledger_transactions/__init__.py +29 -1
  42. merge/resources/accounting/resources/general_ledger_transactions/client.py +6 -2
  43. merge/resources/accounting/resources/general_ledger_transactions/types/__init__.py +30 -2
  44. merge/resources/accounting/resources/income_statements/client.py +6 -2
  45. merge/resources/accounting/resources/invoices/__init__.py +36 -6
  46. merge/resources/accounting/resources/invoices/client.py +18 -6
  47. merge/resources/accounting/resources/invoices/types/__init__.py +34 -4
  48. merge/resources/accounting/resources/issues/__init__.py +26 -1
  49. merge/resources/accounting/resources/issues/client.py +6 -2
  50. merge/resources/accounting/resources/issues/types/__init__.py +26 -1
  51. merge/resources/accounting/resources/items/__init__.py +26 -1
  52. merge/resources/accounting/resources/items/client.py +6 -2
  53. merge/resources/accounting/resources/items/types/__init__.py +30 -2
  54. merge/resources/accounting/resources/journal_entries/__init__.py +29 -1
  55. merge/resources/accounting/resources/journal_entries/client.py +18 -6
  56. merge/resources/accounting/resources/journal_entries/types/__init__.py +30 -2
  57. merge/resources/accounting/resources/link_token/__init__.py +26 -1
  58. merge/resources/accounting/resources/link_token/types/__init__.py +26 -1
  59. merge/resources/accounting/resources/linked_accounts/__init__.py +26 -1
  60. merge/resources/accounting/resources/linked_accounts/client.py +6 -2
  61. merge/resources/accounting/resources/linked_accounts/types/__init__.py +28 -1
  62. merge/resources/accounting/resources/payment_methods/client.py +6 -2
  63. merge/resources/accounting/resources/payment_terms/client.py +6 -2
  64. merge/resources/accounting/resources/payments/__init__.py +29 -1
  65. merge/resources/accounting/resources/payments/client.py +18 -6
  66. merge/resources/accounting/resources/payments/types/__init__.py +30 -2
  67. merge/resources/accounting/resources/projects/__init__.py +29 -1
  68. merge/resources/accounting/resources/projects/client.py +6 -2
  69. merge/resources/accounting/resources/projects/types/__init__.py +30 -2
  70. merge/resources/accounting/resources/purchase_orders/__init__.py +29 -1
  71. merge/resources/accounting/resources/purchase_orders/client.py +18 -6
  72. merge/resources/accounting/resources/purchase_orders/types/__init__.py +30 -2
  73. merge/resources/accounting/resources/sync_status/client.py +6 -2
  74. merge/resources/accounting/resources/tax_rates/client.py +6 -2
  75. merge/resources/accounting/resources/tracking_categories/client.py +6 -2
  76. merge/resources/accounting/resources/transactions/__init__.py +29 -1
  77. merge/resources/accounting/resources/transactions/client.py +6 -2
  78. merge/resources/accounting/resources/transactions/types/__init__.py +30 -2
  79. merge/resources/accounting/resources/transactions/types/transactions_list_request_expand.py +141 -0
  80. merge/resources/accounting/resources/transactions/types/transactions_retrieve_request_expand.py +141 -0
  81. merge/resources/accounting/resources/vendor_credits/__init__.py +29 -1
  82. merge/resources/accounting/resources/vendor_credits/client.py +6 -2
  83. merge/resources/accounting/resources/vendor_credits/types/__init__.py +30 -2
  84. merge/resources/accounting/types/__init__.py +1070 -519
  85. merge/resources/accounting/types/patched_contact_request.py +91 -0
  86. merge/resources/accounting/types/patched_contact_request_addresses_item.py +7 -0
  87. merge/resources/accounting/types/remote_field_class.py +1 -0
  88. merge/resources/ats/__init__.py +586 -282
  89. merge/resources/ats/client.py +590 -120
  90. merge/resources/ats/resources/__init__.py +150 -63
  91. merge/resources/ats/resources/activities/__init__.py +36 -6
  92. merge/resources/ats/resources/activities/client.py +6 -2
  93. merge/resources/ats/resources/activities/types/__init__.py +34 -4
  94. merge/resources/ats/resources/applications/__init__.py +29 -1
  95. merge/resources/ats/resources/applications/client.py +6 -2
  96. merge/resources/ats/resources/applications/types/__init__.py +30 -2
  97. merge/resources/ats/resources/async_passthrough/__init__.py +26 -1
  98. merge/resources/ats/resources/async_passthrough/types/__init__.py +26 -1
  99. merge/resources/ats/resources/attachments/client.py +6 -2
  100. merge/resources/ats/resources/audit_trail/client.py +6 -2
  101. merge/resources/ats/resources/candidates/__init__.py +30 -1
  102. merge/resources/ats/resources/candidates/client.py +6 -2
  103. merge/resources/ats/resources/candidates/types/__init__.py +32 -3
  104. merge/resources/ats/resources/departments/client.py +6 -2
  105. merge/resources/ats/resources/eeocs/__init__.py +36 -6
  106. merge/resources/ats/resources/eeocs/client.py +6 -2
  107. merge/resources/ats/resources/eeocs/types/__init__.py +34 -4
  108. merge/resources/ats/resources/interviews/__init__.py +29 -1
  109. merge/resources/ats/resources/interviews/client.py +6 -2
  110. merge/resources/ats/resources/interviews/types/__init__.py +30 -2
  111. merge/resources/ats/resources/issues/__init__.py +26 -1
  112. merge/resources/ats/resources/issues/client.py +6 -2
  113. merge/resources/ats/resources/issues/types/__init__.py +26 -1
  114. merge/resources/ats/resources/job_interview_stages/client.py +6 -2
  115. merge/resources/ats/resources/job_postings/__init__.py +26 -1
  116. merge/resources/ats/resources/job_postings/client.py +6 -2
  117. merge/resources/ats/resources/job_postings/types/__init__.py +26 -1
  118. merge/resources/ats/resources/jobs/__init__.py +36 -6
  119. merge/resources/ats/resources/jobs/client.py +8 -2
  120. merge/resources/ats/resources/jobs/types/__init__.py +34 -4
  121. merge/resources/ats/resources/link_token/__init__.py +26 -1
  122. merge/resources/ats/resources/link_token/types/__init__.py +26 -1
  123. merge/resources/ats/resources/linked_accounts/__init__.py +26 -1
  124. merge/resources/ats/resources/linked_accounts/client.py +6 -2
  125. merge/resources/ats/resources/linked_accounts/types/__init__.py +28 -1
  126. merge/resources/ats/resources/offers/__init__.py +26 -1
  127. merge/resources/ats/resources/offers/client.py +6 -2
  128. merge/resources/ats/resources/offers/types/__init__.py +30 -2
  129. merge/resources/ats/resources/offices/client.py +6 -2
  130. merge/resources/ats/resources/reject_reasons/client.py +6 -2
  131. merge/resources/ats/resources/scorecards/__init__.py +29 -1
  132. merge/resources/ats/resources/scorecards/client.py +6 -2
  133. merge/resources/ats/resources/scorecards/types/__init__.py +30 -2
  134. merge/resources/ats/resources/sync_status/client.py +6 -2
  135. merge/resources/ats/resources/tags/client.py +6 -2
  136. merge/resources/ats/resources/users/client.py +6 -2
  137. merge/resources/ats/types/__init__.py +462 -219
  138. merge/resources/ats/types/event_type_enum.py +4 -0
  139. merge/resources/crm/__init__.py +566 -272
  140. merge/resources/crm/client.py +556 -114
  141. merge/resources/crm/resources/__init__.py +121 -47
  142. merge/resources/crm/resources/accounts/client.py +12 -4
  143. merge/resources/crm/resources/association_types/client.py +2 -0
  144. merge/resources/crm/resources/associations/client.py +2 -0
  145. merge/resources/crm/resources/async_passthrough/__init__.py +26 -1
  146. merge/resources/crm/resources/async_passthrough/types/__init__.py +26 -1
  147. merge/resources/crm/resources/audit_trail/client.py +6 -2
  148. merge/resources/crm/resources/contacts/__init__.py +29 -1
  149. merge/resources/crm/resources/contacts/client.py +12 -4
  150. merge/resources/crm/resources/contacts/types/__init__.py +30 -2
  151. merge/resources/crm/resources/custom_object_classes/client.py +6 -2
  152. merge/resources/crm/resources/custom_objects/client.py +8 -2
  153. merge/resources/crm/resources/engagement_types/client.py +12 -4
  154. merge/resources/crm/resources/engagements/__init__.py +29 -1
  155. merge/resources/crm/resources/engagements/client.py +12 -4
  156. merge/resources/crm/resources/engagements/types/__init__.py +30 -2
  157. merge/resources/crm/resources/issues/__init__.py +26 -1
  158. merge/resources/crm/resources/issues/client.py +6 -2
  159. merge/resources/crm/resources/issues/types/__init__.py +26 -1
  160. merge/resources/crm/resources/leads/__init__.py +26 -1
  161. merge/resources/crm/resources/leads/client.py +12 -4
  162. merge/resources/crm/resources/leads/types/__init__.py +30 -2
  163. merge/resources/crm/resources/link_token/__init__.py +26 -1
  164. merge/resources/crm/resources/link_token/types/__init__.py +26 -1
  165. merge/resources/crm/resources/linked_accounts/__init__.py +26 -1
  166. merge/resources/crm/resources/linked_accounts/client.py +6 -2
  167. merge/resources/crm/resources/linked_accounts/types/__init__.py +28 -1
  168. merge/resources/crm/resources/notes/__init__.py +26 -1
  169. merge/resources/crm/resources/notes/client.py +12 -4
  170. merge/resources/crm/resources/notes/types/__init__.py +30 -2
  171. merge/resources/crm/resources/opportunities/__init__.py +34 -1
  172. merge/resources/crm/resources/opportunities/client.py +12 -4
  173. merge/resources/crm/resources/opportunities/types/__init__.py +32 -3
  174. merge/resources/crm/resources/stages/client.py +12 -4
  175. merge/resources/crm/resources/sync_status/client.py +6 -2
  176. merge/resources/crm/resources/tasks/__init__.py +26 -1
  177. merge/resources/crm/resources/tasks/client.py +12 -4
  178. merge/resources/crm/resources/tasks/types/__init__.py +30 -2
  179. merge/resources/crm/resources/users/client.py +12 -4
  180. merge/resources/crm/types/__init__.py +470 -224
  181. merge/resources/crm/types/remote_field_class.py +1 -0
  182. merge/resources/filestorage/__init__.py +322 -150
  183. merge/resources/filestorage/client.py +405 -87
  184. merge/resources/filestorage/resources/__init__.py +91 -34
  185. merge/resources/filestorage/resources/async_passthrough/__init__.py +26 -1
  186. merge/resources/filestorage/resources/async_passthrough/types/__init__.py +26 -1
  187. merge/resources/filestorage/resources/audit_trail/client.py +6 -2
  188. merge/resources/filestorage/resources/drives/client.py +6 -2
  189. merge/resources/filestorage/resources/files/__init__.py +36 -6
  190. merge/resources/filestorage/resources/files/client.py +42 -4
  191. merge/resources/filestorage/resources/files/raw_client.py +38 -0
  192. merge/resources/filestorage/resources/files/types/__init__.py +34 -4
  193. merge/resources/filestorage/resources/folders/__init__.py +29 -1
  194. merge/resources/filestorage/resources/folders/client.py +6 -2
  195. merge/resources/filestorage/resources/folders/types/__init__.py +30 -2
  196. merge/resources/filestorage/resources/groups/client.py +6 -2
  197. merge/resources/filestorage/resources/issues/__init__.py +26 -1
  198. merge/resources/filestorage/resources/issues/client.py +6 -2
  199. merge/resources/filestorage/resources/issues/types/__init__.py +26 -1
  200. merge/resources/filestorage/resources/linked_accounts/__init__.py +26 -1
  201. merge/resources/filestorage/resources/linked_accounts/client.py +6 -2
  202. merge/resources/filestorage/resources/linked_accounts/types/__init__.py +28 -1
  203. merge/resources/filestorage/resources/sync_status/client.py +6 -2
  204. merge/resources/filestorage/resources/users/client.py +6 -2
  205. merge/resources/filestorage/types/__init__.py +258 -117
  206. merge/resources/hris/__init__.py +576 -277
  207. merge/resources/hris/client.py +590 -120
  208. merge/resources/hris/resources/__init__.py +188 -86
  209. merge/resources/hris/resources/async_passthrough/__init__.py +26 -1
  210. merge/resources/hris/resources/async_passthrough/types/__init__.py +26 -1
  211. merge/resources/hris/resources/audit_trail/client.py +6 -2
  212. merge/resources/hris/resources/bank_info/__init__.py +29 -1
  213. merge/resources/hris/resources/bank_info/client.py +6 -2
  214. merge/resources/hris/resources/bank_info/types/__init__.py +30 -2
  215. merge/resources/hris/resources/benefits/client.py +6 -2
  216. merge/resources/hris/resources/companies/client.py +6 -2
  217. merge/resources/hris/resources/dependents/client.py +6 -2
  218. merge/resources/hris/resources/employee_payroll_runs/__init__.py +29 -1
  219. merge/resources/hris/resources/employee_payroll_runs/client.py +6 -2
  220. merge/resources/hris/resources/employee_payroll_runs/types/__init__.py +30 -2
  221. merge/resources/hris/resources/employees/__init__.py +44 -10
  222. merge/resources/hris/resources/employees/client.py +6 -2
  223. merge/resources/hris/resources/employees/types/__init__.py +42 -8
  224. merge/resources/hris/resources/employer_benefits/client.py +6 -2
  225. merge/resources/hris/resources/employments/__init__.py +42 -9
  226. merge/resources/hris/resources/employments/client.py +6 -2
  227. merge/resources/hris/resources/employments/types/__init__.py +40 -7
  228. merge/resources/hris/resources/groups/client.py +6 -2
  229. merge/resources/hris/resources/issues/__init__.py +26 -1
  230. merge/resources/hris/resources/issues/client.py +6 -2
  231. merge/resources/hris/resources/issues/types/__init__.py +26 -1
  232. merge/resources/hris/resources/link_token/__init__.py +26 -1
  233. merge/resources/hris/resources/link_token/types/__init__.py +26 -1
  234. merge/resources/hris/resources/linked_accounts/__init__.py +26 -1
  235. merge/resources/hris/resources/linked_accounts/client.py +6 -2
  236. merge/resources/hris/resources/linked_accounts/types/__init__.py +28 -1
  237. merge/resources/hris/resources/locations/__init__.py +38 -7
  238. merge/resources/hris/resources/locations/client.py +6 -2
  239. merge/resources/hris/resources/locations/types/__init__.py +36 -5
  240. merge/resources/hris/resources/pay_groups/client.py +6 -2
  241. merge/resources/hris/resources/payroll_runs/__init__.py +38 -7
  242. merge/resources/hris/resources/payroll_runs/client.py +6 -2
  243. merge/resources/hris/resources/payroll_runs/types/__init__.py +36 -5
  244. merge/resources/hris/resources/sync_status/client.py +6 -2
  245. merge/resources/hris/resources/teams/client.py +6 -2
  246. merge/resources/hris/resources/time_off/__init__.py +44 -10
  247. merge/resources/hris/resources/time_off/client.py +6 -2
  248. merge/resources/hris/resources/time_off/types/__init__.py +42 -8
  249. merge/resources/hris/resources/time_off_balances/__init__.py +26 -1
  250. merge/resources/hris/resources/time_off_balances/client.py +6 -2
  251. merge/resources/hris/resources/time_off_balances/types/__init__.py +28 -1
  252. merge/resources/hris/resources/timesheet_entries/__init__.py +26 -1
  253. merge/resources/hris/resources/timesheet_entries/client.py +6 -2
  254. merge/resources/hris/resources/timesheet_entries/types/__init__.py +28 -1
  255. merge/resources/hris/types/__init__.py +422 -199
  256. merge/resources/hris/types/benefit.py +4 -4
  257. merge/resources/ticketing/__init__.py +464 -221
  258. merge/resources/ticketing/client.py +507 -105
  259. merge/resources/ticketing/resources/__init__.py +120 -48
  260. merge/resources/ticketing/resources/accounts/client.py +6 -2
  261. merge/resources/ticketing/resources/async_passthrough/__init__.py +26 -1
  262. merge/resources/ticketing/resources/async_passthrough/types/__init__.py +26 -1
  263. merge/resources/ticketing/resources/attachments/client.py +6 -2
  264. merge/resources/ticketing/resources/audit_trail/client.py +6 -2
  265. merge/resources/ticketing/resources/collections/__init__.py +26 -1
  266. merge/resources/ticketing/resources/collections/client.py +8 -2
  267. merge/resources/ticketing/resources/collections/types/__init__.py +28 -1
  268. merge/resources/ticketing/resources/comments/__init__.py +29 -1
  269. merge/resources/ticketing/resources/comments/client.py +6 -2
  270. merge/resources/ticketing/resources/comments/types/__init__.py +30 -2
  271. merge/resources/ticketing/resources/contacts/client.py +6 -2
  272. merge/resources/ticketing/resources/issues/__init__.py +26 -1
  273. merge/resources/ticketing/resources/issues/client.py +6 -2
  274. merge/resources/ticketing/resources/issues/types/__init__.py +26 -1
  275. merge/resources/ticketing/resources/link_token/__init__.py +26 -1
  276. merge/resources/ticketing/resources/link_token/types/__init__.py +26 -1
  277. merge/resources/ticketing/resources/linked_accounts/__init__.py +26 -1
  278. merge/resources/ticketing/resources/linked_accounts/client.py +6 -2
  279. merge/resources/ticketing/resources/linked_accounts/types/__init__.py +28 -1
  280. merge/resources/ticketing/resources/projects/__init__.py +26 -1
  281. merge/resources/ticketing/resources/projects/client.py +8 -2
  282. merge/resources/ticketing/resources/projects/types/__init__.py +26 -1
  283. merge/resources/ticketing/resources/roles/client.py +6 -2
  284. merge/resources/ticketing/resources/sync_status/client.py +6 -2
  285. merge/resources/ticketing/resources/tags/client.py +6 -2
  286. merge/resources/ticketing/resources/teams/client.py +6 -2
  287. merge/resources/ticketing/resources/tickets/__init__.py +44 -10
  288. merge/resources/ticketing/resources/tickets/client.py +24 -4
  289. merge/resources/ticketing/resources/tickets/raw_client.py +10 -0
  290. merge/resources/ticketing/resources/tickets/types/__init__.py +42 -8
  291. merge/resources/ticketing/resources/users/__init__.py +26 -1
  292. merge/resources/ticketing/resources/users/client.py +6 -2
  293. merge/resources/ticketing/resources/users/types/__init__.py +30 -2
  294. merge/resources/ticketing/types/__init__.py +370 -173
  295. merge/resources/ticketing/types/patched_ticket_request.py +5 -5
  296. merge/resources/ticketing/types/remote_field_class.py +1 -0
  297. {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/METADATA +5 -2
  298. {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/RECORD +300 -298
  299. {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/LICENSE.md +0 -0
  300. {mergepythonclient-2.1.1.dist-info → mergepythonclient-2.3.0.dist-info}/WHEEL +0 -0
@@ -2,7 +2,35 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .engagements_list_request_expand import EngagementsListRequestExpand
6
- from .engagements_retrieve_request_expand import EngagementsRetrieveRequestExpand
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .engagements_list_request_expand import EngagementsListRequestExpand
10
+ from .engagements_retrieve_request_expand import EngagementsRetrieveRequestExpand
11
+ _dynamic_imports: typing.Dict[str, str] = {
12
+ "EngagementsListRequestExpand": ".engagements_list_request_expand",
13
+ "EngagementsRetrieveRequestExpand": ".engagements_retrieve_request_expand",
14
+ }
15
+
16
+
17
+ def __getattr__(attr_name: str) -> typing.Any:
18
+ module_name = _dynamic_imports.get(attr_name)
19
+ if module_name is None:
20
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
21
+ try:
22
+ module = import_module(module_name, __package__)
23
+ result = getattr(module, attr_name)
24
+ return result
25
+ except ImportError as e:
26
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
27
+ except AttributeError as e:
28
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
29
+
30
+
31
+ def __dir__():
32
+ lazy_attrs = list(_dynamic_imports.keys())
33
+ return sorted(lazy_attrs)
34
+
7
35
 
8
36
  __all__ = ["EngagementsListRequestExpand", "EngagementsRetrieveRequestExpand"]
@@ -2,6 +2,31 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .types import IssuesListRequestStatus
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import IssuesListRequestStatus
10
+ _dynamic_imports: typing.Dict[str, str] = {"IssuesListRequestStatus": ".types"}
11
+
12
+
13
+ def __getattr__(attr_name: str) -> typing.Any:
14
+ module_name = _dynamic_imports.get(attr_name)
15
+ if module_name is None:
16
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
17
+ try:
18
+ module = import_module(module_name, __package__)
19
+ result = getattr(module, attr_name)
20
+ return result
21
+ except ImportError as e:
22
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
23
+ except AttributeError as e:
24
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
25
+
26
+
27
+ def __dir__():
28
+ lazy_attrs = list(_dynamic_imports.keys())
29
+ return sorted(lazy_attrs)
30
+
6
31
 
7
32
  __all__ = ["IssuesListRequestStatus"]
@@ -108,7 +108,9 @@ class IssuesClient:
108
108
  account_token="YOUR_ACCOUNT_TOKEN",
109
109
  api_key="YOUR_API_KEY",
110
110
  )
111
- client.crm.issues.list()
111
+ client.crm.issues.list(
112
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
113
+ )
112
114
  """
113
115
  _response = self._raw_client.list(
114
116
  account_token=account_token,
@@ -263,7 +265,9 @@ class AsyncIssuesClient:
263
265
 
264
266
 
265
267
  async def main() -> None:
266
- await client.crm.issues.list()
268
+ await client.crm.issues.list(
269
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
270
+ )
267
271
 
268
272
 
269
273
  asyncio.run(main())
@@ -2,6 +2,31 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .issues_list_request_status import IssuesListRequestStatus
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .issues_list_request_status import IssuesListRequestStatus
10
+ _dynamic_imports: typing.Dict[str, str] = {"IssuesListRequestStatus": ".issues_list_request_status"}
11
+
12
+
13
+ def __getattr__(attr_name: str) -> typing.Any:
14
+ module_name = _dynamic_imports.get(attr_name)
15
+ if module_name is None:
16
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
17
+ try:
18
+ module = import_module(module_name, __package__)
19
+ result = getattr(module, attr_name)
20
+ return result
21
+ except ImportError as e:
22
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
23
+ except AttributeError as e:
24
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
25
+
26
+
27
+ def __dir__():
28
+ lazy_attrs = list(_dynamic_imports.keys())
29
+ return sorted(lazy_attrs)
30
+
6
31
 
7
32
  __all__ = ["IssuesListRequestStatus"]
@@ -2,6 +2,31 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .types import LeadsListRequestExpand, LeadsRetrieveRequestExpand
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import LeadsListRequestExpand, LeadsRetrieveRequestExpand
10
+ _dynamic_imports: typing.Dict[str, str] = {"LeadsListRequestExpand": ".types", "LeadsRetrieveRequestExpand": ".types"}
11
+
12
+
13
+ def __getattr__(attr_name: str) -> typing.Any:
14
+ module_name = _dynamic_imports.get(attr_name)
15
+ if module_name is None:
16
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
17
+ try:
18
+ module = import_module(module_name, __package__)
19
+ result = getattr(module, attr_name)
20
+ return result
21
+ except ImportError as e:
22
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
23
+ except AttributeError as e:
24
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
25
+
26
+
27
+ def __dir__():
28
+ lazy_attrs = list(_dynamic_imports.keys())
29
+ return sorted(lazy_attrs)
30
+
6
31
 
7
32
  __all__ = ["LeadsListRequestExpand", "LeadsRetrieveRequestExpand"]
@@ -128,7 +128,9 @@ class LeadsClient:
128
128
  account_token="YOUR_ACCOUNT_TOKEN",
129
129
  api_key="YOUR_API_KEY",
130
130
  )
131
- client.crm.leads.list()
131
+ client.crm.leads.list(
132
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
133
+ )
132
134
  """
133
135
  _response = self._raw_client.list(
134
136
  converted_account_id=converted_account_id,
@@ -343,7 +345,9 @@ class LeadsClient:
343
345
  account_token="YOUR_ACCOUNT_TOKEN",
344
346
  api_key="YOUR_API_KEY",
345
347
  )
346
- client.crm.leads.remote_field_classes_list()
348
+ client.crm.leads.remote_field_classes_list(
349
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
350
+ )
347
351
  """
348
352
  _response = self._raw_client.remote_field_classes_list(
349
353
  cursor=cursor,
@@ -473,7 +477,9 @@ class AsyncLeadsClient:
473
477
 
474
478
 
475
479
  async def main() -> None:
476
- await client.crm.leads.list()
480
+ await client.crm.leads.list(
481
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
482
+ )
477
483
 
478
484
 
479
485
  asyncio.run(main())
@@ -720,7 +726,9 @@ class AsyncLeadsClient:
720
726
 
721
727
 
722
728
  async def main() -> None:
723
- await client.crm.leads.remote_field_classes_list()
729
+ await client.crm.leads.remote_field_classes_list(
730
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
731
+ )
724
732
 
725
733
 
726
734
  asyncio.run(main())
@@ -2,7 +2,35 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .leads_list_request_expand import LeadsListRequestExpand
6
- from .leads_retrieve_request_expand import LeadsRetrieveRequestExpand
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .leads_list_request_expand import LeadsListRequestExpand
10
+ from .leads_retrieve_request_expand import LeadsRetrieveRequestExpand
11
+ _dynamic_imports: typing.Dict[str, str] = {
12
+ "LeadsListRequestExpand": ".leads_list_request_expand",
13
+ "LeadsRetrieveRequestExpand": ".leads_retrieve_request_expand",
14
+ }
15
+
16
+
17
+ def __getattr__(attr_name: str) -> typing.Any:
18
+ module_name = _dynamic_imports.get(attr_name)
19
+ if module_name is None:
20
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
21
+ try:
22
+ module = import_module(module_name, __package__)
23
+ result = getattr(module, attr_name)
24
+ return result
25
+ except ImportError as e:
26
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
27
+ except AttributeError as e:
28
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
29
+
30
+
31
+ def __dir__():
32
+ lazy_attrs = list(_dynamic_imports.keys())
33
+ return sorted(lazy_attrs)
34
+
7
35
 
8
36
  __all__ = ["LeadsListRequestExpand", "LeadsRetrieveRequestExpand"]
@@ -2,6 +2,31 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .types import EndUserDetailsRequestLanguage
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import EndUserDetailsRequestLanguage
10
+ _dynamic_imports: typing.Dict[str, str] = {"EndUserDetailsRequestLanguage": ".types"}
11
+
12
+
13
+ def __getattr__(attr_name: str) -> typing.Any:
14
+ module_name = _dynamic_imports.get(attr_name)
15
+ if module_name is None:
16
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
17
+ try:
18
+ module = import_module(module_name, __package__)
19
+ result = getattr(module, attr_name)
20
+ return result
21
+ except ImportError as e:
22
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
23
+ except AttributeError as e:
24
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
25
+
26
+
27
+ def __dir__():
28
+ lazy_attrs = list(_dynamic_imports.keys())
29
+ return sorted(lazy_attrs)
30
+
6
31
 
7
32
  __all__ = ["EndUserDetailsRequestLanguage"]
@@ -2,6 +2,31 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .end_user_details_request_language import EndUserDetailsRequestLanguage
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .end_user_details_request_language import EndUserDetailsRequestLanguage
10
+ _dynamic_imports: typing.Dict[str, str] = {"EndUserDetailsRequestLanguage": ".end_user_details_request_language"}
11
+
12
+
13
+ def __getattr__(attr_name: str) -> typing.Any:
14
+ module_name = _dynamic_imports.get(attr_name)
15
+ if module_name is None:
16
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
17
+ try:
18
+ module = import_module(module_name, __package__)
19
+ result = getattr(module, attr_name)
20
+ return result
21
+ except ImportError as e:
22
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
23
+ except AttributeError as e:
24
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
25
+
26
+
27
+ def __dir__():
28
+ lazy_attrs = list(_dynamic_imports.keys())
29
+ return sorted(lazy_attrs)
30
+
6
31
 
7
32
  __all__ = ["EndUserDetailsRequestLanguage"]
@@ -2,6 +2,31 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .types import LinkedAccountsListRequestCategory
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import LinkedAccountsListRequestCategory
10
+ _dynamic_imports: typing.Dict[str, str] = {"LinkedAccountsListRequestCategory": ".types"}
11
+
12
+
13
+ def __getattr__(attr_name: str) -> typing.Any:
14
+ module_name = _dynamic_imports.get(attr_name)
15
+ if module_name is None:
16
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
17
+ try:
18
+ module = import_module(module_name, __package__)
19
+ result = getattr(module, attr_name)
20
+ return result
21
+ except ImportError as e:
22
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
23
+ except AttributeError as e:
24
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
25
+
26
+
27
+ def __dir__():
28
+ lazy_attrs = list(_dynamic_imports.keys())
29
+ return sorted(lazy_attrs)
30
+
6
31
 
7
32
  __all__ = ["LinkedAccountsListRequestCategory"]
@@ -109,7 +109,9 @@ class LinkedAccountsClient:
109
109
  account_token="YOUR_ACCOUNT_TOKEN",
110
110
  api_key="YOUR_API_KEY",
111
111
  )
112
- client.crm.linked_accounts.list()
112
+ client.crm.linked_accounts.list(
113
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
114
+ )
113
115
  """
114
116
  _response = self._raw_client.list(
115
117
  category=category,
@@ -235,7 +237,9 @@ class AsyncLinkedAccountsClient:
235
237
 
236
238
 
237
239
  async def main() -> None:
238
- await client.crm.linked_accounts.list()
240
+ await client.crm.linked_accounts.list(
241
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
242
+ )
239
243
 
240
244
 
241
245
  asyncio.run(main())
@@ -2,6 +2,33 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .linked_accounts_list_request_category import LinkedAccountsListRequestCategory
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .linked_accounts_list_request_category import LinkedAccountsListRequestCategory
10
+ _dynamic_imports: typing.Dict[str, str] = {
11
+ "LinkedAccountsListRequestCategory": ".linked_accounts_list_request_category"
12
+ }
13
+
14
+
15
+ def __getattr__(attr_name: str) -> typing.Any:
16
+ module_name = _dynamic_imports.get(attr_name)
17
+ if module_name is None:
18
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
19
+ try:
20
+ module = import_module(module_name, __package__)
21
+ result = getattr(module, attr_name)
22
+ return result
23
+ except ImportError as e:
24
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
25
+ except AttributeError as e:
26
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
27
+
28
+
29
+ def __dir__():
30
+ lazy_attrs = list(_dynamic_imports.keys())
31
+ return sorted(lazy_attrs)
32
+
6
33
 
7
34
  __all__ = ["LinkedAccountsListRequestCategory"]
@@ -2,6 +2,31 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .types import NotesListRequestExpand, NotesRetrieveRequestExpand
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import NotesListRequestExpand, NotesRetrieveRequestExpand
10
+ _dynamic_imports: typing.Dict[str, str] = {"NotesListRequestExpand": ".types", "NotesRetrieveRequestExpand": ".types"}
11
+
12
+
13
+ def __getattr__(attr_name: str) -> typing.Any:
14
+ module_name = _dynamic_imports.get(attr_name)
15
+ if module_name is None:
16
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
17
+ try:
18
+ module = import_module(module_name, __package__)
19
+ result = getattr(module, attr_name)
20
+ return result
21
+ except ImportError as e:
22
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
23
+ except AttributeError as e:
24
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
25
+
26
+
27
+ def __dir__():
28
+ lazy_attrs = list(_dynamic_imports.keys())
29
+ return sorted(lazy_attrs)
30
+
6
31
 
7
32
  __all__ = ["NotesListRequestExpand", "NotesRetrieveRequestExpand"]
@@ -124,7 +124,9 @@ class NotesClient:
124
124
  account_token="YOUR_ACCOUNT_TOKEN",
125
125
  api_key="YOUR_API_KEY",
126
126
  )
127
- client.crm.notes.list()
127
+ client.crm.notes.list(
128
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
129
+ )
128
130
  """
129
131
  _response = self._raw_client.list(
130
132
  account_id=account_id,
@@ -338,7 +340,9 @@ class NotesClient:
338
340
  account_token="YOUR_ACCOUNT_TOKEN",
339
341
  api_key="YOUR_API_KEY",
340
342
  )
341
- client.crm.notes.remote_field_classes_list()
343
+ client.crm.notes.remote_field_classes_list(
344
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
345
+ )
342
346
  """
343
347
  _response = self._raw_client.remote_field_classes_list(
344
348
  cursor=cursor,
@@ -464,7 +468,9 @@ class AsyncNotesClient:
464
468
 
465
469
 
466
470
  async def main() -> None:
467
- await client.crm.notes.list()
471
+ await client.crm.notes.list(
472
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
473
+ )
468
474
 
469
475
 
470
476
  asyncio.run(main())
@@ -710,7 +716,9 @@ class AsyncNotesClient:
710
716
 
711
717
 
712
718
  async def main() -> None:
713
- await client.crm.notes.remote_field_classes_list()
719
+ await client.crm.notes.remote_field_classes_list(
720
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
721
+ )
714
722
 
715
723
 
716
724
  asyncio.run(main())
@@ -2,7 +2,35 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .notes_list_request_expand import NotesListRequestExpand
6
- from .notes_retrieve_request_expand import NotesRetrieveRequestExpand
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .notes_list_request_expand import NotesListRequestExpand
10
+ from .notes_retrieve_request_expand import NotesRetrieveRequestExpand
11
+ _dynamic_imports: typing.Dict[str, str] = {
12
+ "NotesListRequestExpand": ".notes_list_request_expand",
13
+ "NotesRetrieveRequestExpand": ".notes_retrieve_request_expand",
14
+ }
15
+
16
+
17
+ def __getattr__(attr_name: str) -> typing.Any:
18
+ module_name = _dynamic_imports.get(attr_name)
19
+ if module_name is None:
20
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
21
+ try:
22
+ module = import_module(module_name, __package__)
23
+ result = getattr(module, attr_name)
24
+ return result
25
+ except ImportError as e:
26
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
27
+ except AttributeError as e:
28
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
29
+
30
+
31
+ def __dir__():
32
+ lazy_attrs = list(_dynamic_imports.keys())
33
+ return sorted(lazy_attrs)
34
+
7
35
 
8
36
  __all__ = ["NotesListRequestExpand", "NotesRetrieveRequestExpand"]
@@ -2,6 +2,39 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .types import OpportunitiesListRequestExpand, OpportunitiesListRequestStatus, OpportunitiesRetrieveRequestExpand
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .types import (
10
+ OpportunitiesListRequestExpand,
11
+ OpportunitiesListRequestStatus,
12
+ OpportunitiesRetrieveRequestExpand,
13
+ )
14
+ _dynamic_imports: typing.Dict[str, str] = {
15
+ "OpportunitiesListRequestExpand": ".types",
16
+ "OpportunitiesListRequestStatus": ".types",
17
+ "OpportunitiesRetrieveRequestExpand": ".types",
18
+ }
19
+
20
+
21
+ def __getattr__(attr_name: str) -> typing.Any:
22
+ module_name = _dynamic_imports.get(attr_name)
23
+ if module_name is None:
24
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
25
+ try:
26
+ module = import_module(module_name, __package__)
27
+ result = getattr(module, attr_name)
28
+ return result
29
+ except ImportError as e:
30
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
31
+ except AttributeError as e:
32
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
33
+
34
+
35
+ def __dir__():
36
+ lazy_attrs = list(_dynamic_imports.keys())
37
+ return sorted(lazy_attrs)
38
+
6
39
 
7
40
  __all__ = ["OpportunitiesListRequestExpand", "OpportunitiesListRequestStatus", "OpportunitiesRetrieveRequestExpand"]
@@ -142,7 +142,9 @@ class OpportunitiesClient:
142
142
  account_token="YOUR_ACCOUNT_TOKEN",
143
143
  api_key="YOUR_API_KEY",
144
144
  )
145
- client.crm.opportunities.list()
145
+ client.crm.opportunities.list(
146
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
147
+ )
146
148
  """
147
149
  _response = self._raw_client.list(
148
150
  account_id=account_id,
@@ -451,7 +453,9 @@ class OpportunitiesClient:
451
453
  account_token="YOUR_ACCOUNT_TOKEN",
452
454
  api_key="YOUR_API_KEY",
453
455
  )
454
- client.crm.opportunities.remote_field_classes_list()
456
+ client.crm.opportunities.remote_field_classes_list(
457
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
458
+ )
455
459
  """
456
460
  _response = self._raw_client.remote_field_classes_list(
457
461
  cursor=cursor,
@@ -593,7 +597,9 @@ class AsyncOpportunitiesClient:
593
597
 
594
598
 
595
599
  async def main() -> None:
596
- await client.crm.opportunities.list()
600
+ await client.crm.opportunities.list(
601
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
602
+ )
597
603
 
598
604
 
599
605
  asyncio.run(main())
@@ -952,7 +958,9 @@ class AsyncOpportunitiesClient:
952
958
 
953
959
 
954
960
  async def main() -> None:
955
- await client.crm.opportunities.remote_field_classes_list()
961
+ await client.crm.opportunities.remote_field_classes_list(
962
+ cursor="cD0yMDIxLTAxLTA2KzAzJTNBMjQlM0E1My40MzQzMjYlMkIwMCUzQTAw",
963
+ )
956
964
 
957
965
 
958
966
  asyncio.run(main())
@@ -2,8 +2,37 @@
2
2
 
3
3
  # isort: skip_file
4
4
 
5
- from .opportunities_list_request_expand import OpportunitiesListRequestExpand
6
- from .opportunities_list_request_status import OpportunitiesListRequestStatus
7
- from .opportunities_retrieve_request_expand import OpportunitiesRetrieveRequestExpand
5
+ import typing
6
+ from importlib import import_module
7
+
8
+ if typing.TYPE_CHECKING:
9
+ from .opportunities_list_request_expand import OpportunitiesListRequestExpand
10
+ from .opportunities_list_request_status import OpportunitiesListRequestStatus
11
+ from .opportunities_retrieve_request_expand import OpportunitiesRetrieveRequestExpand
12
+ _dynamic_imports: typing.Dict[str, str] = {
13
+ "OpportunitiesListRequestExpand": ".opportunities_list_request_expand",
14
+ "OpportunitiesListRequestStatus": ".opportunities_list_request_status",
15
+ "OpportunitiesRetrieveRequestExpand": ".opportunities_retrieve_request_expand",
16
+ }
17
+
18
+
19
+ def __getattr__(attr_name: str) -> typing.Any:
20
+ module_name = _dynamic_imports.get(attr_name)
21
+ if module_name is None:
22
+ raise AttributeError(f"No {attr_name} found in _dynamic_imports for module name -> {__name__}")
23
+ try:
24
+ module = import_module(module_name, __package__)
25
+ result = getattr(module, attr_name)
26
+ return result
27
+ except ImportError as e:
28
+ raise ImportError(f"Failed to import {attr_name} from {module_name}: {e}") from e
29
+ except AttributeError as e:
30
+ raise AttributeError(f"Failed to get {attr_name} from {module_name}: {e}") from e
31
+
32
+
33
+ def __dir__():
34
+ lazy_attrs = list(_dynamic_imports.keys())
35
+ return sorted(lazy_attrs)
36
+
8
37
 
9
38
  __all__ = ["OpportunitiesListRequestExpand", "OpportunitiesListRequestStatus", "OpportunitiesRetrieveRequestExpand"]