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,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_account import SaveAccount
11
+
12
+
13
+ class PostAccountWrapper(BaseModel):
14
+ """Typed PostAccountWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ account: SaveAccount = Field(alias="account")
@@ -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 PostCategoryGroupWrapper(BaseModel):
14
+ """Typed PostCategoryGroupWrapper 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.new_category import NewCategory
11
+
12
+
13
+ class PostCategoryWrapper(BaseModel):
14
+ """Typed PostCategoryWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ category: NewCategory = Field(alias="category")
@@ -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 PostPayee(BaseModel):
9
+ """Typed PostPayee contract representation."""
10
+
11
+ model_config = ConfigDict(
12
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
13
+ )
14
+ name: str = Field(alias="name")
@@ -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.post_payee import PostPayee
11
+
12
+
13
+ class PostPayeeWrapper(BaseModel):
14
+ """Typed PostPayeeWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ payee: PostPayee = Field(alias="payee")
@@ -0,0 +1,23 @@
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_scheduled_transaction import (
11
+ SaveScheduledTransaction,
12
+ )
13
+
14
+
15
+ class PostScheduledTransactionWrapper(BaseModel):
16
+ """Typed PostScheduledTransactionWrapper contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ scheduled_transaction: SaveScheduledTransaction = Field(
22
+ alias="scheduled_transaction"
23
+ )
@@ -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.new_transaction import NewTransaction
13
+
14
+
15
+ class PostTransactionsWrapper(BaseModel):
16
+ """Typed PostTransactionsWrapper contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ transaction: NewTransaction | Unset = Field(alias="transaction", default=UNSET)
22
+ transactions: list[NewTransaction] | Unset = Field(
23
+ alias="transactions", default=UNSET
24
+ )
@@ -0,0 +1,23 @@
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_scheduled_transaction import (
11
+ SaveScheduledTransaction,
12
+ )
13
+
14
+
15
+ class PutScheduledTransactionWrapper(BaseModel):
16
+ """Typed PutScheduledTransactionWrapper contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ scheduled_transaction: SaveScheduledTransaction = Field(
22
+ alias="scheduled_transaction"
23
+ )
@@ -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_transaction import ExistingTransaction
11
+
12
+
13
+ class PutTransactionWrapper(BaseModel):
14
+ """Typed PutTransactionWrapper contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ transaction: ExistingTransaction = Field(alias="transaction")
@@ -0,0 +1,18 @@
1
+ """Generated contract model; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from pydantic import BaseModel, ConfigDict, Field
6
+
7
+ from ynab_api_cli.generated.models.save_account_type import SaveAccountType
8
+
9
+
10
+ class SaveAccount(BaseModel):
11
+ """Typed SaveAccount contract representation."""
12
+
13
+ model_config = ConfigDict(
14
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
15
+ )
16
+ name: str = Field(alias="name")
17
+ type_: SaveAccountType = Field(alias="type")
18
+ balance: int = Field(alias="balance")
@@ -0,0 +1,16 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class SaveAccountType(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ CASH = "cash"
12
+ CHECKING = "checking"
13
+ CREDITCARD = "creditCard"
14
+ OTHERASSET = "otherAsset"
15
+ OTHERLIABILITY = "otherLiability"
16
+ SAVINGS = "savings"
@@ -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 SaveCategory(BaseModel):
17
+ """Typed SaveCategory 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,13 @@
1
+ """Generated declarations; regenerate rather than editing."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from enum import StrEnum
6
+
7
+
8
+ class SaveCategoryGoalFrequency(StrEnum):
9
+ """Generated contract enumeration."""
10
+
11
+ MONTHLY = "monthly"
12
+ WEEKLY = "weekly"
13
+ YEARLY = "yearly"
@@ -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 SaveCategoryGroup(BaseModel):
9
+ """Typed SaveCategoryGroup contract representation."""
10
+
11
+ model_config = ConfigDict(
12
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
13
+ )
14
+ name: str = Field(alias="name")
@@ -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_category_group_response_data import (
11
+ SaveCategoryGroupResponseData,
12
+ )
13
+
14
+
15
+ class SaveCategoryGroupResponse(BaseModel):
16
+ """Typed SaveCategoryGroupResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: SaveCategoryGroupResponseData = 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.category_group import CategoryGroup
11
+
12
+
13
+ class SaveCategoryGroupResponseData(BaseModel):
14
+ """Typed SaveCategoryGroupResponseData contract representation."""
15
+
16
+ model_config = ConfigDict(
17
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
18
+ )
19
+ category_group: CategoryGroup = Field(alias="category_group")
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.save_category_response_data import (
11
+ SaveCategoryResponseData,
12
+ )
13
+
14
+
15
+ class SaveCategoryResponse(BaseModel):
16
+ """Typed SaveCategoryResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: SaveCategoryResponseData = 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.category import Category
11
+
12
+
13
+ class SaveCategoryResponseData(BaseModel):
14
+ """Typed SaveCategoryResponseData 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")
20
+ server_knowledge: int = Field(alias="server_knowledge")
@@ -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 SaveMonthCategory(BaseModel):
9
+ """Typed SaveMonthCategory contract representation."""
10
+
11
+ model_config = ConfigDict(
12
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
13
+ )
14
+ budgeted: int = Field(alias="budgeted")
@@ -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
+ from ynab_api_cli.types import UNSET, Unset
8
+
9
+
10
+ class SavePayee(BaseModel):
11
+ """Typed SavePayee contract representation."""
12
+
13
+ model_config = ConfigDict(
14
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
15
+ )
16
+ name: str | Unset = Field(alias="name", 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.save_payee_response_data import (
11
+ SavePayeeResponseData,
12
+ )
13
+
14
+
15
+ class SavePayeeResponse(BaseModel):
16
+ """Typed SavePayeeResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: SavePayeeResponseData = 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 SavePayeeResponseData(BaseModel):
14
+ """Typed SavePayeeResponseData 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")
20
+ server_knowledge: int = Field(alias="server_knowledge")
@@ -0,0 +1,37 @@
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.flag_1 import Flag1
11
+ from ynab_api_cli.generated.models.flag_2 import Flag2
12
+ from ynab_api_cli.generated.models.flag_3 import Flag3
13
+ from ynab_api_cli.generated.models.scheduled_transaction_frequency import (
14
+ ScheduledTransactionFrequency,
15
+ )
16
+ from ynab_api_cli.types import UNSET, Unset
17
+
18
+
19
+ class SaveScheduledTransaction(BaseModel):
20
+ """Typed SaveScheduledTransaction contract representation."""
21
+
22
+ model_config = ConfigDict(
23
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
24
+ )
25
+ account_id: UUID = Field(alias="account_id")
26
+ date: datetime.date = Field(alias="date")
27
+ amount: int | Unset = Field(alias="amount", default=UNSET)
28
+ payee_id: Unset | UUID | None = Field(alias="payee_id", default=UNSET)
29
+ payee_name: str | Unset | None = Field(alias="payee_name", default=UNSET)
30
+ category_id: Unset | UUID | None = Field(alias="category_id", default=UNSET)
31
+ memo: str | Unset | None = Field(alias="memo", default=UNSET)
32
+ flag_color: Flag1 | Flag2 | Flag3 | Unset | None = Field(
33
+ alias="flag_color", default=UNSET
34
+ )
35
+ frequency: ScheduledTransactionFrequency | Unset = Field(
36
+ alias="frequency", default=UNSET
37
+ )
@@ -0,0 +1,22 @@
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 SaveSubTransaction(BaseModel):
13
+ """Typed SaveSubTransaction contract representation."""
14
+
15
+ model_config = ConfigDict(
16
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
17
+ )
18
+ amount: int = Field(alias="amount")
19
+ payee_id: Unset | UUID | None = Field(alias="payee_id", default=UNSET)
20
+ payee_name: str | Unset | None = Field(alias="payee_name", default=UNSET)
21
+ category_id: Unset | UUID | None = Field(alias="category_id", default=UNSET)
22
+ memo: str | Unset | None = Field(alias="memo", default=UNSET)
@@ -0,0 +1,45 @@
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 SaveTransactionWithIdOrImportId(BaseModel):
24
+ """Typed SaveTransactionWithIdOrImportId 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
+ id: str | Unset | None = Field(alias="id", default=UNSET)
45
+ import_id: str | Unset | None = Field(alias="import_id", default=UNSET)
@@ -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 SaveTransactionWithOptionalFields(BaseModel):
24
+ """Typed SaveTransactionWithOptionalFields 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,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_transactions_response_data import (
11
+ SaveTransactionsResponseData,
12
+ )
13
+
14
+
15
+ class SaveTransactionsResponse(BaseModel):
16
+ """Typed SaveTransactionsResponse contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ data: SaveTransactionsResponseData = Field(alias="data")
@@ -0,0 +1,29 @@
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.transaction_detail import TransactionDetail
13
+
14
+
15
+ class SaveTransactionsResponseData(BaseModel):
16
+ """Typed SaveTransactionsResponseData contract representation."""
17
+
18
+ model_config = ConfigDict(
19
+ extra="allow", arbitrary_types_allowed=True, populate_by_name=True
20
+ )
21
+ transaction_ids: list[str] = Field(alias="transaction_ids")
22
+ server_knowledge: int = Field(alias="server_knowledge")
23
+ transaction: TransactionDetail | Unset = Field(alias="transaction", default=UNSET)
24
+ transactions: list[TransactionDetail] | Unset = Field(
25
+ alias="transactions", default=UNSET
26
+ )
27
+ duplicate_import_ids: list[str] | Unset = Field(
28
+ alias="duplicate_import_ids", default=UNSET
29
+ )