ynab-api-cli 0.1.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 (225) hide show
  1. ynab_api_cli/__init__.py +3 -0
  2. ynab_api_cli/__main__.py +266 -0
  3. ynab_api_cli/cli.py +171 -0
  4. ynab_api_cli/compat.py +120 -0
  5. ynab_api_cli/config.py +110 -0
  6. ynab_api_cli/contract.py +197 -0
  7. ynab_api_cli/contract_testing.py +141 -0
  8. ynab_api_cli/development.py +269 -0
  9. ynab_api_cli/distribution.py +123 -0
  10. ynab_api_cli/exceptions.py +7 -0
  11. ynab_api_cli/generated/__init__.py +3 -0
  12. ynab_api_cli/generated/api/__init__.py +3 -0
  13. ynab_api_cli/generated/api/accounts/__init__.py +3 -0
  14. ynab_api_cli/generated/api/accounts/create_account.py +54 -0
  15. ynab_api_cli/generated/api/accounts/get_account_by_id.py +53 -0
  16. ynab_api_cli/generated/api/accounts/get_accounts.py +57 -0
  17. ynab_api_cli/generated/api/categories/__init__.py +3 -0
  18. ynab_api_cli/generated/api/categories/create_category.py +54 -0
  19. ynab_api_cli/generated/api/categories/create_category_group.py +58 -0
  20. ynab_api_cli/generated/api/categories/get_categories.py +57 -0
  21. ynab_api_cli/generated/api/categories/get_category_by_id.py +52 -0
  22. ynab_api_cli/generated/api/categories/get_month_category_by_id.py +58 -0
  23. ynab_api_cli/generated/api/categories/update_category.py +57 -0
  24. ynab_api_cli/generated/api/categories/update_category_group.py +63 -0
  25. ynab_api_cli/generated/api/categories/update_month_category.py +65 -0
  26. ynab_api_cli/generated/api/money_movements/__init__.py +3 -0
  27. ynab_api_cli/generated/api/money_movements/get_money_movement_groups.py +51 -0
  28. ynab_api_cli/generated/api/money_movements/get_money_movement_groups_by_month.py +57 -0
  29. ynab_api_cli/generated/api/money_movements/get_money_movements.py +51 -0
  30. ynab_api_cli/generated/api/money_movements/get_money_movements_by_month.py +57 -0
  31. ynab_api_cli/generated/api/months/__init__.py +3 -0
  32. ynab_api_cli/generated/api/months/get_plan_month.py +55 -0
  33. ynab_api_cli/generated/api/months/get_plan_months.py +59 -0
  34. ynab_api_cli/generated/api/payee_locations/__init__.py +3 -0
  35. ynab_api_cli/generated/api/payee_locations/get_payee_location_by_id.py +54 -0
  36. ynab_api_cli/generated/api/payee_locations/get_payee_locations.py +51 -0
  37. ynab_api_cli/generated/api/payee_locations/get_payee_locations_by_payee.py +54 -0
  38. ynab_api_cli/generated/api/payees/__init__.py +3 -0
  39. ynab_api_cli/generated/api/payees/create_payee.py +54 -0
  40. ynab_api_cli/generated/api/payees/get_payee_by_id.py +52 -0
  41. ynab_api_cli/generated/api/payees/get_payees.py +57 -0
  42. ynab_api_cli/generated/api/payees/update_payee.py +57 -0
  43. ynab_api_cli/generated/api/plans/__init__.py +3 -0
  44. ynab_api_cli/generated/api/plans/get_plan_by_id.py +57 -0
  45. ynab_api_cli/generated/api/plans/get_plan_settings_by_id.py +49 -0
  46. ynab_api_cli/generated/api/plans/get_plans.py +51 -0
  47. ynab_api_cli/generated/api/scheduled_transactions/__init__.py +3 -0
  48. ynab_api_cli/generated/api/scheduled_transactions/create_scheduled_transaction.py +58 -0
  49. ynab_api_cli/generated/api/scheduled_transactions/delete_scheduled_transaction.py +56 -0
  50. ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transaction_by_id.py +56 -0
  51. ynab_api_cli/generated/api/scheduled_transactions/get_scheduled_transactions.py +59 -0
  52. ynab_api_cli/generated/api/scheduled_transactions/update_scheduled_transaction.py +63 -0
  53. ynab_api_cli/generated/api/transactions/__init__.py +3 -0
  54. ynab_api_cli/generated/api/transactions/create_transaction.py +58 -0
  55. ynab_api_cli/generated/api/transactions/delete_transaction.py +54 -0
  56. ynab_api_cli/generated/api/transactions/get_transaction_by_id.py +54 -0
  57. ynab_api_cli/generated/api/transactions/get_transactions.py +80 -0
  58. ynab_api_cli/generated/api/transactions/get_transactions_by_account.py +87 -0
  59. ynab_api_cli/generated/api/transactions/get_transactions_by_category.py +89 -0
  60. ynab_api_cli/generated/api/transactions/get_transactions_by_month.py +87 -0
  61. ynab_api_cli/generated/api/transactions/get_transactions_by_payee.py +89 -0
  62. ynab_api_cli/generated/api/transactions/import_transactions.py +54 -0
  63. ynab_api_cli/generated/api/transactions/update_transaction.py +59 -0
  64. ynab_api_cli/generated/api/transactions/update_transactions.py +58 -0
  65. ynab_api_cli/generated/api/user/__init__.py +3 -0
  66. ynab_api_cli/generated/api/user/get_user.py +42 -0
  67. ynab_api_cli/generated/bindings.py +141 -0
  68. ynab_api_cli/generated/models/__init__.py +416 -0
  69. ynab_api_cli/generated/models/account.py +71 -0
  70. ynab_api_cli/generated/models/account_base.py +57 -0
  71. ynab_api_cli/generated/models/account_response.py +19 -0
  72. ynab_api_cli/generated/models/account_response_data.py +19 -0
  73. ynab_api_cli/generated/models/account_type.py +23 -0
  74. ynab_api_cli/generated/models/accounts_response.py +21 -0
  75. ynab_api_cli/generated/models/accounts_response_data.py +20 -0
  76. ynab_api_cli/generated/models/bulk_response.py +19 -0
  77. ynab_api_cli/generated/models/bulk_response_data.py +21 -0
  78. ynab_api_cli/generated/models/bulk_response_data_bulk.py +15 -0
  79. ynab_api_cli/generated/models/bulk_transactions.py +21 -0
  80. ynab_api_cli/generated/models/categories_response.py +21 -0
  81. ynab_api_cli/generated/models/categories_response_data.py +22 -0
  82. ynab_api_cli/generated/models/category.py +104 -0
  83. ynab_api_cli/generated/models/category_base.py +74 -0
  84. ynab_api_cli/generated/models/category_group.py +20 -0
  85. ynab_api_cli/generated/models/category_group_with_categories.py +25 -0
  86. ynab_api_cli/generated/models/category_response.py +21 -0
  87. ynab_api_cli/generated/models/category_response_data.py +19 -0
  88. ynab_api_cli/generated/models/currency_format_type_0.py +21 -0
  89. ynab_api_cli/generated/models/date_format_type_0.py +14 -0
  90. ynab_api_cli/generated/models/debt_1.py +18 -0
  91. ynab_api_cli/generated/models/debt_2.py +18 -0
  92. ynab_api_cli/generated/models/debt_3.py +18 -0
  93. ynab_api_cli/generated/models/error_detail.py +16 -0
  94. ynab_api_cli/generated/models/error_response.py +19 -0
  95. ynab_api_cli/generated/models/existing_category.py +34 -0
  96. ynab_api_cli/generated/models/existing_transaction.py +43 -0
  97. ynab_api_cli/generated/models/flag_1.py +17 -0
  98. ynab_api_cli/generated/models/flag_2.py +17 -0
  99. ynab_api_cli/generated/models/flag_3.py +17 -0
  100. ynab_api_cli/generated/models/get_transactions_by_account_type.py +12 -0
  101. ynab_api_cli/generated/models/get_transactions_by_category_type.py +12 -0
  102. ynab_api_cli/generated/models/get_transactions_by_month_type.py +12 -0
  103. ynab_api_cli/generated/models/get_transactions_by_payee_type.py +12 -0
  104. ynab_api_cli/generated/models/get_transactions_type.py +12 -0
  105. ynab_api_cli/generated/models/goal_1.py +15 -0
  106. ynab_api_cli/generated/models/goal_2.py +15 -0
  107. ynab_api_cli/generated/models/goal_3.py +15 -0
  108. ynab_api_cli/generated/models/hybrid_transaction.py +70 -0
  109. ynab_api_cli/generated/models/hybrid_transaction_type.py +12 -0
  110. ynab_api_cli/generated/models/hybrid_transactions_response.py +21 -0
  111. ynab_api_cli/generated/models/hybrid_transactions_response_data.py +22 -0
  112. ynab_api_cli/generated/models/loan_account_periodic_value_type_0.py +33 -0
  113. ynab_api_cli/generated/models/money_movement.py +35 -0
  114. ynab_api_cli/generated/models/money_movement_base.py +33 -0
  115. ynab_api_cli/generated/models/money_movement_group.py +25 -0
  116. ynab_api_cli/generated/models/money_movement_groups_response.py +21 -0
  117. ynab_api_cli/generated/models/money_movement_groups_response_data.py +22 -0
  118. ynab_api_cli/generated/models/money_movements_response.py +21 -0
  119. ynab_api_cli/generated/models/money_movements_response_data.py +20 -0
  120. ynab_api_cli/generated/models/month_detail.py +42 -0
  121. ynab_api_cli/generated/models/month_detail_base.py +30 -0
  122. ynab_api_cli/generated/models/month_detail_response.py +21 -0
  123. ynab_api_cli/generated/models/month_detail_response_data.py +19 -0
  124. ynab_api_cli/generated/models/month_summaries_response.py +21 -0
  125. ynab_api_cli/generated/models/month_summaries_response_data.py +20 -0
  126. ynab_api_cli/generated/models/month_summary.py +37 -0
  127. ynab_api_cli/generated/models/month_summary_base.py +25 -0
  128. ynab_api_cli/generated/models/new_category.py +34 -0
  129. ynab_api_cli/generated/models/new_transaction.py +44 -0
  130. ynab_api_cli/generated/models/patch_category_group_wrapper.py +19 -0
  131. ynab_api_cli/generated/models/patch_category_wrapper.py +19 -0
  132. ynab_api_cli/generated/models/patch_month_category_wrapper.py +19 -0
  133. ynab_api_cli/generated/models/patch_payee_wrapper.py +19 -0
  134. ynab_api_cli/generated/models/patch_transactions_wrapper.py +21 -0
  135. ynab_api_cli/generated/models/payee.py +23 -0
  136. ynab_api_cli/generated/models/payee_location.py +20 -0
  137. ynab_api_cli/generated/models/payee_location_response.py +21 -0
  138. ynab_api_cli/generated/models/payee_location_response_data.py +19 -0
  139. ynab_api_cli/generated/models/payee_locations_response.py +21 -0
  140. ynab_api_cli/generated/models/payee_locations_response_data.py +19 -0
  141. ynab_api_cli/generated/models/payee_response.py +19 -0
  142. ynab_api_cli/generated/models/payee_response_data.py +19 -0
  143. ynab_api_cli/generated/models/payees_response.py +19 -0
  144. ynab_api_cli/generated/models/payees_response_data.py +20 -0
  145. ynab_api_cli/generated/models/plan_detail.py +74 -0
  146. ynab_api_cli/generated/models/plan_detail_response.py +21 -0
  147. ynab_api_cli/generated/models/plan_detail_response_data.py +20 -0
  148. ynab_api_cli/generated/models/plan_settings.py +21 -0
  149. ynab_api_cli/generated/models/plan_settings_response.py +21 -0
  150. ynab_api_cli/generated/models/plan_settings_response_data.py +19 -0
  151. ynab_api_cli/generated/models/plan_summary.py +38 -0
  152. ynab_api_cli/generated/models/plan_summary_response.py +21 -0
  153. ynab_api_cli/generated/models/plan_summary_response_data.py +24 -0
  154. ynab_api_cli/generated/models/post_account_wrapper.py +19 -0
  155. ynab_api_cli/generated/models/post_category_group_wrapper.py +19 -0
  156. ynab_api_cli/generated/models/post_category_wrapper.py +19 -0
  157. ynab_api_cli/generated/models/post_payee.py +14 -0
  158. ynab_api_cli/generated/models/post_payee_wrapper.py +19 -0
  159. ynab_api_cli/generated/models/post_scheduled_transaction_wrapper.py +23 -0
  160. ynab_api_cli/generated/models/post_transactions_wrapper.py +24 -0
  161. ynab_api_cli/generated/models/put_scheduled_transaction_wrapper.py +23 -0
  162. ynab_api_cli/generated/models/put_transaction_wrapper.py +19 -0
  163. ynab_api_cli/generated/models/save_account.py +18 -0
  164. ynab_api_cli/generated/models/save_account_type.py +16 -0
  165. ynab_api_cli/generated/models/save_category.py +34 -0
  166. ynab_api_cli/generated/models/save_category_goal_frequency.py +13 -0
  167. ynab_api_cli/generated/models/save_category_group.py +14 -0
  168. ynab_api_cli/generated/models/save_category_group_response.py +21 -0
  169. ynab_api_cli/generated/models/save_category_group_response_data.py +20 -0
  170. ynab_api_cli/generated/models/save_category_response.py +21 -0
  171. ynab_api_cli/generated/models/save_category_response_data.py +20 -0
  172. ynab_api_cli/generated/models/save_month_category.py +14 -0
  173. ynab_api_cli/generated/models/save_payee.py +16 -0
  174. ynab_api_cli/generated/models/save_payee_response.py +21 -0
  175. ynab_api_cli/generated/models/save_payee_response_data.py +20 -0
  176. ynab_api_cli/generated/models/save_scheduled_transaction.py +37 -0
  177. ynab_api_cli/generated/models/save_sub_transaction.py +22 -0
  178. ynab_api_cli/generated/models/save_transaction_with_id_or_import_id.py +45 -0
  179. ynab_api_cli/generated/models/save_transaction_with_optional_fields.py +43 -0
  180. ynab_api_cli/generated/models/save_transactions_response.py +21 -0
  181. ynab_api_cli/generated/models/save_transactions_response_data.py +29 -0
  182. ynab_api_cli/generated/models/scheduled_sub_transaction.py +31 -0
  183. ynab_api_cli/generated/models/scheduled_sub_transaction_base.py +29 -0
  184. ynab_api_cli/generated/models/scheduled_transaction_detail.py +53 -0
  185. ynab_api_cli/generated/models/scheduled_transaction_frequency.py +23 -0
  186. ynab_api_cli/generated/models/scheduled_transaction_response.py +21 -0
  187. ynab_api_cli/generated/models/scheduled_transaction_response_data.py +23 -0
  188. ynab_api_cli/generated/models/scheduled_transaction_summary.py +43 -0
  189. ynab_api_cli/generated/models/scheduled_transaction_summary_base.py +41 -0
  190. ynab_api_cli/generated/models/scheduled_transaction_summary_base_frequency.py +23 -0
  191. ynab_api_cli/generated/models/scheduled_transactions_response.py +21 -0
  192. ynab_api_cli/generated/models/scheduled_transactions_response_data.py +24 -0
  193. ynab_api_cli/generated/models/sub_transaction.py +34 -0
  194. ynab_api_cli/generated/models/sub_transaction_base.py +32 -0
  195. ynab_api_cli/generated/models/transaction_cleared_status.py +13 -0
  196. ynab_api_cli/generated/models/transaction_detail.py +70 -0
  197. ynab_api_cli/generated/models/transaction_response.py +21 -0
  198. ynab_api_cli/generated/models/transaction_response_data.py +20 -0
  199. ynab_api_cli/generated/models/transaction_summary.py +62 -0
  200. ynab_api_cli/generated/models/transaction_summary_base.py +60 -0
  201. ynab_api_cli/generated/models/transactions_import_response.py +21 -0
  202. ynab_api_cli/generated/models/transactions_import_response_data.py +14 -0
  203. ynab_api_cli/generated/models/transactions_response.py +21 -0
  204. ynab_api_cli/generated/models/transactions_response_data.py +20 -0
  205. ynab_api_cli/generated/models/user.py +16 -0
  206. ynab_api_cli/generated/models/user_response.py +19 -0
  207. ynab_api_cli/generated/models/user_response_data.py +19 -0
  208. ynab_api_cli/live.py +449 -0
  209. ynab_api_cli/py.typed +0 -0
  210. ynab_api_cli/resources/__init__.py +3 -0
  211. ynab_api_cli/resources/catalog.json +178 -0
  212. ynab_api_cli/resources/openapi.yaml +4035 -0
  213. ynab_api_cli/resources/provenance.json +9 -0
  214. ynab_api_cli/resources/schema_features.json +913 -0
  215. ynab_api_cli/resources/skill/SKILL.md +21 -0
  216. ynab_api_cli/resources/skill/references/operations.md +36 -0
  217. ynab_api_cli/resources/skill/references/setup.md +32 -0
  218. ynab_api_cli/security.py +83 -0
  219. ynab_api_cli/transport.py +133 -0
  220. ynab_api_cli/types.py +110 -0
  221. ynab_api_cli/verification.py +167 -0
  222. ynab_api_cli-0.1.0.dist-info/METADATA +90 -0
  223. ynab_api_cli-0.1.0.dist-info/RECORD +225 -0
  224. ynab_api_cli-0.1.0.dist-info/WHEEL +4 -0
  225. ynab_api_cli-0.1.0.dist-info/entry_points.txt +3 -0
@@ -0,0 +1,34 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import datetime
6
+ from uuid import UUID
7
+
8
+ from pydantic import BaseModel, ConfigDict, Field
9
+
10
+ from ynab_api_cli.generated.models.save_category_goal_frequency import (
11
+ SaveCategoryGoalFrequency,
12
+ )
13
+ from ynab_api_cli.types import UNSET, Unset
14
+
15
+
16
+ class NewCategory(BaseModel):
17
+ """Typed NewCategory contract representation."""
18
+
19
+ model_config = ConfigDict(
20
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
21
+ )
22
+ name: str | None = Field(alias="name")
23
+ category_group_id: UUID = Field(alias="category_group_id")
24
+ note: str | Unset | None = Field(alias="note", default=UNSET)
25
+ goal_target: int | Unset | None = Field(alias="goal_target", default=UNSET)
26
+ goal_target_date: datetime.date | Unset | None = Field(
27
+ alias="goal_target_date", default=UNSET
28
+ )
29
+ goal_needs_whole_amount: bool | Unset | None = Field(
30
+ alias="goal_needs_whole_amount", default=UNSET
31
+ )
32
+ goal_frequency: SaveCategoryGoalFrequency | Unset = Field(
33
+ alias="goal_frequency", default=UNSET
34
+ )
@@ -0,0 +1,44 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import datetime
6
+ from typing import TYPE_CHECKING
7
+ from uuid import UUID
8
+
9
+ from pydantic import BaseModel, ConfigDict, Field
10
+
11
+ from ynab_api_cli.generated.models.flag_1 import Flag1
12
+ from ynab_api_cli.generated.models.flag_2 import Flag2
13
+ from ynab_api_cli.generated.models.flag_3 import Flag3
14
+ from ynab_api_cli.generated.models.transaction_cleared_status import (
15
+ TransactionClearedStatus,
16
+ )
17
+ from ynab_api_cli.types import UNSET, Unset
18
+
19
+ if TYPE_CHECKING:
20
+ from ynab_api_cli.generated.models.save_sub_transaction import SaveSubTransaction
21
+
22
+
23
+ class NewTransaction(BaseModel):
24
+ """Typed NewTransaction contract representation."""
25
+
26
+ model_config = ConfigDict(
27
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
28
+ )
29
+ account_id: UUID | Unset = Field(alias="account_id", default=UNSET)
30
+ date: datetime.date | Unset = Field(alias="date", default=UNSET)
31
+ amount: int | Unset = Field(alias="amount", default=UNSET)
32
+ payee_id: Unset | UUID | None = Field(alias="payee_id", default=UNSET)
33
+ payee_name: str | Unset | None = Field(alias="payee_name", default=UNSET)
34
+ category_id: Unset | UUID | None = Field(alias="category_id", default=UNSET)
35
+ memo: str | Unset | None = Field(alias="memo", default=UNSET)
36
+ cleared: TransactionClearedStatus | Unset = Field(alias="cleared", default=UNSET)
37
+ approved: bool | Unset = Field(alias="approved", default=UNSET)
38
+ flag_color: Flag1 | Flag2 | Flag3 | Unset | None = Field(
39
+ alias="flag_color", default=UNSET
40
+ )
41
+ subtransactions: list[SaveSubTransaction] | Unset = Field(
42
+ alias="subtransactions", default=UNSET
43
+ )
44
+ import_id: str | Unset | None = Field(alias="import_id", default=UNSET)
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.save_category_group import SaveCategoryGroup
11
+
12
+
13
+ class PatchCategoryGroupWrapper(BaseModel):
14
+ """Typed PatchCategoryGroupWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ category_group: SaveCategoryGroup = Field(alias="category_group")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.existing_category import ExistingCategory
11
+
12
+
13
+ class PatchCategoryWrapper(BaseModel):
14
+ """Typed PatchCategoryWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ category: ExistingCategory = Field(alias="category")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.save_month_category import SaveMonthCategory
11
+
12
+
13
+ class PatchMonthCategoryWrapper(BaseModel):
14
+ """Typed PatchMonthCategoryWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ category: SaveMonthCategory = Field(alias="category")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.save_payee import SavePayee
11
+
12
+
13
+ class PatchPayeeWrapper(BaseModel):
14
+ """Typed PatchPayeeWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ payee: SavePayee = Field(alias="payee")
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.save_transaction_with_id_or_import_id import (
11
+ SaveTransactionWithIdOrImportId,
12
+ )
13
+
14
+
15
+ class PatchTransactionsWrapper(BaseModel):
16
+ """Typed PatchTransactionsWrapper contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ transactions: list[SaveTransactionWithIdOrImportId] = Field(alias="transactions")
@@ -0,0 +1,23 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from uuid import UUID
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ from ynab_api_cli.types import UNSET, Unset
10
+
11
+
12
+ class Payee(BaseModel):
13
+ """Typed Payee contract representation."""
14
+
15
+ model_config = ConfigDict(
16
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
17
+ )
18
+ id: UUID = Field(alias="id")
19
+ name: str = Field(alias="name")
20
+ deleted: bool = Field(alias="deleted")
21
+ transfer_account_id: str | Unset | None = Field(
22
+ alias="transfer_account_id", default=UNSET
23
+ )
@@ -0,0 +1,20 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from uuid import UUID
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+
10
+ class PayeeLocation(BaseModel):
11
+ """Typed PayeeLocation contract representation."""
12
+
13
+ model_config = ConfigDict(
14
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
15
+ )
16
+ id: UUID = Field(alias="id")
17
+ payee_id: UUID = Field(alias="payee_id")
18
+ latitude: str = Field(alias="latitude")
19
+ longitude: str = Field(alias="longitude")
20
+ deleted: bool = Field(alias="deleted")
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payee_location_response_data import (
11
+ PayeeLocationResponseData,
12
+ )
13
+
14
+
15
+ class PayeeLocationResponse(BaseModel):
16
+ """Typed PayeeLocationResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: PayeeLocationResponseData = Field(alias="data")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payee_location import PayeeLocation
11
+
12
+
13
+ class PayeeLocationResponseData(BaseModel):
14
+ """Typed PayeeLocationResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ payee_location: PayeeLocation = Field(alias="payee_location")
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payee_locations_response_data import (
11
+ PayeeLocationsResponseData,
12
+ )
13
+
14
+
15
+ class PayeeLocationsResponse(BaseModel):
16
+ """Typed PayeeLocationsResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: PayeeLocationsResponseData = Field(alias="data")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payee_location import PayeeLocation
11
+
12
+
13
+ class PayeeLocationsResponseData(BaseModel):
14
+ """Typed PayeeLocationsResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ payee_locations: list[PayeeLocation] = Field(alias="payee_locations")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payee_response_data import PayeeResponseData
11
+
12
+
13
+ class PayeeResponse(BaseModel):
14
+ """Typed PayeeResponse contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ data: PayeeResponseData = Field(alias="data")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payee import Payee
11
+
12
+
13
+ class PayeeResponseData(BaseModel):
14
+ """Typed PayeeResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ payee: Payee = Field(alias="payee")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payees_response_data import PayeesResponseData
11
+
12
+
13
+ class PayeesResponse(BaseModel):
14
+ """Typed PayeesResponse contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ data: PayeesResponseData = Field(alias="data")
@@ -0,0 +1,20 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.payee import Payee
11
+
12
+
13
+ class PayeesResponseData(BaseModel):
14
+ """Typed PayeesResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ payees: list[Payee] = Field(alias="payees")
20
+ server_knowledge: int = Field(alias="server_knowledge")
@@ -0,0 +1,74 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import datetime
6
+ from typing import TYPE_CHECKING
7
+ from uuid import UUID
8
+
9
+ from pydantic import BaseModel, ConfigDict, Field
10
+
11
+ from ynab_api_cli.types import UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from ynab_api_cli.generated.models.account import Account
15
+ from ynab_api_cli.generated.models.category_base import CategoryBase
16
+ from ynab_api_cli.generated.models.category_group import CategoryGroup
17
+ from ynab_api_cli.generated.models.currency_format_type_0 import CurrencyFormatType0
18
+ from ynab_api_cli.generated.models.date_format_type_0 import DateFormatType0
19
+ from ynab_api_cli.generated.models.month_detail_base import MonthDetailBase
20
+ from ynab_api_cli.generated.models.payee import Payee
21
+ from ynab_api_cli.generated.models.payee_location import PayeeLocation
22
+ from ynab_api_cli.generated.models.scheduled_sub_transaction_base import (
23
+ ScheduledSubTransactionBase,
24
+ )
25
+ from ynab_api_cli.generated.models.scheduled_transaction_summary_base import (
26
+ ScheduledTransactionSummaryBase,
27
+ )
28
+ from ynab_api_cli.generated.models.sub_transaction_base import SubTransactionBase
29
+ from ynab_api_cli.generated.models.transaction_summary_base import (
30
+ TransactionSummaryBase,
31
+ )
32
+
33
+
34
+ class PlanDetail(BaseModel):
35
+ """Typed PlanDetail contract representation."""
36
+
37
+ model_config = ConfigDict(
38
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
39
+ )
40
+ id: UUID = Field(alias="id")
41
+ name: str = Field(alias="name")
42
+ last_modified_on: datetime.datetime | Unset = Field(
43
+ alias="last_modified_on", default=UNSET
44
+ )
45
+ first_month: datetime.date | Unset = Field(alias="first_month", default=UNSET)
46
+ last_month: datetime.date | Unset = Field(alias="last_month", default=UNSET)
47
+ date_format: DateFormatType0 | Unset | None = Field(
48
+ alias="date_format", default=UNSET
49
+ )
50
+ currency_format: CurrencyFormatType0 | Unset | None = Field(
51
+ alias="currency_format", default=UNSET
52
+ )
53
+ accounts: list[Account] | Unset = Field(alias="accounts", default=UNSET)
54
+ payees: list[Payee] | Unset = Field(alias="payees", default=UNSET)
55
+ payee_locations: list[PayeeLocation] | Unset = Field(
56
+ alias="payee_locations", default=UNSET
57
+ )
58
+ category_groups: list[CategoryGroup] | Unset = Field(
59
+ alias="category_groups", default=UNSET
60
+ )
61
+ categories: list[CategoryBase] | Unset = Field(alias="categories", default=UNSET)
62
+ months: list[MonthDetailBase] | Unset = Field(alias="months", default=UNSET)
63
+ transactions: list[TransactionSummaryBase] | Unset = Field(
64
+ alias="transactions", default=UNSET
65
+ )
66
+ subtransactions: list[SubTransactionBase] | Unset = Field(
67
+ alias="subtransactions", default=UNSET
68
+ )
69
+ scheduled_transactions: list[ScheduledTransactionSummaryBase] | Unset = Field(
70
+ alias="scheduled_transactions", default=UNSET
71
+ )
72
+ scheduled_subtransactions: list[ScheduledSubTransactionBase] | Unset = Field(
73
+ alias="scheduled_subtransactions", default=UNSET
74
+ )
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.plan_detail_response_data import (
11
+ PlanDetailResponseData,
12
+ )
13
+
14
+
15
+ class PlanDetailResponse(BaseModel):
16
+ """Typed PlanDetailResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: PlanDetailResponseData = Field(alias="data")
@@ -0,0 +1,20 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.plan_detail import PlanDetail
11
+
12
+
13
+ class PlanDetailResponseData(BaseModel):
14
+ """Typed PlanDetailResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ plan: PlanDetail = Field(alias="plan")
20
+ server_knowledge: int = Field(alias="server_knowledge")
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.currency_format_type_0 import CurrencyFormatType0
11
+ from ynab_api_cli.generated.models.date_format_type_0 import DateFormatType0
12
+
13
+
14
+ class PlanSettings(BaseModel):
15
+ """Typed PlanSettings contract representation."""
16
+
17
+ model_config = ConfigDict(
18
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
19
+ )
20
+ date_format: DateFormatType0 | None = Field(alias="date_format")
21
+ currency_format: CurrencyFormatType0 | None = Field(alias="currency_format")
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.plan_settings_response_data import (
11
+ PlanSettingsResponseData,
12
+ )
13
+
14
+
15
+ class PlanSettingsResponse(BaseModel):
16
+ """Typed PlanSettingsResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: PlanSettingsResponseData = Field(alias="data")
@@ -0,0 +1,19 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.plan_settings import PlanSettings
11
+
12
+
13
+ class PlanSettingsResponseData(BaseModel):
14
+ """Typed PlanSettingsResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ settings: PlanSettings = Field(alias="settings")
@@ -0,0 +1,38 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import datetime
6
+ from typing import TYPE_CHECKING
7
+ from uuid import UUID
8
+
9
+ from pydantic import BaseModel, ConfigDict, Field
10
+
11
+ from ynab_api_cli.types import UNSET, Unset
12
+
13
+ if TYPE_CHECKING:
14
+ from ynab_api_cli.generated.models.account import Account
15
+ from ynab_api_cli.generated.models.currency_format_type_0 import CurrencyFormatType0
16
+ from ynab_api_cli.generated.models.date_format_type_0 import DateFormatType0
17
+
18
+
19
+ class PlanSummary(BaseModel):
20
+ """Typed PlanSummary contract representation."""
21
+
22
+ model_config = ConfigDict(
23
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
24
+ )
25
+ id: UUID = Field(alias="id")
26
+ name: str = Field(alias="name")
27
+ last_modified_on: datetime.datetime | Unset = Field(
28
+ alias="last_modified_on", default=UNSET
29
+ )
30
+ first_month: datetime.date | Unset = Field(alias="first_month", default=UNSET)
31
+ last_month: datetime.date | Unset = Field(alias="last_month", default=UNSET)
32
+ date_format: DateFormatType0 | Unset | None = Field(
33
+ alias="date_format", default=UNSET
34
+ )
35
+ currency_format: CurrencyFormatType0 | Unset | None = Field(
36
+ alias="currency_format", default=UNSET
37
+ )
38
+ accounts: list[Account] | Unset = Field(alias="accounts", default=UNSET)
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ if TYPE_CHECKING:
10
+ from ynab_api_cli.generated.models.plan_summary_response_data import (
11
+ PlanSummaryResponseData,
12
+ )
13
+
14
+
15
+ class PlanSummaryResponse(BaseModel):
16
+ """Typed PlanSummaryResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: PlanSummaryResponseData = Field(alias="data")
@@ -0,0 +1,24 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+
7
+ from pydantic import BaseModel, ConfigDict, Field
8
+
9
+ from ynab_api_cli.types import UNSET, Unset
10
+
11
+ if TYPE_CHECKING:
12
+ from ynab_api_cli.generated.models.plan_summary import PlanSummary
13
+
14
+
15
+ class PlanSummaryResponseData(BaseModel):
16
+ """Typed PlanSummaryResponseData contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ plans: list[PlanSummary] = Field(alias="plans")
22
+ default_plan: PlanSummary | Unset | None = Field(
23
+ alias="default_plan", default=UNSET
24
+ )