mergepythonclient 2.2.0__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 (171) 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/resources/__init__.py +33 -1
  6. merge/resources/accounting/__init__.py +1240 -609
  7. merge/resources/accounting/client.py +835 -165
  8. merge/resources/accounting/resources/__init__.py +208 -92
  9. merge/resources/accounting/resources/accounts/__init__.py +36 -6
  10. merge/resources/accounting/resources/accounts/types/__init__.py +34 -4
  11. merge/resources/accounting/resources/async_passthrough/__init__.py +26 -1
  12. merge/resources/accounting/resources/async_passthrough/types/__init__.py +26 -1
  13. merge/resources/accounting/resources/company_info/__init__.py +29 -1
  14. merge/resources/accounting/resources/company_info/types/__init__.py +30 -2
  15. merge/resources/accounting/resources/contacts/__init__.py +29 -1
  16. merge/resources/accounting/resources/contacts/types/__init__.py +30 -2
  17. merge/resources/accounting/resources/credit_notes/__init__.py +40 -8
  18. merge/resources/accounting/resources/credit_notes/types/__init__.py +38 -6
  19. merge/resources/accounting/resources/expense_reports/__init__.py +34 -5
  20. merge/resources/accounting/resources/expense_reports/types/__init__.py +32 -3
  21. merge/resources/accounting/resources/expenses/__init__.py +29 -1
  22. merge/resources/accounting/resources/expenses/types/__init__.py +30 -2
  23. merge/resources/accounting/resources/general_ledger_transactions/__init__.py +29 -1
  24. merge/resources/accounting/resources/general_ledger_transactions/types/__init__.py +30 -2
  25. merge/resources/accounting/resources/invoices/__init__.py +36 -6
  26. merge/resources/accounting/resources/invoices/types/__init__.py +34 -4
  27. merge/resources/accounting/resources/issues/__init__.py +26 -1
  28. merge/resources/accounting/resources/issues/types/__init__.py +26 -1
  29. merge/resources/accounting/resources/items/__init__.py +26 -1
  30. merge/resources/accounting/resources/items/types/__init__.py +30 -2
  31. merge/resources/accounting/resources/journal_entries/__init__.py +29 -1
  32. merge/resources/accounting/resources/journal_entries/types/__init__.py +30 -2
  33. merge/resources/accounting/resources/link_token/__init__.py +26 -1
  34. merge/resources/accounting/resources/link_token/types/__init__.py +26 -1
  35. merge/resources/accounting/resources/linked_accounts/__init__.py +26 -1
  36. merge/resources/accounting/resources/linked_accounts/types/__init__.py +28 -1
  37. merge/resources/accounting/resources/payments/__init__.py +29 -1
  38. merge/resources/accounting/resources/payments/types/__init__.py +30 -2
  39. merge/resources/accounting/resources/projects/__init__.py +29 -1
  40. merge/resources/accounting/resources/projects/types/__init__.py +30 -2
  41. merge/resources/accounting/resources/purchase_orders/__init__.py +29 -1
  42. merge/resources/accounting/resources/purchase_orders/types/__init__.py +30 -2
  43. merge/resources/accounting/resources/transactions/__init__.py +29 -1
  44. merge/resources/accounting/resources/transactions/types/__init__.py +30 -2
  45. merge/resources/accounting/resources/vendor_credits/__init__.py +29 -1
  46. merge/resources/accounting/resources/vendor_credits/types/__init__.py +30 -2
  47. merge/resources/accounting/types/__init__.py +1068 -521
  48. merge/resources/ats/__init__.py +586 -282
  49. merge/resources/ats/client.py +590 -120
  50. merge/resources/ats/resources/__init__.py +150 -63
  51. merge/resources/ats/resources/activities/__init__.py +36 -6
  52. merge/resources/ats/resources/activities/types/__init__.py +34 -4
  53. merge/resources/ats/resources/applications/__init__.py +29 -1
  54. merge/resources/ats/resources/applications/types/__init__.py +30 -2
  55. merge/resources/ats/resources/async_passthrough/__init__.py +26 -1
  56. merge/resources/ats/resources/async_passthrough/types/__init__.py +26 -1
  57. merge/resources/ats/resources/candidates/__init__.py +30 -1
  58. merge/resources/ats/resources/candidates/types/__init__.py +32 -3
  59. merge/resources/ats/resources/eeocs/__init__.py +36 -6
  60. merge/resources/ats/resources/eeocs/types/__init__.py +34 -4
  61. merge/resources/ats/resources/interviews/__init__.py +29 -1
  62. merge/resources/ats/resources/interviews/types/__init__.py +30 -2
  63. merge/resources/ats/resources/issues/__init__.py +26 -1
  64. merge/resources/ats/resources/issues/types/__init__.py +26 -1
  65. merge/resources/ats/resources/job_postings/__init__.py +26 -1
  66. merge/resources/ats/resources/job_postings/types/__init__.py +26 -1
  67. merge/resources/ats/resources/jobs/__init__.py +36 -6
  68. merge/resources/ats/resources/jobs/types/__init__.py +34 -4
  69. merge/resources/ats/resources/link_token/__init__.py +26 -1
  70. merge/resources/ats/resources/link_token/types/__init__.py +26 -1
  71. merge/resources/ats/resources/linked_accounts/__init__.py +26 -1
  72. merge/resources/ats/resources/linked_accounts/types/__init__.py +28 -1
  73. merge/resources/ats/resources/offers/__init__.py +26 -1
  74. merge/resources/ats/resources/offers/types/__init__.py +30 -2
  75. merge/resources/ats/resources/scorecards/__init__.py +29 -1
  76. merge/resources/ats/resources/scorecards/types/__init__.py +30 -2
  77. merge/resources/ats/types/__init__.py +462 -219
  78. merge/resources/crm/__init__.py +566 -272
  79. merge/resources/crm/client.py +556 -114
  80. merge/resources/crm/resources/__init__.py +121 -47
  81. merge/resources/crm/resources/async_passthrough/__init__.py +26 -1
  82. merge/resources/crm/resources/async_passthrough/types/__init__.py +26 -1
  83. merge/resources/crm/resources/contacts/__init__.py +29 -1
  84. merge/resources/crm/resources/contacts/types/__init__.py +30 -2
  85. merge/resources/crm/resources/engagements/__init__.py +29 -1
  86. merge/resources/crm/resources/engagements/types/__init__.py +30 -2
  87. merge/resources/crm/resources/issues/__init__.py +26 -1
  88. merge/resources/crm/resources/issues/types/__init__.py +26 -1
  89. merge/resources/crm/resources/leads/__init__.py +26 -1
  90. merge/resources/crm/resources/leads/types/__init__.py +30 -2
  91. merge/resources/crm/resources/link_token/__init__.py +26 -1
  92. merge/resources/crm/resources/link_token/types/__init__.py +26 -1
  93. merge/resources/crm/resources/linked_accounts/__init__.py +26 -1
  94. merge/resources/crm/resources/linked_accounts/types/__init__.py +28 -1
  95. merge/resources/crm/resources/notes/__init__.py +26 -1
  96. merge/resources/crm/resources/notes/types/__init__.py +30 -2
  97. merge/resources/crm/resources/opportunities/__init__.py +34 -1
  98. merge/resources/crm/resources/opportunities/types/__init__.py +32 -3
  99. merge/resources/crm/resources/tasks/__init__.py +26 -1
  100. merge/resources/crm/resources/tasks/types/__init__.py +30 -2
  101. merge/resources/crm/types/__init__.py +470 -224
  102. merge/resources/filestorage/__init__.py +322 -150
  103. merge/resources/filestorage/client.py +405 -87
  104. merge/resources/filestorage/resources/__init__.py +91 -34
  105. merge/resources/filestorage/resources/async_passthrough/__init__.py +26 -1
  106. merge/resources/filestorage/resources/async_passthrough/types/__init__.py +26 -1
  107. merge/resources/filestorage/resources/files/__init__.py +36 -6
  108. merge/resources/filestorage/resources/files/types/__init__.py +34 -4
  109. merge/resources/filestorage/resources/folders/__init__.py +29 -1
  110. merge/resources/filestorage/resources/folders/types/__init__.py +30 -2
  111. merge/resources/filestorage/resources/issues/__init__.py +26 -1
  112. merge/resources/filestorage/resources/issues/types/__init__.py +26 -1
  113. merge/resources/filestorage/resources/linked_accounts/__init__.py +26 -1
  114. merge/resources/filestorage/resources/linked_accounts/types/__init__.py +28 -1
  115. merge/resources/filestorage/types/__init__.py +258 -117
  116. merge/resources/hris/__init__.py +576 -277
  117. merge/resources/hris/client.py +590 -120
  118. merge/resources/hris/resources/__init__.py +188 -86
  119. merge/resources/hris/resources/async_passthrough/__init__.py +26 -1
  120. merge/resources/hris/resources/async_passthrough/types/__init__.py +26 -1
  121. merge/resources/hris/resources/bank_info/__init__.py +29 -1
  122. merge/resources/hris/resources/bank_info/types/__init__.py +30 -2
  123. merge/resources/hris/resources/employee_payroll_runs/__init__.py +29 -1
  124. merge/resources/hris/resources/employee_payroll_runs/types/__init__.py +30 -2
  125. merge/resources/hris/resources/employees/__init__.py +44 -10
  126. merge/resources/hris/resources/employees/types/__init__.py +42 -8
  127. merge/resources/hris/resources/employments/__init__.py +42 -9
  128. merge/resources/hris/resources/employments/types/__init__.py +40 -7
  129. merge/resources/hris/resources/issues/__init__.py +26 -1
  130. merge/resources/hris/resources/issues/types/__init__.py +26 -1
  131. merge/resources/hris/resources/link_token/__init__.py +26 -1
  132. merge/resources/hris/resources/link_token/types/__init__.py +26 -1
  133. merge/resources/hris/resources/linked_accounts/__init__.py +26 -1
  134. merge/resources/hris/resources/linked_accounts/types/__init__.py +28 -1
  135. merge/resources/hris/resources/locations/__init__.py +38 -7
  136. merge/resources/hris/resources/locations/types/__init__.py +36 -5
  137. merge/resources/hris/resources/payroll_runs/__init__.py +38 -7
  138. merge/resources/hris/resources/payroll_runs/types/__init__.py +36 -5
  139. merge/resources/hris/resources/time_off/__init__.py +44 -10
  140. merge/resources/hris/resources/time_off/types/__init__.py +42 -8
  141. merge/resources/hris/resources/time_off_balances/__init__.py +26 -1
  142. merge/resources/hris/resources/time_off_balances/types/__init__.py +28 -1
  143. merge/resources/hris/resources/timesheet_entries/__init__.py +26 -1
  144. merge/resources/hris/resources/timesheet_entries/types/__init__.py +28 -1
  145. merge/resources/hris/types/__init__.py +422 -199
  146. merge/resources/ticketing/__init__.py +464 -221
  147. merge/resources/ticketing/client.py +507 -105
  148. merge/resources/ticketing/resources/__init__.py +120 -48
  149. merge/resources/ticketing/resources/async_passthrough/__init__.py +26 -1
  150. merge/resources/ticketing/resources/async_passthrough/types/__init__.py +26 -1
  151. merge/resources/ticketing/resources/collections/__init__.py +26 -1
  152. merge/resources/ticketing/resources/collections/types/__init__.py +28 -1
  153. merge/resources/ticketing/resources/comments/__init__.py +29 -1
  154. merge/resources/ticketing/resources/comments/types/__init__.py +30 -2
  155. merge/resources/ticketing/resources/issues/__init__.py +26 -1
  156. merge/resources/ticketing/resources/issues/types/__init__.py +26 -1
  157. merge/resources/ticketing/resources/link_token/__init__.py +26 -1
  158. merge/resources/ticketing/resources/link_token/types/__init__.py +26 -1
  159. merge/resources/ticketing/resources/linked_accounts/__init__.py +26 -1
  160. merge/resources/ticketing/resources/linked_accounts/types/__init__.py +28 -1
  161. merge/resources/ticketing/resources/projects/__init__.py +26 -1
  162. merge/resources/ticketing/resources/projects/types/__init__.py +26 -1
  163. merge/resources/ticketing/resources/tickets/__init__.py +44 -10
  164. merge/resources/ticketing/resources/tickets/types/__init__.py +42 -8
  165. merge/resources/ticketing/resources/users/__init__.py +26 -1
  166. merge/resources/ticketing/resources/users/types/__init__.py +30 -2
  167. merge/resources/ticketing/types/__init__.py +370 -173
  168. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/METADATA +2 -1
  169. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/RECORD +171 -171
  170. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/LICENSE.md +0 -0
  171. {mergepythonclient-2.2.0.dist-info → mergepythonclient-2.3.0.dist-info}/WHEEL +0 -0
@@ -1,274 +1,566 @@
1
1
  # This file was auto-generated by Fern from our API Definition.
2
2
 
3
+ from __future__ import annotations
4
+
5
+ import typing
6
+
3
7
  from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
4
8
  from .raw_client import AsyncRawAccountingClient, RawAccountingClient
5
- from .resources.account_details.client import AccountDetailsClient, AsyncAccountDetailsClient
6
- from .resources.account_token.client import AccountTokenClient, AsyncAccountTokenClient
7
- from .resources.accounting_periods.client import AccountingPeriodsClient, AsyncAccountingPeriodsClient
8
- from .resources.accounts.client import AccountsClient, AsyncAccountsClient
9
- from .resources.addresses.client import AddressesClient, AsyncAddressesClient
10
- from .resources.async_passthrough.client import AsyncAsyncPassthroughClient
11
- from .resources.async_passthrough.client import (
12
- AsyncPassthroughClient as resources_accounting_resources_async_passthrough_client_AsyncPassthroughClient,
13
- )
14
- from .resources.async_tasks.client import AsyncAsyncTasksClient, AsyncTasksClient
15
- from .resources.attachments.client import AsyncAttachmentsClient, AttachmentsClient
16
- from .resources.audit_trail.client import AsyncAuditTrailClient, AuditTrailClient
17
- from .resources.available_actions.client import AsyncAvailableActionsClient, AvailableActionsClient
18
- from .resources.balance_sheets.client import AsyncBalanceSheetsClient, BalanceSheetsClient
19
- from .resources.bank_feed_accounts.client import AsyncBankFeedAccountsClient, BankFeedAccountsClient
20
- from .resources.bank_feed_transactions.client import AsyncBankFeedTransactionsClient, BankFeedTransactionsClient
21
- from .resources.cash_flow_statements.client import AsyncCashFlowStatementsClient, CashFlowStatementsClient
22
- from .resources.company_info.client import AsyncCompanyInfoClient, CompanyInfoClient
23
- from .resources.contacts.client import AsyncContactsClient, ContactsClient
24
- from .resources.credit_notes.client import AsyncCreditNotesClient, CreditNotesClient
25
- from .resources.delete_account.client import AsyncDeleteAccountClient, DeleteAccountClient
26
- from .resources.employees.client import AsyncEmployeesClient, EmployeesClient
27
- from .resources.expense_reports.client import AsyncExpenseReportsClient, ExpenseReportsClient
28
- from .resources.expenses.client import AsyncExpensesClient, ExpensesClient
29
- from .resources.field_mapping.client import AsyncFieldMappingClient, FieldMappingClient
30
- from .resources.force_resync.client import AsyncForceResyncClient, ForceResyncClient
31
- from .resources.general_ledger_transactions.client import (
32
- AsyncGeneralLedgerTransactionsClient,
33
- GeneralLedgerTransactionsClient,
34
- )
35
- from .resources.generate_key.client import AsyncGenerateKeyClient, GenerateKeyClient
36
- from .resources.income_statements.client import AsyncIncomeStatementsClient, IncomeStatementsClient
37
- from .resources.invoices.client import AsyncInvoicesClient, InvoicesClient
38
- from .resources.issues.client import AsyncIssuesClient, IssuesClient
39
- from .resources.items.client import AsyncItemsClient, ItemsClient
40
- from .resources.journal_entries.client import AsyncJournalEntriesClient, JournalEntriesClient
41
- from .resources.link_token.client import AsyncLinkTokenClient, LinkTokenClient
42
- from .resources.linked_accounts.client import AsyncLinkedAccountsClient, LinkedAccountsClient
43
- from .resources.passthrough.client import (
44
- AsyncPassthroughClient as resources_accounting_resources_passthrough_client_AsyncPassthroughClient,
45
- )
46
- from .resources.passthrough.client import PassthroughClient
47
- from .resources.payment_methods.client import AsyncPaymentMethodsClient, PaymentMethodsClient
48
- from .resources.payment_terms.client import AsyncPaymentTermsClient, PaymentTermsClient
49
- from .resources.payments.client import AsyncPaymentsClient, PaymentsClient
50
- from .resources.phone_numbers.client import AsyncPhoneNumbersClient, PhoneNumbersClient
51
- from .resources.projects.client import AsyncProjectsClient, ProjectsClient
52
- from .resources.purchase_orders.client import AsyncPurchaseOrdersClient, PurchaseOrdersClient
53
- from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
54
- from .resources.scopes.client import AsyncScopesClient, ScopesClient
55
- from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
56
- from .resources.tax_rates.client import AsyncTaxRatesClient, TaxRatesClient
57
- from .resources.tracking_categories.client import AsyncTrackingCategoriesClient, TrackingCategoriesClient
58
- from .resources.transactions.client import AsyncTransactionsClient, TransactionsClient
59
- from .resources.vendor_credits.client import AsyncVendorCreditsClient, VendorCreditsClient
60
- from .resources.webhook_receivers.client import AsyncWebhookReceiversClient, WebhookReceiversClient
9
+
10
+ if typing.TYPE_CHECKING:
11
+ from .resources.account_details.client import AccountDetailsClient, AsyncAccountDetailsClient
12
+ from .resources.account_token.client import AccountTokenClient, AsyncAccountTokenClient
13
+ from .resources.accounting_periods.client import AccountingPeriodsClient, AsyncAccountingPeriodsClient
14
+ from .resources.accounts.client import AccountsClient, AsyncAccountsClient
15
+ from .resources.addresses.client import AddressesClient, AsyncAddressesClient
16
+ from .resources.async_passthrough.client import AsyncAsyncPassthroughClient
17
+ from .resources.async_passthrough.client import (
18
+ AsyncPassthroughClient as resources_accounting_resources_async_passthrough_client_AsyncPassthroughClient,
19
+ )
20
+ from .resources.async_tasks.client import AsyncAsyncTasksClient, AsyncTasksClient
21
+ from .resources.attachments.client import AsyncAttachmentsClient, AttachmentsClient
22
+ from .resources.audit_trail.client import AsyncAuditTrailClient, AuditTrailClient
23
+ from .resources.available_actions.client import AsyncAvailableActionsClient, AvailableActionsClient
24
+ from .resources.balance_sheets.client import AsyncBalanceSheetsClient, BalanceSheetsClient
25
+ from .resources.bank_feed_accounts.client import AsyncBankFeedAccountsClient, BankFeedAccountsClient
26
+ from .resources.bank_feed_transactions.client import AsyncBankFeedTransactionsClient, BankFeedTransactionsClient
27
+ from .resources.cash_flow_statements.client import AsyncCashFlowStatementsClient, CashFlowStatementsClient
28
+ from .resources.company_info.client import AsyncCompanyInfoClient, CompanyInfoClient
29
+ from .resources.contacts.client import AsyncContactsClient, ContactsClient
30
+ from .resources.credit_notes.client import AsyncCreditNotesClient, CreditNotesClient
31
+ from .resources.delete_account.client import AsyncDeleteAccountClient, DeleteAccountClient
32
+ from .resources.employees.client import AsyncEmployeesClient, EmployeesClient
33
+ from .resources.expense_reports.client import AsyncExpenseReportsClient, ExpenseReportsClient
34
+ from .resources.expenses.client import AsyncExpensesClient, ExpensesClient
35
+ from .resources.field_mapping.client import AsyncFieldMappingClient, FieldMappingClient
36
+ from .resources.force_resync.client import AsyncForceResyncClient, ForceResyncClient
37
+ from .resources.general_ledger_transactions.client import (
38
+ AsyncGeneralLedgerTransactionsClient,
39
+ GeneralLedgerTransactionsClient,
40
+ )
41
+ from .resources.generate_key.client import AsyncGenerateKeyClient, GenerateKeyClient
42
+ from .resources.income_statements.client import AsyncIncomeStatementsClient, IncomeStatementsClient
43
+ from .resources.invoices.client import AsyncInvoicesClient, InvoicesClient
44
+ from .resources.issues.client import AsyncIssuesClient, IssuesClient
45
+ from .resources.items.client import AsyncItemsClient, ItemsClient
46
+ from .resources.journal_entries.client import AsyncJournalEntriesClient, JournalEntriesClient
47
+ from .resources.link_token.client import AsyncLinkTokenClient, LinkTokenClient
48
+ from .resources.linked_accounts.client import AsyncLinkedAccountsClient, LinkedAccountsClient
49
+ from .resources.passthrough.client import (
50
+ AsyncPassthroughClient as resources_accounting_resources_passthrough_client_AsyncPassthroughClient,
51
+ )
52
+ from .resources.passthrough.client import PassthroughClient
53
+ from .resources.payment_methods.client import AsyncPaymentMethodsClient, PaymentMethodsClient
54
+ from .resources.payment_terms.client import AsyncPaymentTermsClient, PaymentTermsClient
55
+ from .resources.payments.client import AsyncPaymentsClient, PaymentsClient
56
+ from .resources.phone_numbers.client import AsyncPhoneNumbersClient, PhoneNumbersClient
57
+ from .resources.projects.client import AsyncProjectsClient, ProjectsClient
58
+ from .resources.purchase_orders.client import AsyncPurchaseOrdersClient, PurchaseOrdersClient
59
+ from .resources.regenerate_key.client import AsyncRegenerateKeyClient, RegenerateKeyClient
60
+ from .resources.scopes.client import AsyncScopesClient, ScopesClient
61
+ from .resources.sync_status.client import AsyncSyncStatusClient, SyncStatusClient
62
+ from .resources.tax_rates.client import AsyncTaxRatesClient, TaxRatesClient
63
+ from .resources.tracking_categories.client import AsyncTrackingCategoriesClient, TrackingCategoriesClient
64
+ from .resources.transactions.client import AsyncTransactionsClient, TransactionsClient
65
+ from .resources.vendor_credits.client import AsyncVendorCreditsClient, VendorCreditsClient
66
+ from .resources.webhook_receivers.client import AsyncWebhookReceiversClient, WebhookReceiversClient
61
67
 
62
68
 
63
69
  class AccountingClient:
64
70
  def __init__(self, *, client_wrapper: SyncClientWrapper):
65
71
  self._raw_client = RawAccountingClient(client_wrapper=client_wrapper)
66
- self.account_details = AccountDetailsClient(client_wrapper=client_wrapper)
72
+ self._client_wrapper = client_wrapper
73
+ self._account_details: typing.Optional[AccountDetailsClient] = None
74
+ self._account_token: typing.Optional[AccountTokenClient] = None
75
+ self._accounting_periods: typing.Optional[AccountingPeriodsClient] = None
76
+ self._accounts: typing.Optional[AccountsClient] = None
77
+ self._addresses: typing.Optional[AddressesClient] = None
78
+ self._async_passthrough: typing.Optional[
79
+ resources_accounting_resources_async_passthrough_client_AsyncPassthroughClient
80
+ ] = None
81
+ self._async_tasks: typing.Optional[AsyncTasksClient] = None
82
+ self._attachments: typing.Optional[AttachmentsClient] = None
83
+ self._audit_trail: typing.Optional[AuditTrailClient] = None
84
+ self._available_actions: typing.Optional[AvailableActionsClient] = None
85
+ self._balance_sheets: typing.Optional[BalanceSheetsClient] = None
86
+ self._bank_feed_accounts: typing.Optional[BankFeedAccountsClient] = None
87
+ self._bank_feed_transactions: typing.Optional[BankFeedTransactionsClient] = None
88
+ self._cash_flow_statements: typing.Optional[CashFlowStatementsClient] = None
89
+ self._company_info: typing.Optional[CompanyInfoClient] = None
90
+ self._contacts: typing.Optional[ContactsClient] = None
91
+ self._credit_notes: typing.Optional[CreditNotesClient] = None
92
+ self._scopes: typing.Optional[ScopesClient] = None
93
+ self._delete_account: typing.Optional[DeleteAccountClient] = None
94
+ self._employees: typing.Optional[EmployeesClient] = None
95
+ self._expense_reports: typing.Optional[ExpenseReportsClient] = None
96
+ self._expenses: typing.Optional[ExpensesClient] = None
97
+ self._field_mapping: typing.Optional[FieldMappingClient] = None
98
+ self._general_ledger_transactions: typing.Optional[GeneralLedgerTransactionsClient] = None
99
+ self._generate_key: typing.Optional[GenerateKeyClient] = None
100
+ self._income_statements: typing.Optional[IncomeStatementsClient] = None
101
+ self._invoices: typing.Optional[InvoicesClient] = None
102
+ self._issues: typing.Optional[IssuesClient] = None
103
+ self._items: typing.Optional[ItemsClient] = None
104
+ self._journal_entries: typing.Optional[JournalEntriesClient] = None
105
+ self._link_token: typing.Optional[LinkTokenClient] = None
106
+ self._linked_accounts: typing.Optional[LinkedAccountsClient] = None
107
+ self._passthrough: typing.Optional[PassthroughClient] = None
108
+ self._payment_methods: typing.Optional[PaymentMethodsClient] = None
109
+ self._payment_terms: typing.Optional[PaymentTermsClient] = None
110
+ self._payments: typing.Optional[PaymentsClient] = None
111
+ self._phone_numbers: typing.Optional[PhoneNumbersClient] = None
112
+ self._projects: typing.Optional[ProjectsClient] = None
113
+ self._purchase_orders: typing.Optional[PurchaseOrdersClient] = None
114
+ self._regenerate_key: typing.Optional[RegenerateKeyClient] = None
115
+ self._sync_status: typing.Optional[SyncStatusClient] = None
116
+ self._force_resync: typing.Optional[ForceResyncClient] = None
117
+ self._tax_rates: typing.Optional[TaxRatesClient] = None
118
+ self._tracking_categories: typing.Optional[TrackingCategoriesClient] = None
119
+ self._transactions: typing.Optional[TransactionsClient] = None
120
+ self._vendor_credits: typing.Optional[VendorCreditsClient] = None
121
+ self._webhook_receivers: typing.Optional[WebhookReceiversClient] = None
67
122
 
68
- self.account_token = AccountTokenClient(client_wrapper=client_wrapper)
123
+ @property
124
+ def with_raw_response(self) -> RawAccountingClient:
125
+ """
126
+ Retrieves a raw implementation of this client that returns raw responses.
69
127
 
70
- self.accounting_periods = AccountingPeriodsClient(client_wrapper=client_wrapper)
128
+ Returns
129
+ -------
130
+ RawAccountingClient
131
+ """
132
+ return self._raw_client
71
133
 
72
- self.accounts = AccountsClient(client_wrapper=client_wrapper)
134
+ @property
135
+ def account_details(self):
136
+ if self._account_details is None:
137
+ from .resources.account_details.client import AccountDetailsClient # noqa: E402
73
138
 
74
- self.addresses = AddressesClient(client_wrapper=client_wrapper)
139
+ self._account_details = AccountDetailsClient(client_wrapper=self._client_wrapper)
140
+ return self._account_details
75
141
 
76
- self.async_passthrough = resources_accounting_resources_async_passthrough_client_AsyncPassthroughClient(
77
- client_wrapper=client_wrapper
78
- )
142
+ @property
143
+ def account_token(self):
144
+ if self._account_token is None:
145
+ from .resources.account_token.client import AccountTokenClient # noqa: E402
79
146
 
80
- self.async_tasks = AsyncTasksClient(client_wrapper=client_wrapper)
147
+ self._account_token = AccountTokenClient(client_wrapper=self._client_wrapper)
148
+ return self._account_token
81
149
 
82
- self.attachments = AttachmentsClient(client_wrapper=client_wrapper)
150
+ @property
151
+ def accounting_periods(self):
152
+ if self._accounting_periods is None:
153
+ from .resources.accounting_periods.client import AccountingPeriodsClient # noqa: E402
83
154
 
84
- self.audit_trail = AuditTrailClient(client_wrapper=client_wrapper)
155
+ self._accounting_periods = AccountingPeriodsClient(client_wrapper=self._client_wrapper)
156
+ return self._accounting_periods
85
157
 
86
- self.available_actions = AvailableActionsClient(client_wrapper=client_wrapper)
158
+ @property
159
+ def accounts(self):
160
+ if self._accounts is None:
161
+ from .resources.accounts.client import AccountsClient # noqa: E402
87
162
 
88
- self.balance_sheets = BalanceSheetsClient(client_wrapper=client_wrapper)
163
+ self._accounts = AccountsClient(client_wrapper=self._client_wrapper)
164
+ return self._accounts
89
165
 
90
- self.bank_feed_accounts = BankFeedAccountsClient(client_wrapper=client_wrapper)
166
+ @property
167
+ def addresses(self):
168
+ if self._addresses is None:
169
+ from .resources.addresses.client import AddressesClient # noqa: E402
91
170
 
92
- self.bank_feed_transactions = BankFeedTransactionsClient(client_wrapper=client_wrapper)
171
+ self._addresses = AddressesClient(client_wrapper=self._client_wrapper)
172
+ return self._addresses
93
173
 
94
- self.cash_flow_statements = CashFlowStatementsClient(client_wrapper=client_wrapper)
174
+ @property
175
+ def async_passthrough(self):
176
+ if self._async_passthrough is None:
177
+ self._async_passthrough = resources_accounting_resources_async_passthrough_client_AsyncPassthroughClient(
178
+ client_wrapper=self._client_wrapper
179
+ )
180
+ return self._async_passthrough
95
181
 
96
- self.company_info = CompanyInfoClient(client_wrapper=client_wrapper)
182
+ @property
183
+ def async_tasks(self):
184
+ if self._async_tasks is None:
185
+ from .resources.async_tasks.client import AsyncTasksClient # noqa: E402
97
186
 
98
- self.contacts = ContactsClient(client_wrapper=client_wrapper)
187
+ self._async_tasks = AsyncTasksClient(client_wrapper=self._client_wrapper)
188
+ return self._async_tasks
99
189
 
100
- self.credit_notes = CreditNotesClient(client_wrapper=client_wrapper)
190
+ @property
191
+ def attachments(self):
192
+ if self._attachments is None:
193
+ from .resources.attachments.client import AttachmentsClient # noqa: E402
101
194
 
102
- self.scopes = ScopesClient(client_wrapper=client_wrapper)
195
+ self._attachments = AttachmentsClient(client_wrapper=self._client_wrapper)
196
+ return self._attachments
103
197
 
104
- self.delete_account = DeleteAccountClient(client_wrapper=client_wrapper)
198
+ @property
199
+ def audit_trail(self):
200
+ if self._audit_trail is None:
201
+ from .resources.audit_trail.client import AuditTrailClient # noqa: E402
202
+
203
+ self._audit_trail = AuditTrailClient(client_wrapper=self._client_wrapper)
204
+ return self._audit_trail
105
205
 
106
- self.employees = EmployeesClient(client_wrapper=client_wrapper)
206
+ @property
207
+ def available_actions(self):
208
+ if self._available_actions is None:
209
+ from .resources.available_actions.client import AvailableActionsClient # noqa: E402
107
210
 
108
- self.expense_reports = ExpenseReportsClient(client_wrapper=client_wrapper)
211
+ self._available_actions = AvailableActionsClient(client_wrapper=self._client_wrapper)
212
+ return self._available_actions
109
213
 
110
- self.expenses = ExpensesClient(client_wrapper=client_wrapper)
214
+ @property
215
+ def balance_sheets(self):
216
+ if self._balance_sheets is None:
217
+ from .resources.balance_sheets.client import BalanceSheetsClient # noqa: E402
111
218
 
112
- self.field_mapping = FieldMappingClient(client_wrapper=client_wrapper)
219
+ self._balance_sheets = BalanceSheetsClient(client_wrapper=self._client_wrapper)
220
+ return self._balance_sheets
113
221
 
114
- self.general_ledger_transactions = GeneralLedgerTransactionsClient(client_wrapper=client_wrapper)
222
+ @property
223
+ def bank_feed_accounts(self):
224
+ if self._bank_feed_accounts is None:
225
+ from .resources.bank_feed_accounts.client import BankFeedAccountsClient # noqa: E402
115
226
 
116
- self.generate_key = GenerateKeyClient(client_wrapper=client_wrapper)
227
+ self._bank_feed_accounts = BankFeedAccountsClient(client_wrapper=self._client_wrapper)
228
+ return self._bank_feed_accounts
117
229
 
118
- self.income_statements = IncomeStatementsClient(client_wrapper=client_wrapper)
230
+ @property
231
+ def bank_feed_transactions(self):
232
+ if self._bank_feed_transactions is None:
233
+ from .resources.bank_feed_transactions.client import BankFeedTransactionsClient # noqa: E402
119
234
 
120
- self.invoices = InvoicesClient(client_wrapper=client_wrapper)
235
+ self._bank_feed_transactions = BankFeedTransactionsClient(client_wrapper=self._client_wrapper)
236
+ return self._bank_feed_transactions
121
237
 
122
- self.issues = IssuesClient(client_wrapper=client_wrapper)
238
+ @property
239
+ def cash_flow_statements(self):
240
+ if self._cash_flow_statements is None:
241
+ from .resources.cash_flow_statements.client import CashFlowStatementsClient # noqa: E402
123
242
 
124
- self.items = ItemsClient(client_wrapper=client_wrapper)
243
+ self._cash_flow_statements = CashFlowStatementsClient(client_wrapper=self._client_wrapper)
244
+ return self._cash_flow_statements
125
245
 
126
- self.journal_entries = JournalEntriesClient(client_wrapper=client_wrapper)
246
+ @property
247
+ def company_info(self):
248
+ if self._company_info is None:
249
+ from .resources.company_info.client import CompanyInfoClient # noqa: E402
127
250
 
128
- self.link_token = LinkTokenClient(client_wrapper=client_wrapper)
251
+ self._company_info = CompanyInfoClient(client_wrapper=self._client_wrapper)
252
+ return self._company_info
129
253
 
130
- self.linked_accounts = LinkedAccountsClient(client_wrapper=client_wrapper)
254
+ @property
255
+ def contacts(self):
256
+ if self._contacts is None:
257
+ from .resources.contacts.client import ContactsClient # noqa: E402
131
258
 
132
- self.passthrough = PassthroughClient(client_wrapper=client_wrapper)
259
+ self._contacts = ContactsClient(client_wrapper=self._client_wrapper)
260
+ return self._contacts
133
261
 
134
- self.payment_methods = PaymentMethodsClient(client_wrapper=client_wrapper)
262
+ @property
263
+ def credit_notes(self):
264
+ if self._credit_notes is None:
265
+ from .resources.credit_notes.client import CreditNotesClient # noqa: E402
135
266
 
136
- self.payment_terms = PaymentTermsClient(client_wrapper=client_wrapper)
267
+ self._credit_notes = CreditNotesClient(client_wrapper=self._client_wrapper)
268
+ return self._credit_notes
137
269
 
138
- self.payments = PaymentsClient(client_wrapper=client_wrapper)
270
+ @property
271
+ def scopes(self):
272
+ if self._scopes is None:
273
+ from .resources.scopes.client import ScopesClient # noqa: E402
139
274
 
140
- self.phone_numbers = PhoneNumbersClient(client_wrapper=client_wrapper)
275
+ self._scopes = ScopesClient(client_wrapper=self._client_wrapper)
276
+ return self._scopes
141
277
 
142
- self.projects = ProjectsClient(client_wrapper=client_wrapper)
278
+ @property
279
+ def delete_account(self):
280
+ if self._delete_account is None:
281
+ from .resources.delete_account.client import DeleteAccountClient # noqa: E402
143
282
 
144
- self.purchase_orders = PurchaseOrdersClient(client_wrapper=client_wrapper)
283
+ self._delete_account = DeleteAccountClient(client_wrapper=self._client_wrapper)
284
+ return self._delete_account
145
285
 
146
- self.regenerate_key = RegenerateKeyClient(client_wrapper=client_wrapper)
286
+ @property
287
+ def employees(self):
288
+ if self._employees is None:
289
+ from .resources.employees.client import EmployeesClient # noqa: E402
147
290
 
148
- self.sync_status = SyncStatusClient(client_wrapper=client_wrapper)
291
+ self._employees = EmployeesClient(client_wrapper=self._client_wrapper)
292
+ return self._employees
149
293
 
150
- self.force_resync = ForceResyncClient(client_wrapper=client_wrapper)
294
+ @property
295
+ def expense_reports(self):
296
+ if self._expense_reports is None:
297
+ from .resources.expense_reports.client import ExpenseReportsClient # noqa: E402
151
298
 
152
- self.tax_rates = TaxRatesClient(client_wrapper=client_wrapper)
299
+ self._expense_reports = ExpenseReportsClient(client_wrapper=self._client_wrapper)
300
+ return self._expense_reports
153
301
 
154
- self.tracking_categories = TrackingCategoriesClient(client_wrapper=client_wrapper)
302
+ @property
303
+ def expenses(self):
304
+ if self._expenses is None:
305
+ from .resources.expenses.client import ExpensesClient # noqa: E402
155
306
 
156
- self.transactions = TransactionsClient(client_wrapper=client_wrapper)
307
+ self._expenses = ExpensesClient(client_wrapper=self._client_wrapper)
308
+ return self._expenses
157
309
 
158
- self.vendor_credits = VendorCreditsClient(client_wrapper=client_wrapper)
310
+ @property
311
+ def field_mapping(self):
312
+ if self._field_mapping is None:
313
+ from .resources.field_mapping.client import FieldMappingClient # noqa: E402
159
314
 
160
- self.webhook_receivers = WebhookReceiversClient(client_wrapper=client_wrapper)
315
+ self._field_mapping = FieldMappingClient(client_wrapper=self._client_wrapper)
316
+ return self._field_mapping
161
317
 
162
318
  @property
163
- def with_raw_response(self) -> RawAccountingClient:
164
- """
165
- Retrieves a raw implementation of this client that returns raw responses.
319
+ def general_ledger_transactions(self):
320
+ if self._general_ledger_transactions is None:
321
+ from .resources.general_ledger_transactions.client import GeneralLedgerTransactionsClient # noqa: E402
166
322
 
167
- Returns
168
- -------
169
- RawAccountingClient
170
- """
171
- return self._raw_client
323
+ self._general_ledger_transactions = GeneralLedgerTransactionsClient(client_wrapper=self._client_wrapper)
324
+ return self._general_ledger_transactions
172
325
 
326
+ @property
327
+ def generate_key(self):
328
+ if self._generate_key is None:
329
+ from .resources.generate_key.client import GenerateKeyClient # noqa: E402
173
330
 
174
- class AsyncAccountingClient:
175
- def __init__(self, *, client_wrapper: AsyncClientWrapper):
176
- self._raw_client = AsyncRawAccountingClient(client_wrapper=client_wrapper)
177
- self.account_details = AsyncAccountDetailsClient(client_wrapper=client_wrapper)
331
+ self._generate_key = GenerateKeyClient(client_wrapper=self._client_wrapper)
332
+ return self._generate_key
178
333
 
179
- self.account_token = AsyncAccountTokenClient(client_wrapper=client_wrapper)
334
+ @property
335
+ def income_statements(self):
336
+ if self._income_statements is None:
337
+ from .resources.income_statements.client import IncomeStatementsClient # noqa: E402
180
338
 
181
- self.accounting_periods = AsyncAccountingPeriodsClient(client_wrapper=client_wrapper)
339
+ self._income_statements = IncomeStatementsClient(client_wrapper=self._client_wrapper)
340
+ return self._income_statements
182
341
 
183
- self.accounts = AsyncAccountsClient(client_wrapper=client_wrapper)
342
+ @property
343
+ def invoices(self):
344
+ if self._invoices is None:
345
+ from .resources.invoices.client import InvoicesClient # noqa: E402
184
346
 
185
- self.addresses = AsyncAddressesClient(client_wrapper=client_wrapper)
347
+ self._invoices = InvoicesClient(client_wrapper=self._client_wrapper)
348
+ return self._invoices
186
349
 
187
- self.async_passthrough = AsyncAsyncPassthroughClient(client_wrapper=client_wrapper)
350
+ @property
351
+ def issues(self):
352
+ if self._issues is None:
353
+ from .resources.issues.client import IssuesClient # noqa: E402
188
354
 
189
- self.async_tasks = AsyncAsyncTasksClient(client_wrapper=client_wrapper)
355
+ self._issues = IssuesClient(client_wrapper=self._client_wrapper)
356
+ return self._issues
190
357
 
191
- self.attachments = AsyncAttachmentsClient(client_wrapper=client_wrapper)
358
+ @property
359
+ def items(self):
360
+ if self._items is None:
361
+ from .resources.items.client import ItemsClient # noqa: E402
192
362
 
193
- self.audit_trail = AsyncAuditTrailClient(client_wrapper=client_wrapper)
363
+ self._items = ItemsClient(client_wrapper=self._client_wrapper)
364
+ return self._items
194
365
 
195
- self.available_actions = AsyncAvailableActionsClient(client_wrapper=client_wrapper)
366
+ @property
367
+ def journal_entries(self):
368
+ if self._journal_entries is None:
369
+ from .resources.journal_entries.client import JournalEntriesClient # noqa: E402
196
370
 
197
- self.balance_sheets = AsyncBalanceSheetsClient(client_wrapper=client_wrapper)
371
+ self._journal_entries = JournalEntriesClient(client_wrapper=self._client_wrapper)
372
+ return self._journal_entries
198
373
 
199
- self.bank_feed_accounts = AsyncBankFeedAccountsClient(client_wrapper=client_wrapper)
374
+ @property
375
+ def link_token(self):
376
+ if self._link_token is None:
377
+ from .resources.link_token.client import LinkTokenClient # noqa: E402
200
378
 
201
- self.bank_feed_transactions = AsyncBankFeedTransactionsClient(client_wrapper=client_wrapper)
379
+ self._link_token = LinkTokenClient(client_wrapper=self._client_wrapper)
380
+ return self._link_token
202
381
 
203
- self.cash_flow_statements = AsyncCashFlowStatementsClient(client_wrapper=client_wrapper)
382
+ @property
383
+ def linked_accounts(self):
384
+ if self._linked_accounts is None:
385
+ from .resources.linked_accounts.client import LinkedAccountsClient # noqa: E402
204
386
 
205
- self.company_info = AsyncCompanyInfoClient(client_wrapper=client_wrapper)
387
+ self._linked_accounts = LinkedAccountsClient(client_wrapper=self._client_wrapper)
388
+ return self._linked_accounts
206
389
 
207
- self.contacts = AsyncContactsClient(client_wrapper=client_wrapper)
390
+ @property
391
+ def passthrough(self):
392
+ if self._passthrough is None:
393
+ from .resources.passthrough.client import PassthroughClient # noqa: E402
208
394
 
209
- self.credit_notes = AsyncCreditNotesClient(client_wrapper=client_wrapper)
395
+ self._passthrough = PassthroughClient(client_wrapper=self._client_wrapper)
396
+ return self._passthrough
210
397
 
211
- self.scopes = AsyncScopesClient(client_wrapper=client_wrapper)
398
+ @property
399
+ def payment_methods(self):
400
+ if self._payment_methods is None:
401
+ from .resources.payment_methods.client import PaymentMethodsClient # noqa: E402
212
402
 
213
- self.delete_account = AsyncDeleteAccountClient(client_wrapper=client_wrapper)
403
+ self._payment_methods = PaymentMethodsClient(client_wrapper=self._client_wrapper)
404
+ return self._payment_methods
214
405
 
215
- self.employees = AsyncEmployeesClient(client_wrapper=client_wrapper)
406
+ @property
407
+ def payment_terms(self):
408
+ if self._payment_terms is None:
409
+ from .resources.payment_terms.client import PaymentTermsClient # noqa: E402
216
410
 
217
- self.expense_reports = AsyncExpenseReportsClient(client_wrapper=client_wrapper)
411
+ self._payment_terms = PaymentTermsClient(client_wrapper=self._client_wrapper)
412
+ return self._payment_terms
218
413
 
219
- self.expenses = AsyncExpensesClient(client_wrapper=client_wrapper)
414
+ @property
415
+ def payments(self):
416
+ if self._payments is None:
417
+ from .resources.payments.client import PaymentsClient # noqa: E402
220
418
 
221
- self.field_mapping = AsyncFieldMappingClient(client_wrapper=client_wrapper)
419
+ self._payments = PaymentsClient(client_wrapper=self._client_wrapper)
420
+ return self._payments
222
421
 
223
- self.general_ledger_transactions = AsyncGeneralLedgerTransactionsClient(client_wrapper=client_wrapper)
422
+ @property
423
+ def phone_numbers(self):
424
+ if self._phone_numbers is None:
425
+ from .resources.phone_numbers.client import PhoneNumbersClient # noqa: E402
224
426
 
225
- self.generate_key = AsyncGenerateKeyClient(client_wrapper=client_wrapper)
427
+ self._phone_numbers = PhoneNumbersClient(client_wrapper=self._client_wrapper)
428
+ return self._phone_numbers
226
429
 
227
- self.income_statements = AsyncIncomeStatementsClient(client_wrapper=client_wrapper)
430
+ @property
431
+ def projects(self):
432
+ if self._projects is None:
433
+ from .resources.projects.client import ProjectsClient # noqa: E402
228
434
 
229
- self.invoices = AsyncInvoicesClient(client_wrapper=client_wrapper)
435
+ self._projects = ProjectsClient(client_wrapper=self._client_wrapper)
436
+ return self._projects
230
437
 
231
- self.issues = AsyncIssuesClient(client_wrapper=client_wrapper)
438
+ @property
439
+ def purchase_orders(self):
440
+ if self._purchase_orders is None:
441
+ from .resources.purchase_orders.client import PurchaseOrdersClient # noqa: E402
232
442
 
233
- self.items = AsyncItemsClient(client_wrapper=client_wrapper)
443
+ self._purchase_orders = PurchaseOrdersClient(client_wrapper=self._client_wrapper)
444
+ return self._purchase_orders
234
445
 
235
- self.journal_entries = AsyncJournalEntriesClient(client_wrapper=client_wrapper)
446
+ @property
447
+ def regenerate_key(self):
448
+ if self._regenerate_key is None:
449
+ from .resources.regenerate_key.client import RegenerateKeyClient # noqa: E402
236
450
 
237
- self.link_token = AsyncLinkTokenClient(client_wrapper=client_wrapper)
451
+ self._regenerate_key = RegenerateKeyClient(client_wrapper=self._client_wrapper)
452
+ return self._regenerate_key
238
453
 
239
- self.linked_accounts = AsyncLinkedAccountsClient(client_wrapper=client_wrapper)
454
+ @property
455
+ def sync_status(self):
456
+ if self._sync_status is None:
457
+ from .resources.sync_status.client import SyncStatusClient # noqa: E402
240
458
 
241
- self.passthrough = resources_accounting_resources_passthrough_client_AsyncPassthroughClient(
242
- client_wrapper=client_wrapper
243
- )
459
+ self._sync_status = SyncStatusClient(client_wrapper=self._client_wrapper)
460
+ return self._sync_status
244
461
 
245
- self.payment_methods = AsyncPaymentMethodsClient(client_wrapper=client_wrapper)
462
+ @property
463
+ def force_resync(self):
464
+ if self._force_resync is None:
465
+ from .resources.force_resync.client import ForceResyncClient # noqa: E402
246
466
 
247
- self.payment_terms = AsyncPaymentTermsClient(client_wrapper=client_wrapper)
467
+ self._force_resync = ForceResyncClient(client_wrapper=self._client_wrapper)
468
+ return self._force_resync
248
469
 
249
- self.payments = AsyncPaymentsClient(client_wrapper=client_wrapper)
470
+ @property
471
+ def tax_rates(self):
472
+ if self._tax_rates is None:
473
+ from .resources.tax_rates.client import TaxRatesClient # noqa: E402
250
474
 
251
- self.phone_numbers = AsyncPhoneNumbersClient(client_wrapper=client_wrapper)
475
+ self._tax_rates = TaxRatesClient(client_wrapper=self._client_wrapper)
476
+ return self._tax_rates
252
477
 
253
- self.projects = AsyncProjectsClient(client_wrapper=client_wrapper)
478
+ @property
479
+ def tracking_categories(self):
480
+ if self._tracking_categories is None:
481
+ from .resources.tracking_categories.client import TrackingCategoriesClient # noqa: E402
254
482
 
255
- self.purchase_orders = AsyncPurchaseOrdersClient(client_wrapper=client_wrapper)
483
+ self._tracking_categories = TrackingCategoriesClient(client_wrapper=self._client_wrapper)
484
+ return self._tracking_categories
256
485
 
257
- self.regenerate_key = AsyncRegenerateKeyClient(client_wrapper=client_wrapper)
486
+ @property
487
+ def transactions(self):
488
+ if self._transactions is None:
489
+ from .resources.transactions.client import TransactionsClient # noqa: E402
258
490
 
259
- self.sync_status = AsyncSyncStatusClient(client_wrapper=client_wrapper)
491
+ self._transactions = TransactionsClient(client_wrapper=self._client_wrapper)
492
+ return self._transactions
260
493
 
261
- self.force_resync = AsyncForceResyncClient(client_wrapper=client_wrapper)
494
+ @property
495
+ def vendor_credits(self):
496
+ if self._vendor_credits is None:
497
+ from .resources.vendor_credits.client import VendorCreditsClient # noqa: E402
262
498
 
263
- self.tax_rates = AsyncTaxRatesClient(client_wrapper=client_wrapper)
499
+ self._vendor_credits = VendorCreditsClient(client_wrapper=self._client_wrapper)
500
+ return self._vendor_credits
264
501
 
265
- self.tracking_categories = AsyncTrackingCategoriesClient(client_wrapper=client_wrapper)
502
+ @property
503
+ def webhook_receivers(self):
504
+ if self._webhook_receivers is None:
505
+ from .resources.webhook_receivers.client import WebhookReceiversClient # noqa: E402
266
506
 
267
- self.transactions = AsyncTransactionsClient(client_wrapper=client_wrapper)
507
+ self._webhook_receivers = WebhookReceiversClient(client_wrapper=self._client_wrapper)
508
+ return self._webhook_receivers
268
509
 
269
- self.vendor_credits = AsyncVendorCreditsClient(client_wrapper=client_wrapper)
270
510
 
271
- self.webhook_receivers = AsyncWebhookReceiversClient(client_wrapper=client_wrapper)
511
+ class AsyncAccountingClient:
512
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
513
+ self._raw_client = AsyncRawAccountingClient(client_wrapper=client_wrapper)
514
+ self._client_wrapper = client_wrapper
515
+ self._account_details: typing.Optional[AsyncAccountDetailsClient] = None
516
+ self._account_token: typing.Optional[AsyncAccountTokenClient] = None
517
+ self._accounting_periods: typing.Optional[AsyncAccountingPeriodsClient] = None
518
+ self._accounts: typing.Optional[AsyncAccountsClient] = None
519
+ self._addresses: typing.Optional[AsyncAddressesClient] = None
520
+ self._async_passthrough: typing.Optional[AsyncAsyncPassthroughClient] = None
521
+ self._async_tasks: typing.Optional[AsyncAsyncTasksClient] = None
522
+ self._attachments: typing.Optional[AsyncAttachmentsClient] = None
523
+ self._audit_trail: typing.Optional[AsyncAuditTrailClient] = None
524
+ self._available_actions: typing.Optional[AsyncAvailableActionsClient] = None
525
+ self._balance_sheets: typing.Optional[AsyncBalanceSheetsClient] = None
526
+ self._bank_feed_accounts: typing.Optional[AsyncBankFeedAccountsClient] = None
527
+ self._bank_feed_transactions: typing.Optional[AsyncBankFeedTransactionsClient] = None
528
+ self._cash_flow_statements: typing.Optional[AsyncCashFlowStatementsClient] = None
529
+ self._company_info: typing.Optional[AsyncCompanyInfoClient] = None
530
+ self._contacts: typing.Optional[AsyncContactsClient] = None
531
+ self._credit_notes: typing.Optional[AsyncCreditNotesClient] = None
532
+ self._scopes: typing.Optional[AsyncScopesClient] = None
533
+ self._delete_account: typing.Optional[AsyncDeleteAccountClient] = None
534
+ self._employees: typing.Optional[AsyncEmployeesClient] = None
535
+ self._expense_reports: typing.Optional[AsyncExpenseReportsClient] = None
536
+ self._expenses: typing.Optional[AsyncExpensesClient] = None
537
+ self._field_mapping: typing.Optional[AsyncFieldMappingClient] = None
538
+ self._general_ledger_transactions: typing.Optional[AsyncGeneralLedgerTransactionsClient] = None
539
+ self._generate_key: typing.Optional[AsyncGenerateKeyClient] = None
540
+ self._income_statements: typing.Optional[AsyncIncomeStatementsClient] = None
541
+ self._invoices: typing.Optional[AsyncInvoicesClient] = None
542
+ self._issues: typing.Optional[AsyncIssuesClient] = None
543
+ self._items: typing.Optional[AsyncItemsClient] = None
544
+ self._journal_entries: typing.Optional[AsyncJournalEntriesClient] = None
545
+ self._link_token: typing.Optional[AsyncLinkTokenClient] = None
546
+ self._linked_accounts: typing.Optional[AsyncLinkedAccountsClient] = None
547
+ self._passthrough: typing.Optional[resources_accounting_resources_passthrough_client_AsyncPassthroughClient] = (
548
+ None
549
+ )
550
+ self._payment_methods: typing.Optional[AsyncPaymentMethodsClient] = None
551
+ self._payment_terms: typing.Optional[AsyncPaymentTermsClient] = None
552
+ self._payments: typing.Optional[AsyncPaymentsClient] = None
553
+ self._phone_numbers: typing.Optional[AsyncPhoneNumbersClient] = None
554
+ self._projects: typing.Optional[AsyncProjectsClient] = None
555
+ self._purchase_orders: typing.Optional[AsyncPurchaseOrdersClient] = None
556
+ self._regenerate_key: typing.Optional[AsyncRegenerateKeyClient] = None
557
+ self._sync_status: typing.Optional[AsyncSyncStatusClient] = None
558
+ self._force_resync: typing.Optional[AsyncForceResyncClient] = None
559
+ self._tax_rates: typing.Optional[AsyncTaxRatesClient] = None
560
+ self._tracking_categories: typing.Optional[AsyncTrackingCategoriesClient] = None
561
+ self._transactions: typing.Optional[AsyncTransactionsClient] = None
562
+ self._vendor_credits: typing.Optional[AsyncVendorCreditsClient] = None
563
+ self._webhook_receivers: typing.Optional[AsyncWebhookReceiversClient] = None
272
564
 
273
565
  @property
274
566
  def with_raw_response(self) -> AsyncRawAccountingClient:
@@ -280,3 +572,381 @@ class AsyncAccountingClient:
280
572
  AsyncRawAccountingClient
281
573
  """
282
574
  return self._raw_client
575
+
576
+ @property
577
+ def account_details(self):
578
+ if self._account_details is None:
579
+ from .resources.account_details.client import AsyncAccountDetailsClient # noqa: E402
580
+
581
+ self._account_details = AsyncAccountDetailsClient(client_wrapper=self._client_wrapper)
582
+ return self._account_details
583
+
584
+ @property
585
+ def account_token(self):
586
+ if self._account_token is None:
587
+ from .resources.account_token.client import AsyncAccountTokenClient # noqa: E402
588
+
589
+ self._account_token = AsyncAccountTokenClient(client_wrapper=self._client_wrapper)
590
+ return self._account_token
591
+
592
+ @property
593
+ def accounting_periods(self):
594
+ if self._accounting_periods is None:
595
+ from .resources.accounting_periods.client import AsyncAccountingPeriodsClient # noqa: E402
596
+
597
+ self._accounting_periods = AsyncAccountingPeriodsClient(client_wrapper=self._client_wrapper)
598
+ return self._accounting_periods
599
+
600
+ @property
601
+ def accounts(self):
602
+ if self._accounts is None:
603
+ from .resources.accounts.client import AsyncAccountsClient # noqa: E402
604
+
605
+ self._accounts = AsyncAccountsClient(client_wrapper=self._client_wrapper)
606
+ return self._accounts
607
+
608
+ @property
609
+ def addresses(self):
610
+ if self._addresses is None:
611
+ from .resources.addresses.client import AsyncAddressesClient # noqa: E402
612
+
613
+ self._addresses = AsyncAddressesClient(client_wrapper=self._client_wrapper)
614
+ return self._addresses
615
+
616
+ @property
617
+ def async_passthrough(self):
618
+ if self._async_passthrough is None:
619
+ from .resources.async_passthrough.client import AsyncAsyncPassthroughClient # noqa: E402
620
+
621
+ self._async_passthrough = AsyncAsyncPassthroughClient(client_wrapper=self._client_wrapper)
622
+ return self._async_passthrough
623
+
624
+ @property
625
+ def async_tasks(self):
626
+ if self._async_tasks is None:
627
+ from .resources.async_tasks.client import AsyncAsyncTasksClient # noqa: E402
628
+
629
+ self._async_tasks = AsyncAsyncTasksClient(client_wrapper=self._client_wrapper)
630
+ return self._async_tasks
631
+
632
+ @property
633
+ def attachments(self):
634
+ if self._attachments is None:
635
+ from .resources.attachments.client import AsyncAttachmentsClient # noqa: E402
636
+
637
+ self._attachments = AsyncAttachmentsClient(client_wrapper=self._client_wrapper)
638
+ return self._attachments
639
+
640
+ @property
641
+ def audit_trail(self):
642
+ if self._audit_trail is None:
643
+ from .resources.audit_trail.client import AsyncAuditTrailClient # noqa: E402
644
+
645
+ self._audit_trail = AsyncAuditTrailClient(client_wrapper=self._client_wrapper)
646
+ return self._audit_trail
647
+
648
+ @property
649
+ def available_actions(self):
650
+ if self._available_actions is None:
651
+ from .resources.available_actions.client import AsyncAvailableActionsClient # noqa: E402
652
+
653
+ self._available_actions = AsyncAvailableActionsClient(client_wrapper=self._client_wrapper)
654
+ return self._available_actions
655
+
656
+ @property
657
+ def balance_sheets(self):
658
+ if self._balance_sheets is None:
659
+ from .resources.balance_sheets.client import AsyncBalanceSheetsClient # noqa: E402
660
+
661
+ self._balance_sheets = AsyncBalanceSheetsClient(client_wrapper=self._client_wrapper)
662
+ return self._balance_sheets
663
+
664
+ @property
665
+ def bank_feed_accounts(self):
666
+ if self._bank_feed_accounts is None:
667
+ from .resources.bank_feed_accounts.client import AsyncBankFeedAccountsClient # noqa: E402
668
+
669
+ self._bank_feed_accounts = AsyncBankFeedAccountsClient(client_wrapper=self._client_wrapper)
670
+ return self._bank_feed_accounts
671
+
672
+ @property
673
+ def bank_feed_transactions(self):
674
+ if self._bank_feed_transactions is None:
675
+ from .resources.bank_feed_transactions.client import AsyncBankFeedTransactionsClient # noqa: E402
676
+
677
+ self._bank_feed_transactions = AsyncBankFeedTransactionsClient(client_wrapper=self._client_wrapper)
678
+ return self._bank_feed_transactions
679
+
680
+ @property
681
+ def cash_flow_statements(self):
682
+ if self._cash_flow_statements is None:
683
+ from .resources.cash_flow_statements.client import AsyncCashFlowStatementsClient # noqa: E402
684
+
685
+ self._cash_flow_statements = AsyncCashFlowStatementsClient(client_wrapper=self._client_wrapper)
686
+ return self._cash_flow_statements
687
+
688
+ @property
689
+ def company_info(self):
690
+ if self._company_info is None:
691
+ from .resources.company_info.client import AsyncCompanyInfoClient # noqa: E402
692
+
693
+ self._company_info = AsyncCompanyInfoClient(client_wrapper=self._client_wrapper)
694
+ return self._company_info
695
+
696
+ @property
697
+ def contacts(self):
698
+ if self._contacts is None:
699
+ from .resources.contacts.client import AsyncContactsClient # noqa: E402
700
+
701
+ self._contacts = AsyncContactsClient(client_wrapper=self._client_wrapper)
702
+ return self._contacts
703
+
704
+ @property
705
+ def credit_notes(self):
706
+ if self._credit_notes is None:
707
+ from .resources.credit_notes.client import AsyncCreditNotesClient # noqa: E402
708
+
709
+ self._credit_notes = AsyncCreditNotesClient(client_wrapper=self._client_wrapper)
710
+ return self._credit_notes
711
+
712
+ @property
713
+ def scopes(self):
714
+ if self._scopes is None:
715
+ from .resources.scopes.client import AsyncScopesClient # noqa: E402
716
+
717
+ self._scopes = AsyncScopesClient(client_wrapper=self._client_wrapper)
718
+ return self._scopes
719
+
720
+ @property
721
+ def delete_account(self):
722
+ if self._delete_account is None:
723
+ from .resources.delete_account.client import AsyncDeleteAccountClient # noqa: E402
724
+
725
+ self._delete_account = AsyncDeleteAccountClient(client_wrapper=self._client_wrapper)
726
+ return self._delete_account
727
+
728
+ @property
729
+ def employees(self):
730
+ if self._employees is None:
731
+ from .resources.employees.client import AsyncEmployeesClient # noqa: E402
732
+
733
+ self._employees = AsyncEmployeesClient(client_wrapper=self._client_wrapper)
734
+ return self._employees
735
+
736
+ @property
737
+ def expense_reports(self):
738
+ if self._expense_reports is None:
739
+ from .resources.expense_reports.client import AsyncExpenseReportsClient # noqa: E402
740
+
741
+ self._expense_reports = AsyncExpenseReportsClient(client_wrapper=self._client_wrapper)
742
+ return self._expense_reports
743
+
744
+ @property
745
+ def expenses(self):
746
+ if self._expenses is None:
747
+ from .resources.expenses.client import AsyncExpensesClient # noqa: E402
748
+
749
+ self._expenses = AsyncExpensesClient(client_wrapper=self._client_wrapper)
750
+ return self._expenses
751
+
752
+ @property
753
+ def field_mapping(self):
754
+ if self._field_mapping is None:
755
+ from .resources.field_mapping.client import AsyncFieldMappingClient # noqa: E402
756
+
757
+ self._field_mapping = AsyncFieldMappingClient(client_wrapper=self._client_wrapper)
758
+ return self._field_mapping
759
+
760
+ @property
761
+ def general_ledger_transactions(self):
762
+ if self._general_ledger_transactions is None:
763
+ from .resources.general_ledger_transactions.client import AsyncGeneralLedgerTransactionsClient # noqa: E402
764
+
765
+ self._general_ledger_transactions = AsyncGeneralLedgerTransactionsClient(
766
+ client_wrapper=self._client_wrapper
767
+ )
768
+ return self._general_ledger_transactions
769
+
770
+ @property
771
+ def generate_key(self):
772
+ if self._generate_key is None:
773
+ from .resources.generate_key.client import AsyncGenerateKeyClient # noqa: E402
774
+
775
+ self._generate_key = AsyncGenerateKeyClient(client_wrapper=self._client_wrapper)
776
+ return self._generate_key
777
+
778
+ @property
779
+ def income_statements(self):
780
+ if self._income_statements is None:
781
+ from .resources.income_statements.client import AsyncIncomeStatementsClient # noqa: E402
782
+
783
+ self._income_statements = AsyncIncomeStatementsClient(client_wrapper=self._client_wrapper)
784
+ return self._income_statements
785
+
786
+ @property
787
+ def invoices(self):
788
+ if self._invoices is None:
789
+ from .resources.invoices.client import AsyncInvoicesClient # noqa: E402
790
+
791
+ self._invoices = AsyncInvoicesClient(client_wrapper=self._client_wrapper)
792
+ return self._invoices
793
+
794
+ @property
795
+ def issues(self):
796
+ if self._issues is None:
797
+ from .resources.issues.client import AsyncIssuesClient # noqa: E402
798
+
799
+ self._issues = AsyncIssuesClient(client_wrapper=self._client_wrapper)
800
+ return self._issues
801
+
802
+ @property
803
+ def items(self):
804
+ if self._items is None:
805
+ from .resources.items.client import AsyncItemsClient # noqa: E402
806
+
807
+ self._items = AsyncItemsClient(client_wrapper=self._client_wrapper)
808
+ return self._items
809
+
810
+ @property
811
+ def journal_entries(self):
812
+ if self._journal_entries is None:
813
+ from .resources.journal_entries.client import AsyncJournalEntriesClient # noqa: E402
814
+
815
+ self._journal_entries = AsyncJournalEntriesClient(client_wrapper=self._client_wrapper)
816
+ return self._journal_entries
817
+
818
+ @property
819
+ def link_token(self):
820
+ if self._link_token is None:
821
+ from .resources.link_token.client import AsyncLinkTokenClient # noqa: E402
822
+
823
+ self._link_token = AsyncLinkTokenClient(client_wrapper=self._client_wrapper)
824
+ return self._link_token
825
+
826
+ @property
827
+ def linked_accounts(self):
828
+ if self._linked_accounts is None:
829
+ from .resources.linked_accounts.client import AsyncLinkedAccountsClient # noqa: E402
830
+
831
+ self._linked_accounts = AsyncLinkedAccountsClient(client_wrapper=self._client_wrapper)
832
+ return self._linked_accounts
833
+
834
+ @property
835
+ def passthrough(self):
836
+ if self._passthrough is None:
837
+ self._passthrough = resources_accounting_resources_passthrough_client_AsyncPassthroughClient(
838
+ client_wrapper=self._client_wrapper
839
+ )
840
+ return self._passthrough
841
+
842
+ @property
843
+ def payment_methods(self):
844
+ if self._payment_methods is None:
845
+ from .resources.payment_methods.client import AsyncPaymentMethodsClient # noqa: E402
846
+
847
+ self._payment_methods = AsyncPaymentMethodsClient(client_wrapper=self._client_wrapper)
848
+ return self._payment_methods
849
+
850
+ @property
851
+ def payment_terms(self):
852
+ if self._payment_terms is None:
853
+ from .resources.payment_terms.client import AsyncPaymentTermsClient # noqa: E402
854
+
855
+ self._payment_terms = AsyncPaymentTermsClient(client_wrapper=self._client_wrapper)
856
+ return self._payment_terms
857
+
858
+ @property
859
+ def payments(self):
860
+ if self._payments is None:
861
+ from .resources.payments.client import AsyncPaymentsClient # noqa: E402
862
+
863
+ self._payments = AsyncPaymentsClient(client_wrapper=self._client_wrapper)
864
+ return self._payments
865
+
866
+ @property
867
+ def phone_numbers(self):
868
+ if self._phone_numbers is None:
869
+ from .resources.phone_numbers.client import AsyncPhoneNumbersClient # noqa: E402
870
+
871
+ self._phone_numbers = AsyncPhoneNumbersClient(client_wrapper=self._client_wrapper)
872
+ return self._phone_numbers
873
+
874
+ @property
875
+ def projects(self):
876
+ if self._projects is None:
877
+ from .resources.projects.client import AsyncProjectsClient # noqa: E402
878
+
879
+ self._projects = AsyncProjectsClient(client_wrapper=self._client_wrapper)
880
+ return self._projects
881
+
882
+ @property
883
+ def purchase_orders(self):
884
+ if self._purchase_orders is None:
885
+ from .resources.purchase_orders.client import AsyncPurchaseOrdersClient # noqa: E402
886
+
887
+ self._purchase_orders = AsyncPurchaseOrdersClient(client_wrapper=self._client_wrapper)
888
+ return self._purchase_orders
889
+
890
+ @property
891
+ def regenerate_key(self):
892
+ if self._regenerate_key is None:
893
+ from .resources.regenerate_key.client import AsyncRegenerateKeyClient # noqa: E402
894
+
895
+ self._regenerate_key = AsyncRegenerateKeyClient(client_wrapper=self._client_wrapper)
896
+ return self._regenerate_key
897
+
898
+ @property
899
+ def sync_status(self):
900
+ if self._sync_status is None:
901
+ from .resources.sync_status.client import AsyncSyncStatusClient # noqa: E402
902
+
903
+ self._sync_status = AsyncSyncStatusClient(client_wrapper=self._client_wrapper)
904
+ return self._sync_status
905
+
906
+ @property
907
+ def force_resync(self):
908
+ if self._force_resync is None:
909
+ from .resources.force_resync.client import AsyncForceResyncClient # noqa: E402
910
+
911
+ self._force_resync = AsyncForceResyncClient(client_wrapper=self._client_wrapper)
912
+ return self._force_resync
913
+
914
+ @property
915
+ def tax_rates(self):
916
+ if self._tax_rates is None:
917
+ from .resources.tax_rates.client import AsyncTaxRatesClient # noqa: E402
918
+
919
+ self._tax_rates = AsyncTaxRatesClient(client_wrapper=self._client_wrapper)
920
+ return self._tax_rates
921
+
922
+ @property
923
+ def tracking_categories(self):
924
+ if self._tracking_categories is None:
925
+ from .resources.tracking_categories.client import AsyncTrackingCategoriesClient # noqa: E402
926
+
927
+ self._tracking_categories = AsyncTrackingCategoriesClient(client_wrapper=self._client_wrapper)
928
+ return self._tracking_categories
929
+
930
+ @property
931
+ def transactions(self):
932
+ if self._transactions is None:
933
+ from .resources.transactions.client import AsyncTransactionsClient # noqa: E402
934
+
935
+ self._transactions = AsyncTransactionsClient(client_wrapper=self._client_wrapper)
936
+ return self._transactions
937
+
938
+ @property
939
+ def vendor_credits(self):
940
+ if self._vendor_credits is None:
941
+ from .resources.vendor_credits.client import AsyncVendorCreditsClient # noqa: E402
942
+
943
+ self._vendor_credits = AsyncVendorCreditsClient(client_wrapper=self._client_wrapper)
944
+ return self._vendor_credits
945
+
946
+ @property
947
+ def webhook_receivers(self):
948
+ if self._webhook_receivers is None:
949
+ from .resources.webhook_receivers.client import AsyncWebhookReceiversClient # noqa: E402
950
+
951
+ self._webhook_receivers = AsyncWebhookReceiversClient(client_wrapper=self._client_wrapper)
952
+ return self._webhook_receivers