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,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.bulk_response_data_bulk import (
11
+ BulkResponseDataBulk,
12
+ )
13
+
14
+
15
+ class BulkResponseData(BaseModel):
16
+ """Typed BulkResponseData contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ bulk: BulkResponseDataBulk = Field(alias="bulk")
@@ -0,0 +1,15 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pydantic import BaseModel, ConfigDict, Field
6
+
7
+
8
+ class BulkResponseDataBulk(BaseModel):
9
+ """Typed BulkResponseDataBulk contract representation."""
10
+
11
+ model_config = ConfigDict(
12
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
13
+ )
14
+ transaction_ids: list[str] = Field(alias="transaction_ids")
15
+ duplicate_import_ids: list[str] = Field(alias="duplicate_import_ids")
@@ -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_optional_fields import (
11
+ SaveTransactionWithOptionalFields,
12
+ )
13
+
14
+
15
+ class BulkTransactions(BaseModel):
16
+ """Typed BulkTransactions contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ transactions: list[SaveTransactionWithOptionalFields] = Field(alias="transactions")
@@ -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.categories_response_data import (
11
+ CategoriesResponseData,
12
+ )
13
+
14
+
15
+ class CategoriesResponse(BaseModel):
16
+ """Typed CategoriesResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: CategoriesResponseData = Field(alias="data")
@@ -0,0 +1,22 @@
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.category_group_with_categories import (
11
+ CategoryGroupWithCategories,
12
+ )
13
+
14
+
15
+ class CategoriesResponseData(BaseModel):
16
+ """Typed CategoriesResponseData contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ category_groups: list[CategoryGroupWithCategories] = Field(alias="category_groups")
22
+ server_knowledge: int = Field(alias="server_knowledge")
@@ -0,0 +1,104 @@
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.goal_1 import Goal1
11
+ from ynab_api_cli.generated.models.goal_2 import Goal2
12
+ from ynab_api_cli.generated.models.goal_3 import Goal3
13
+ from ynab_api_cli.types import UNSET, Unset
14
+
15
+
16
+ class Category(BaseModel):
17
+ """Typed Category contract representation."""
18
+
19
+ model_config = ConfigDict(
20
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
21
+ )
22
+ id: UUID = Field(alias="id")
23
+ category_group_id: UUID = Field(alias="category_group_id")
24
+ name: str = Field(alias="name")
25
+ hidden: bool = Field(alias="hidden")
26
+ internal: bool = Field(alias="internal")
27
+ budgeted: int = Field(alias="budgeted")
28
+ activity: int = Field(alias="activity")
29
+ balance: int = Field(alias="balance")
30
+ deleted: bool = Field(alias="deleted")
31
+ category_group_name: str | Unset = Field(alias="category_group_name", default=UNSET)
32
+ original_category_group_id: Unset | UUID | None = Field(
33
+ alias="original_category_group_id", default=UNSET
34
+ )
35
+ note: str | Unset | None = Field(alias="note", default=UNSET)
36
+ goal_type: Goal1 | Goal2 | Goal3 | Unset | None = Field(
37
+ alias="goal_type", default=UNSET
38
+ )
39
+ goal_needs_whole_amount: bool | Unset | None = Field(
40
+ alias="goal_needs_whole_amount", default=UNSET
41
+ )
42
+ goal_day: int | Unset | None = Field(alias="goal_day", default=UNSET)
43
+ goal_cadence: int | Unset | None = Field(alias="goal_cadence", default=UNSET)
44
+ goal_cadence_frequency: int | Unset | None = Field(
45
+ alias="goal_cadence_frequency", default=UNSET
46
+ )
47
+ goal_creation_month: datetime.date | Unset | None = Field(
48
+ alias="goal_creation_month", default=UNSET
49
+ )
50
+ goal_target: int | Unset | None = Field(alias="goal_target", default=UNSET)
51
+ goal_target_month: datetime.date | Unset | None = Field(
52
+ alias="goal_target_month", default=UNSET
53
+ )
54
+ goal_target_date: datetime.date | Unset | None = Field(
55
+ alias="goal_target_date", default=UNSET
56
+ )
57
+ goal_percentage_complete: int | Unset | None = Field(
58
+ alias="goal_percentage_complete", default=UNSET
59
+ )
60
+ goal_months_to_budget: int | Unset | None = Field(
61
+ alias="goal_months_to_budget", default=UNSET
62
+ )
63
+ goal_under_funded: int | Unset | None = Field(
64
+ alias="goal_under_funded", default=UNSET
65
+ )
66
+ goal_overall_funded: int | Unset | None = Field(
67
+ alias="goal_overall_funded", default=UNSET
68
+ )
69
+ goal_overall_left: int | Unset | None = Field(
70
+ alias="goal_overall_left", default=UNSET
71
+ )
72
+ goal_snoozed_at: datetime.datetime | Unset | None = Field(
73
+ alias="goal_snoozed_at", default=UNSET
74
+ )
75
+ balance_formatted: str | Unset = Field(alias="balance_formatted", default=UNSET)
76
+ balance_currency: float | Unset = Field(alias="balance_currency", default=UNSET)
77
+ activity_formatted: str | Unset = Field(alias="activity_formatted", default=UNSET)
78
+ activity_currency: float | Unset = Field(alias="activity_currency", default=UNSET)
79
+ budgeted_formatted: str | Unset = Field(alias="budgeted_formatted", default=UNSET)
80
+ budgeted_currency: float | Unset = Field(alias="budgeted_currency", default=UNSET)
81
+ goal_target_formatted: str | Unset | None = Field(
82
+ alias="goal_target_formatted", default=UNSET
83
+ )
84
+ goal_target_currency: float | Unset | None = Field(
85
+ alias="goal_target_currency", default=UNSET
86
+ )
87
+ goal_under_funded_formatted: str | Unset | None = Field(
88
+ alias="goal_under_funded_formatted", default=UNSET
89
+ )
90
+ goal_under_funded_currency: float | Unset | None = Field(
91
+ alias="goal_under_funded_currency", default=UNSET
92
+ )
93
+ goal_overall_funded_formatted: str | Unset | None = Field(
94
+ alias="goal_overall_funded_formatted", default=UNSET
95
+ )
96
+ goal_overall_funded_currency: float | Unset | None = Field(
97
+ alias="goal_overall_funded_currency", default=UNSET
98
+ )
99
+ goal_overall_left_formatted: str | Unset | None = Field(
100
+ alias="goal_overall_left_formatted", default=UNSET
101
+ )
102
+ goal_overall_left_currency: float | Unset | None = Field(
103
+ alias="goal_overall_left_currency", default=UNSET
104
+ )
@@ -0,0 +1,74 @@
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.goal_1 import Goal1
11
+ from ynab_api_cli.generated.models.goal_2 import Goal2
12
+ from ynab_api_cli.generated.models.goal_3 import Goal3
13
+ from ynab_api_cli.types import UNSET, Unset
14
+
15
+
16
+ class CategoryBase(BaseModel):
17
+ """Typed CategoryBase contract representation."""
18
+
19
+ model_config = ConfigDict(
20
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
21
+ )
22
+ id: UUID = Field(alias="id")
23
+ category_group_id: UUID = Field(alias="category_group_id")
24
+ name: str = Field(alias="name")
25
+ hidden: bool = Field(alias="hidden")
26
+ internal: bool = Field(alias="internal")
27
+ budgeted: int = Field(alias="budgeted")
28
+ activity: int = Field(alias="activity")
29
+ balance: int = Field(alias="balance")
30
+ deleted: bool = Field(alias="deleted")
31
+ category_group_name: str | Unset = Field(alias="category_group_name", default=UNSET)
32
+ original_category_group_id: Unset | UUID | None = Field(
33
+ alias="original_category_group_id", default=UNSET
34
+ )
35
+ note: str | Unset | None = Field(alias="note", default=UNSET)
36
+ goal_type: Goal1 | Goal2 | Goal3 | Unset | None = Field(
37
+ alias="goal_type", default=UNSET
38
+ )
39
+ goal_needs_whole_amount: bool | Unset | None = Field(
40
+ alias="goal_needs_whole_amount", default=UNSET
41
+ )
42
+ goal_day: int | Unset | None = Field(alias="goal_day", default=UNSET)
43
+ goal_cadence: int | Unset | None = Field(alias="goal_cadence", default=UNSET)
44
+ goal_cadence_frequency: int | Unset | None = Field(
45
+ alias="goal_cadence_frequency", default=UNSET
46
+ )
47
+ goal_creation_month: datetime.date | Unset | None = Field(
48
+ alias="goal_creation_month", default=UNSET
49
+ )
50
+ goal_target: int | Unset | None = Field(alias="goal_target", default=UNSET)
51
+ goal_target_month: datetime.date | Unset | None = Field(
52
+ alias="goal_target_month", default=UNSET
53
+ )
54
+ goal_target_date: datetime.date | Unset | None = Field(
55
+ alias="goal_target_date", default=UNSET
56
+ )
57
+ goal_percentage_complete: int | Unset | None = Field(
58
+ alias="goal_percentage_complete", default=UNSET
59
+ )
60
+ goal_months_to_budget: int | Unset | None = Field(
61
+ alias="goal_months_to_budget", default=UNSET
62
+ )
63
+ goal_under_funded: int | Unset | None = Field(
64
+ alias="goal_under_funded", default=UNSET
65
+ )
66
+ goal_overall_funded: int | Unset | None = Field(
67
+ alias="goal_overall_funded", default=UNSET
68
+ )
69
+ goal_overall_left: int | Unset | None = Field(
70
+ alias="goal_overall_left", default=UNSET
71
+ )
72
+ goal_snoozed_at: datetime.datetime | Unset | None = Field(
73
+ alias="goal_snoozed_at", default=UNSET
74
+ )
@@ -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 CategoryGroup(BaseModel):
11
+ """Typed CategoryGroup 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
+ name: str = Field(alias="name")
18
+ hidden: bool = Field(alias="hidden")
19
+ internal: bool = Field(alias="internal")
20
+ deleted: bool = Field(alias="deleted")
@@ -0,0 +1,25 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from typing import TYPE_CHECKING
6
+ from uuid import UUID
7
+
8
+ from pydantic import BaseModel, ConfigDict, Field
9
+
10
+ if TYPE_CHECKING:
11
+ from ynab_api_cli.generated.models.category import Category
12
+
13
+
14
+ class CategoryGroupWithCategories(BaseModel):
15
+ """Typed CategoryGroupWithCategories contract representation."""
16
+
17
+ model_config = ConfigDict(
18
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
19
+ )
20
+ id: UUID = Field(alias="id")
21
+ name: str = Field(alias="name")
22
+ hidden: bool = Field(alias="hidden")
23
+ internal: bool = Field(alias="internal")
24
+ deleted: bool = Field(alias="deleted")
25
+ categories: list[Category] = Field(alias="categories")
@@ -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.category_response_data import (
11
+ CategoryResponseData,
12
+ )
13
+
14
+
15
+ class CategoryResponse(BaseModel):
16
+ """Typed CategoryResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: CategoryResponseData = 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.category import Category
11
+
12
+
13
+ class CategoryResponseData(BaseModel):
14
+ """Typed CategoryResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ category: Category = Field(alias="category")
@@ -0,0 +1,21 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pydantic import BaseModel, ConfigDict, Field
6
+
7
+
8
+ class CurrencyFormatType0(BaseModel):
9
+ """Typed CurrencyFormatType0 contract representation."""
10
+
11
+ model_config = ConfigDict(
12
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
13
+ )
14
+ iso_code: str = Field(alias="iso_code")
15
+ example_format: str = Field(alias="example_format")
16
+ decimal_digits: int = Field(alias="decimal_digits")
17
+ decimal_separator: str = Field(alias="decimal_separator")
18
+ symbol_first: bool = Field(alias="symbol_first")
19
+ group_separator: str = Field(alias="group_separator")
20
+ currency_symbol: str = Field(alias="currency_symbol")
21
+ display_symbol: bool = Field(alias="display_symbol")
@@ -0,0 +1,14 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pydantic import BaseModel, ConfigDict, Field
6
+
7
+
8
+ class DateFormatType0(BaseModel):
9
+ """Typed DateFormatType0 contract representation."""
10
+
11
+ model_config = ConfigDict(
12
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
13
+ )
14
+ format_: str = Field(alias="format")
@@ -0,0 +1,18 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class Debt1(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ BALANCEADJUSTMENT = "balanceAdjustment"
12
+ CHARGE = "charge"
13
+ CREDIT = "credit"
14
+ ESCROW = "escrow"
15
+ FEE = "fee"
16
+ INTEREST = "interest"
17
+ PAYMENT = "payment"
18
+ REFUND = "refund"
@@ -0,0 +1,18 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class Debt2(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ BALANCEADJUSTMENT = "balanceAdjustment"
12
+ CHARGE = "charge"
13
+ CREDIT = "credit"
14
+ ESCROW = "escrow"
15
+ FEE = "fee"
16
+ INTEREST = "interest"
17
+ PAYMENT = "payment"
18
+ REFUND = "refund"
@@ -0,0 +1,18 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class Debt3(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ BALANCEADJUSTMENT = "balanceAdjustment"
12
+ CHARGE = "charge"
13
+ CREDIT = "credit"
14
+ ESCROW = "escrow"
15
+ FEE = "fee"
16
+ INTEREST = "interest"
17
+ PAYMENT = "payment"
18
+ REFUND = "refund"
@@ -0,0 +1,16 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pydantic import BaseModel, ConfigDict, Field
6
+
7
+
8
+ class ErrorDetail(BaseModel):
9
+ """Typed ErrorDetail contract representation."""
10
+
11
+ model_config = ConfigDict(
12
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
13
+ )
14
+ id: str = Field(alias="id")
15
+ name: str = Field(alias="name")
16
+ detail: str = Field(alias="detail")
@@ -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.error_detail import ErrorDetail
11
+
12
+
13
+ class ErrorResponse(BaseModel):
14
+ """Typed ErrorResponse contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ error: ErrorDetail = Field(alias="error")
@@ -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 ExistingCategory(BaseModel):
17
+ """Typed ExistingCategory contract representation."""
18
+
19
+ model_config = ConfigDict(
20
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
21
+ )
22
+ name: str | Unset | None = Field(alias="name", default=UNSET)
23
+ note: str | Unset | None = Field(alias="note", default=UNSET)
24
+ category_group_id: UUID | Unset = Field(alias="category_group_id", 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,43 @@
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 ExistingTransaction(BaseModel):
24
+ """Typed ExistingTransaction 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
+ )
@@ -0,0 +1,17 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class Flag1(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ BLUE = "blue"
12
+ GREEN = "green"
13
+ ORANGE = "orange"
14
+ PURPLE = "purple"
15
+ RED = "red"
16
+ VALUE_6 = ""
17
+ YELLOW = "yellow"
@@ -0,0 +1,17 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class Flag2(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ BLUE = "blue"
12
+ GREEN = "green"
13
+ ORANGE = "orange"
14
+ PURPLE = "purple"
15
+ RED = "red"
16
+ VALUE_6 = ""
17
+ YELLOW = "yellow"
@@ -0,0 +1,17 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class Flag3(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ BLUE = "blue"
12
+ GREEN = "green"
13
+ ORANGE = "orange"
14
+ PURPLE = "purple"
15
+ RED = "red"
16
+ VALUE_6 = ""
17
+ YELLOW = "yellow"
@@ -0,0 +1,12 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class GetTransactionsByAccountType(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ UNAPPROVED = "unapproved"
12
+ UNCATEGORIZED = "uncategorized"
@@ -0,0 +1,12 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class GetTransactionsByCategoryType(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ UNAPPROVED = "unapproved"
12
+ UNCATEGORIZED = "uncategorized"