dart-tools 0.6.11__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.

Potentially problematic release.


This version of dart-tools might be problematic. Click here for more details.

Files changed (257) hide show
  1. dart/__init__.py +20 -0
  2. dart/dart.py +1144 -0
  3. dart/exception.py +6 -0
  4. dart/generated/__init__.py +8 -0
  5. dart/generated/api/__init__.py +1 -0
  6. dart/generated/api/attachments/__init__.py +0 -0
  7. dart/generated/api/attachments/attachments_list.py +169 -0
  8. dart/generated/api/comments/__init__.py +0 -0
  9. dart/generated/api/comments/comments_list.py +278 -0
  10. dart/generated/api/dartboards/__init__.py +0 -0
  11. dart/generated/api/dartboards/dartboards_list.py +271 -0
  12. dart/generated/api/dashboards/__init__.py +0 -0
  13. dart/generated/api/dashboards/dashboards_list.py +184 -0
  14. dart/generated/api/docs/__init__.py +0 -0
  15. dart/generated/api/docs/docs_list.py +372 -0
  16. dart/generated/api/folders/__init__.py +0 -0
  17. dart/generated/api/folders/folders_list.py +234 -0
  18. dart/generated/api/form_fields/__init__.py +0 -0
  19. dart/generated/api/form_fields/form_fields_list.py +169 -0
  20. dart/generated/api/forms/__init__.py +0 -0
  21. dart/generated/api/forms/forms_list.py +169 -0
  22. dart/generated/api/layouts/__init__.py +0 -0
  23. dart/generated/api/layouts/layouts_list.py +169 -0
  24. dart/generated/api/links/__init__.py +0 -0
  25. dart/generated/api/links/links_list.py +169 -0
  26. dart/generated/api/options/__init__.py +0 -0
  27. dart/generated/api/options/options_list.py +229 -0
  28. dart/generated/api/properties/__init__.py +0 -0
  29. dart/generated/api/properties/properties_list.py +204 -0
  30. dart/generated/api/reactions/__init__.py +0 -0
  31. dart/generated/api/reactions/reactions_list.py +169 -0
  32. dart/generated/api/relationship_kinds/__init__.py +0 -0
  33. dart/generated/api/relationship_kinds/relationship_kinds_list.py +169 -0
  34. dart/generated/api/relationships/__init__.py +0 -0
  35. dart/generated/api/relationships/relationships_list.py +169 -0
  36. dart/generated/api/spaces/__init__.py +0 -0
  37. dart/generated/api/spaces/spaces_list.py +214 -0
  38. dart/generated/api/statuses/__init__.py +0 -0
  39. dart/generated/api/statuses/statuses_list.py +249 -0
  40. dart/generated/api/task_doc_relationships/__init__.py +0 -0
  41. dart/generated/api/task_doc_relationships/task_doc_relationships_list.py +169 -0
  42. dart/generated/api/task_kinds/__init__.py +0 -0
  43. dart/generated/api/task_kinds/task_kinds_list.py +204 -0
  44. dart/generated/api/tasks/__init__.py +0 -0
  45. dart/generated/api/tasks/tasks_list.py +446 -0
  46. dart/generated/api/tenants/__init__.py +0 -0
  47. dart/generated/api/tenants/tenants_list.py +169 -0
  48. dart/generated/api/transactions/__init__.py +0 -0
  49. dart/generated/api/transactions/transactions_create.py +176 -0
  50. dart/generated/api/user_dartboard_layouts/__init__.py +0 -0
  51. dart/generated/api/user_dartboard_layouts/user_dartboard_layouts_list.py +169 -0
  52. dart/generated/api/user_data/__init__.py +0 -0
  53. dart/generated/api/user_data/user_data_entity_retrieve.py +580 -0
  54. dart/generated/api/users/__init__.py +0 -0
  55. dart/generated/api/users/users_list.py +214 -0
  56. dart/generated/api/views/__init__.py +0 -0
  57. dart/generated/api/views/views_list.py +184 -0
  58. dart/generated/api/webhooks/__init__.py +0 -0
  59. dart/generated/api/webhooks/webhooks_list.py +169 -0
  60. dart/generated/client.py +268 -0
  61. dart/generated/errors.py +16 -0
  62. dart/generated/models/__init__.py +373 -0
  63. dart/generated/models/attachment.py +112 -0
  64. dart/generated/models/attachment_create.py +121 -0
  65. dart/generated/models/attachment_update.py +125 -0
  66. dart/generated/models/bar_chart_adtl.py +72 -0
  67. dart/generated/models/brainstorm.py +149 -0
  68. dart/generated/models/brainstorm_create.py +134 -0
  69. dart/generated/models/brainstorm_state.py +10 -0
  70. dart/generated/models/brainstorm_update.py +153 -0
  71. dart/generated/models/burn_up_chart_adtl.py +103 -0
  72. dart/generated/models/chart.py +208 -0
  73. dart/generated/models/chart_aggregation.py +10 -0
  74. dart/generated/models/chart_type.py +14 -0
  75. dart/generated/models/comment.py +207 -0
  76. dart/generated/models/comment_create.py +146 -0
  77. dart/generated/models/comment_reaction.py +84 -0
  78. dart/generated/models/comment_reaction_create.py +82 -0
  79. dart/generated/models/comment_reaction_update.py +87 -0
  80. dart/generated/models/comment_update.py +148 -0
  81. dart/generated/models/dartboard.py +280 -0
  82. dart/generated/models/dartboard_create.py +285 -0
  83. dart/generated/models/dartboard_kind.py +12 -0
  84. dart/generated/models/dartboard_update.py +287 -0
  85. dart/generated/models/dartboards_list_kind.py +12 -0
  86. dart/generated/models/dashboard.py +185 -0
  87. dart/generated/models/dashboard_create.py +171 -0
  88. dart/generated/models/dashboard_update.py +173 -0
  89. dart/generated/models/discord_integration.py +72 -0
  90. dart/generated/models/doc.py +243 -0
  91. dart/generated/models/doc_create.py +295 -0
  92. dart/generated/models/doc_source_type.py +13 -0
  93. dart/generated/models/doc_update.py +295 -0
  94. dart/generated/models/docs_list_o_item.py +11 -0
  95. dart/generated/models/entity_name.py +22 -0
  96. dart/generated/models/event.py +420 -0
  97. dart/generated/models/event_actor.py +19 -0
  98. dart/generated/models/event_create.py +158 -0
  99. dart/generated/models/event_kind.py +88 -0
  100. dart/generated/models/event_subscription.py +74 -0
  101. dart/generated/models/event_subscription_update.py +173 -0
  102. dart/generated/models/filter_applicability.py +22 -0
  103. dart/generated/models/filter_assignee.py +116 -0
  104. dart/generated/models/filter_connector.py +9 -0
  105. dart/generated/models/filter_group.py +112 -0
  106. dart/generated/models/filter_search.py +82 -0
  107. dart/generated/models/filter_set.py +116 -0
  108. dart/generated/models/folder.py +150 -0
  109. dart/generated/models/folder_create.py +150 -0
  110. dart/generated/models/folder_kind.py +10 -0
  111. dart/generated/models/folder_update.py +152 -0
  112. dart/generated/models/folders_list_kind.py +10 -0
  113. dart/generated/models/form.py +147 -0
  114. dart/generated/models/form_create.py +141 -0
  115. dart/generated/models/form_field.py +144 -0
  116. dart/generated/models/form_field_create.py +129 -0
  117. dart/generated/models/form_field_update.py +132 -0
  118. dart/generated/models/form_update.py +142 -0
  119. dart/generated/models/github_integration.py +163 -0
  120. dart/generated/models/github_integration_tenant_extension_status.py +11 -0
  121. dart/generated/models/google_data.py +94 -0
  122. dart/generated/models/icon_kind.py +10 -0
  123. dart/generated/models/layout.py +167 -0
  124. dart/generated/models/layout_config.py +70 -0
  125. dart/generated/models/layout_create.py +130 -0
  126. dart/generated/models/layout_kind.py +11 -0
  127. dart/generated/models/layout_kind_config_map.py +56 -0
  128. dart/generated/models/layout_update.py +130 -0
  129. dart/generated/models/line_chart_adtl.py +72 -0
  130. dart/generated/models/models_response.py +671 -0
  131. dart/generated/models/notification.py +120 -0
  132. dart/generated/models/notification_update.py +100 -0
  133. dart/generated/models/notion_integration.py +90 -0
  134. dart/generated/models/notion_integration_tenant_extension_status.py +10 -0
  135. dart/generated/models/number_chart_adtl.py +77 -0
  136. dart/generated/models/operation.py +874 -0
  137. dart/generated/models/operation_kind.py +12 -0
  138. dart/generated/models/operation_model_kind.py +36 -0
  139. dart/generated/models/option.py +118 -0
  140. dart/generated/models/option_create.py +105 -0
  141. dart/generated/models/option_update.py +107 -0
  142. dart/generated/models/paginated_attachment_list.py +122 -0
  143. dart/generated/models/paginated_comment_list.py +122 -0
  144. dart/generated/models/paginated_comment_reaction_list.py +122 -0
  145. dart/generated/models/paginated_dartboard_list.py +122 -0
  146. dart/generated/models/paginated_dashboard_list.py +122 -0
  147. dart/generated/models/paginated_doc_list.py +122 -0
  148. dart/generated/models/paginated_folder_list.py +122 -0
  149. dart/generated/models/paginated_form_field_list.py +122 -0
  150. dart/generated/models/paginated_form_list.py +122 -0
  151. dart/generated/models/paginated_layout_list.py +122 -0
  152. dart/generated/models/paginated_option_list.py +122 -0
  153. dart/generated/models/paginated_property_list.py +122 -0
  154. dart/generated/models/paginated_relationship_kind_list.py +122 -0
  155. dart/generated/models/paginated_relationship_list.py +122 -0
  156. dart/generated/models/paginated_space_list.py +122 -0
  157. dart/generated/models/paginated_status_list.py +122 -0
  158. dart/generated/models/paginated_task_doc_relationship_list.py +122 -0
  159. dart/generated/models/paginated_task_kind_list.py +122 -0
  160. dart/generated/models/paginated_task_link_list.py +122 -0
  161. dart/generated/models/paginated_task_list.py +122 -0
  162. dart/generated/models/paginated_tenant_list.py +122 -0
  163. dart/generated/models/paginated_user_dartboard_layout_list.py +122 -0
  164. dart/generated/models/paginated_user_list.py +122 -0
  165. dart/generated/models/paginated_view_list.py +122 -0
  166. dart/generated/models/paginated_webhook_list.py +122 -0
  167. dart/generated/models/pie_chart_adtl.py +69 -0
  168. dart/generated/models/pie_chart_display_metric.py +9 -0
  169. dart/generated/models/priority.py +11 -0
  170. dart/generated/models/properties_list_kind.py +32 -0
  171. dart/generated/models/property_.py +153 -0
  172. dart/generated/models/property_create.py +137 -0
  173. dart/generated/models/property_kind.py +32 -0
  174. dart/generated/models/property_update.py +146 -0
  175. dart/generated/models/relationship.py +74 -0
  176. dart/generated/models/relationship_create.py +93 -0
  177. dart/generated/models/relationship_kind.py +123 -0
  178. dart/generated/models/relationship_kind_create.py +117 -0
  179. dart/generated/models/relationship_kind_kind.py +12 -0
  180. dart/generated/models/relationship_kind_update.py +119 -0
  181. dart/generated/models/report_kind.py +9 -0
  182. dart/generated/models/request_body.py +80 -0
  183. dart/generated/models/response_body.py +72 -0
  184. dart/generated/models/saml_config.py +77 -0
  185. dart/generated/models/saml_config_tenant_extension_status.py +9 -0
  186. dart/generated/models/slack_integration.py +90 -0
  187. dart/generated/models/slack_integration_tenant_extension_status.py +10 -0
  188. dart/generated/models/sort.py +66 -0
  189. dart/generated/models/space.py +325 -0
  190. dart/generated/models/space_create.py +360 -0
  191. dart/generated/models/space_kind.py +10 -0
  192. dart/generated/models/space_update.py +361 -0
  193. dart/generated/models/sprint_mode.py +9 -0
  194. dart/generated/models/status.py +141 -0
  195. dart/generated/models/status_create.py +125 -0
  196. dart/generated/models/status_kind.py +12 -0
  197. dart/generated/models/status_update.py +135 -0
  198. dart/generated/models/statuses_list_kind.py +12 -0
  199. dart/generated/models/subscription.py +9 -0
  200. dart/generated/models/subtask_display_mode.py +10 -0
  201. dart/generated/models/summary_statistic_kind.py +14 -0
  202. dart/generated/models/table_chart_adtl.py +98 -0
  203. dart/generated/models/task.py +531 -0
  204. dart/generated/models/task_create.py +585 -0
  205. dart/generated/models/task_detail_mode.py +10 -0
  206. dart/generated/models/task_doc_relationship.py +96 -0
  207. dart/generated/models/task_doc_relationship_create.py +74 -0
  208. dart/generated/models/task_kind.py +149 -0
  209. dart/generated/models/task_kind_create.py +144 -0
  210. dart/generated/models/task_kind_kind.py +9 -0
  211. dart/generated/models/task_kind_update.py +153 -0
  212. dart/generated/models/task_kinds_list_kind.py +9 -0
  213. dart/generated/models/task_link.py +131 -0
  214. dart/generated/models/task_link_create.py +152 -0
  215. dart/generated/models/task_link_kind.py +19 -0
  216. dart/generated/models/task_link_update.py +155 -0
  217. dart/generated/models/task_notion_document.py +196 -0
  218. dart/generated/models/task_notion_document_block_children_map_type_0.py +43 -0
  219. dart/generated/models/task_notion_document_block_map_type_0.py +43 -0
  220. dart/generated/models/task_notion_document_page_map_type_0.py +43 -0
  221. dart/generated/models/task_properties.py +43 -0
  222. dart/generated/models/task_source_type.py +31 -0
  223. dart/generated/models/task_update.py +585 -0
  224. dart/generated/models/tenant.py +378 -0
  225. dart/generated/models/tenant_update.py +157 -0
  226. dart/generated/models/theme.py +10 -0
  227. dart/generated/models/transaction.py +156 -0
  228. dart/generated/models/transaction_kind.py +74 -0
  229. dart/generated/models/transaction_response.py +96 -0
  230. dart/generated/models/user.py +245 -0
  231. dart/generated/models/user_dartboard_layout.py +66 -0
  232. dart/generated/models/user_dartboard_layout_create.py +74 -0
  233. dart/generated/models/user_data_entity_retrieve_entity_kind.py +32 -0
  234. dart/generated/models/user_role.py +12 -0
  235. dart/generated/models/user_status.py +12 -0
  236. dart/generated/models/user_update.py +210 -0
  237. dart/generated/models/validation_error_response.py +64 -0
  238. dart/generated/models/validation_error_response_items.py +43 -0
  239. dart/generated/models/view.py +215 -0
  240. dart/generated/models/view_create.py +213 -0
  241. dart/generated/models/view_kind.py +11 -0
  242. dart/generated/models/view_update.py +215 -0
  243. dart/generated/models/webhook.py +96 -0
  244. dart/generated/models/webhook_create.py +77 -0
  245. dart/generated/models/webhook_update.py +78 -0
  246. dart/generated/models/zapier_integration.py +66 -0
  247. dart/generated/py.typed +1 -0
  248. dart/generated/types.py +45 -0
  249. dart/order_manager.py +62 -0
  250. dart/webhook.py +21 -0
  251. dart_tools-0.6.11.dist-info/LICENSE +21 -0
  252. dart_tools-0.6.11.dist-info/METADATA +221 -0
  253. dart_tools-0.6.11.dist-info/RECORD +257 -0
  254. dart_tools-0.6.11.dist-info/WHEEL +5 -0
  255. dart_tools-0.6.11.dist-info/dist/dart-tools-0.3.3.tar.gz +0 -0
  256. dart_tools-0.6.11.dist-info/entry_points.txt +2 -0
  257. dart_tools-0.6.11.dist-info/top_level.txt +1 -0
@@ -0,0 +1,268 @@
1
+ import ssl
2
+ from typing import Any, Dict, Optional, Union
3
+
4
+ import httpx
5
+ from attrs import define, evolve, field
6
+
7
+
8
+ @define
9
+ class Client:
10
+ """A class for keeping track of data related to the API
11
+
12
+ The following are accepted as keyword arguments and will be used to construct httpx Clients internally:
13
+
14
+ ``base_url``: The base URL for the API, all requests are made to a relative path to this URL
15
+
16
+ ``cookies``: A dictionary of cookies to be sent with every request
17
+
18
+ ``headers``: A dictionary of headers to be sent with every request
19
+
20
+ ``timeout``: The maximum amount of a time a request can take. API functions will raise
21
+ httpx.TimeoutException if this is exceeded.
22
+
23
+ ``verify_ssl``: Whether or not to verify the SSL certificate of the API server. This should be True in production,
24
+ but can be set to False for testing purposes.
25
+
26
+ ``follow_redirects``: Whether or not to follow redirects. Default value is False.
27
+
28
+ ``httpx_args``: A dictionary of additional arguments to be passed to the ``httpx.Client`` and ``httpx.AsyncClient`` constructor.
29
+
30
+
31
+ Attributes:
32
+ raise_on_unexpected_status: Whether or not to raise an errors.UnexpectedStatus if the API returns a
33
+ status code that was not documented in the source OpenAPI document. Can also be provided as a keyword
34
+ argument to the constructor.
35
+ """
36
+
37
+ raise_on_unexpected_status: bool = field(default=False, kw_only=True)
38
+ _base_url: str = field(alias="base_url")
39
+ _cookies: Dict[str, str] = field(factory=dict, kw_only=True, alias="cookies")
40
+ _headers: Dict[str, str] = field(factory=dict, kw_only=True, alias="headers")
41
+ _timeout: Optional[httpx.Timeout] = field(default=None, kw_only=True, alias="timeout")
42
+ _verify_ssl: Union[str, bool, ssl.SSLContext] = field(default=True, kw_only=True, alias="verify_ssl")
43
+ _follow_redirects: bool = field(default=False, kw_only=True, alias="follow_redirects")
44
+ _httpx_args: Dict[str, Any] = field(factory=dict, kw_only=True, alias="httpx_args")
45
+ _client: Optional[httpx.Client] = field(default=None, init=False)
46
+ _async_client: Optional[httpx.AsyncClient] = field(default=None, init=False)
47
+
48
+ def with_headers(self, headers: Dict[str, str]) -> "Client":
49
+ """Get a new client matching this one with additional headers"""
50
+ if self._client is not None:
51
+ self._client.headers.update(headers)
52
+ if self._async_client is not None:
53
+ self._async_client.headers.update(headers)
54
+ return evolve(self, headers={**self._headers, **headers})
55
+
56
+ def with_cookies(self, cookies: Dict[str, str]) -> "Client":
57
+ """Get a new client matching this one with additional cookies"""
58
+ if self._client is not None:
59
+ self._client.cookies.update(cookies)
60
+ if self._async_client is not None:
61
+ self._async_client.cookies.update(cookies)
62
+ return evolve(self, cookies={**self._cookies, **cookies})
63
+
64
+ def with_timeout(self, timeout: httpx.Timeout) -> "Client":
65
+ """Get a new client matching this one with a new timeout (in seconds)"""
66
+ if self._client is not None:
67
+ self._client.timeout = timeout
68
+ if self._async_client is not None:
69
+ self._async_client.timeout = timeout
70
+ return evolve(self, timeout=timeout)
71
+
72
+ def set_httpx_client(self, client: httpx.Client) -> "Client":
73
+ """Manually the underlying httpx.Client
74
+
75
+ **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout.
76
+ """
77
+ self._client = client
78
+ return self
79
+
80
+ def get_httpx_client(self) -> httpx.Client:
81
+ """Get the underlying httpx.Client, constructing a new one if not previously set"""
82
+ if self._client is None:
83
+ self._client = httpx.Client(
84
+ base_url=self._base_url,
85
+ cookies=self._cookies,
86
+ headers=self._headers,
87
+ timeout=self._timeout,
88
+ verify=self._verify_ssl,
89
+ follow_redirects=self._follow_redirects,
90
+ **self._httpx_args,
91
+ )
92
+ return self._client
93
+
94
+ def __enter__(self) -> "Client":
95
+ """Enter a context manager for self.client—you cannot enter twice (see httpx docs)"""
96
+ self.get_httpx_client().__enter__()
97
+ return self
98
+
99
+ def __exit__(self, *args: Any, **kwargs: Any) -> None:
100
+ """Exit a context manager for internal httpx.Client (see httpx docs)"""
101
+ self.get_httpx_client().__exit__(*args, **kwargs)
102
+
103
+ def set_async_httpx_client(self, async_client: httpx.AsyncClient) -> "Client":
104
+ """Manually the underlying httpx.AsyncClient
105
+
106
+ **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout.
107
+ """
108
+ self._async_client = async_client
109
+ return self
110
+
111
+ def get_async_httpx_client(self) -> httpx.AsyncClient:
112
+ """Get the underlying httpx.AsyncClient, constructing a new one if not previously set"""
113
+ if self._async_client is None:
114
+ self._async_client = httpx.AsyncClient(
115
+ base_url=self._base_url,
116
+ cookies=self._cookies,
117
+ headers=self._headers,
118
+ timeout=self._timeout,
119
+ verify=self._verify_ssl,
120
+ follow_redirects=self._follow_redirects,
121
+ **self._httpx_args,
122
+ )
123
+ return self._async_client
124
+
125
+ async def __aenter__(self) -> "Client":
126
+ """Enter a context manager for underlying httpx.AsyncClient—you cannot enter twice (see httpx docs)"""
127
+ await self.get_async_httpx_client().__aenter__()
128
+ return self
129
+
130
+ async def __aexit__(self, *args: Any, **kwargs: Any) -> None:
131
+ """Exit a context manager for underlying httpx.AsyncClient (see httpx docs)"""
132
+ await self.get_async_httpx_client().__aexit__(*args, **kwargs)
133
+
134
+
135
+ @define
136
+ class AuthenticatedClient:
137
+ """A Client which has been authenticated for use on secured endpoints
138
+
139
+ The following are accepted as keyword arguments and will be used to construct httpx Clients internally:
140
+
141
+ ``base_url``: The base URL for the API, all requests are made to a relative path to this URL
142
+
143
+ ``cookies``: A dictionary of cookies to be sent with every request
144
+
145
+ ``headers``: A dictionary of headers to be sent with every request
146
+
147
+ ``timeout``: The maximum amount of a time a request can take. API functions will raise
148
+ httpx.TimeoutException if this is exceeded.
149
+
150
+ ``verify_ssl``: Whether or not to verify the SSL certificate of the API server. This should be True in production,
151
+ but can be set to False for testing purposes.
152
+
153
+ ``follow_redirects``: Whether or not to follow redirects. Default value is False.
154
+
155
+ ``httpx_args``: A dictionary of additional arguments to be passed to the ``httpx.Client`` and ``httpx.AsyncClient`` constructor.
156
+
157
+
158
+ Attributes:
159
+ raise_on_unexpected_status: Whether or not to raise an errors.UnexpectedStatus if the API returns a
160
+ status code that was not documented in the source OpenAPI document. Can also be provided as a keyword
161
+ argument to the constructor.
162
+ token: The token to use for authentication
163
+ prefix: The prefix to use for the Authorization header
164
+ auth_header_name: The name of the Authorization header
165
+ """
166
+
167
+ raise_on_unexpected_status: bool = field(default=False, kw_only=True)
168
+ _base_url: str = field(alias="base_url")
169
+ _cookies: Dict[str, str] = field(factory=dict, kw_only=True, alias="cookies")
170
+ _headers: Dict[str, str] = field(factory=dict, kw_only=True, alias="headers")
171
+ _timeout: Optional[httpx.Timeout] = field(default=None, kw_only=True, alias="timeout")
172
+ _verify_ssl: Union[str, bool, ssl.SSLContext] = field(default=True, kw_only=True, alias="verify_ssl")
173
+ _follow_redirects: bool = field(default=False, kw_only=True, alias="follow_redirects")
174
+ _httpx_args: Dict[str, Any] = field(factory=dict, kw_only=True, alias="httpx_args")
175
+ _client: Optional[httpx.Client] = field(default=None, init=False)
176
+ _async_client: Optional[httpx.AsyncClient] = field(default=None, init=False)
177
+
178
+ token: str
179
+ prefix: str = "Bearer"
180
+ auth_header_name: str = "Authorization"
181
+
182
+ def with_headers(self, headers: Dict[str, str]) -> "AuthenticatedClient":
183
+ """Get a new client matching this one with additional headers"""
184
+ if self._client is not None:
185
+ self._client.headers.update(headers)
186
+ if self._async_client is not None:
187
+ self._async_client.headers.update(headers)
188
+ return evolve(self, headers={**self._headers, **headers})
189
+
190
+ def with_cookies(self, cookies: Dict[str, str]) -> "AuthenticatedClient":
191
+ """Get a new client matching this one with additional cookies"""
192
+ if self._client is not None:
193
+ self._client.cookies.update(cookies)
194
+ if self._async_client is not None:
195
+ self._async_client.cookies.update(cookies)
196
+ return evolve(self, cookies={**self._cookies, **cookies})
197
+
198
+ def with_timeout(self, timeout: httpx.Timeout) -> "AuthenticatedClient":
199
+ """Get a new client matching this one with a new timeout (in seconds)"""
200
+ if self._client is not None:
201
+ self._client.timeout = timeout
202
+ if self._async_client is not None:
203
+ self._async_client.timeout = timeout
204
+ return evolve(self, timeout=timeout)
205
+
206
+ def set_httpx_client(self, client: httpx.Client) -> "AuthenticatedClient":
207
+ """Manually the underlying httpx.Client
208
+
209
+ **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout.
210
+ """
211
+ self._client = client
212
+ return self
213
+
214
+ def get_httpx_client(self) -> httpx.Client:
215
+ """Get the underlying httpx.Client, constructing a new one if not previously set"""
216
+ if self._client is None:
217
+ self._headers[self.auth_header_name] = f"{self.prefix} {self.token}" if self.prefix else self.token
218
+ self._client = httpx.Client(
219
+ base_url=self._base_url,
220
+ cookies=self._cookies,
221
+ headers=self._headers,
222
+ timeout=self._timeout,
223
+ verify=self._verify_ssl,
224
+ follow_redirects=self._follow_redirects,
225
+ **self._httpx_args,
226
+ )
227
+ return self._client
228
+
229
+ def __enter__(self) -> "AuthenticatedClient":
230
+ """Enter a context manager for self.client—you cannot enter twice (see httpx docs)"""
231
+ self.get_httpx_client().__enter__()
232
+ return self
233
+
234
+ def __exit__(self, *args: Any, **kwargs: Any) -> None:
235
+ """Exit a context manager for internal httpx.Client (see httpx docs)"""
236
+ self.get_httpx_client().__exit__(*args, **kwargs)
237
+
238
+ def set_async_httpx_client(self, async_client: httpx.AsyncClient) -> "AuthenticatedClient":
239
+ """Manually the underlying httpx.AsyncClient
240
+
241
+ **NOTE**: This will override any other settings on the client, including cookies, headers, and timeout.
242
+ """
243
+ self._async_client = async_client
244
+ return self
245
+
246
+ def get_async_httpx_client(self) -> httpx.AsyncClient:
247
+ """Get the underlying httpx.AsyncClient, constructing a new one if not previously set"""
248
+ if self._async_client is None:
249
+ self._headers[self.auth_header_name] = f"{self.prefix} {self.token}" if self.prefix else self.token
250
+ self._async_client = httpx.AsyncClient(
251
+ base_url=self._base_url,
252
+ cookies=self._cookies,
253
+ headers=self._headers,
254
+ timeout=self._timeout,
255
+ verify=self._verify_ssl,
256
+ follow_redirects=self._follow_redirects,
257
+ **self._httpx_args,
258
+ )
259
+ return self._async_client
260
+
261
+ async def __aenter__(self) -> "AuthenticatedClient":
262
+ """Enter a context manager for underlying httpx.AsyncClient—you cannot enter twice (see httpx docs)"""
263
+ await self.get_async_httpx_client().__aenter__()
264
+ return self
265
+
266
+ async def __aexit__(self, *args: Any, **kwargs: Any) -> None:
267
+ """Exit a context manager for underlying httpx.AsyncClient (see httpx docs)"""
268
+ await self.get_async_httpx_client().__aexit__(*args, **kwargs)
@@ -0,0 +1,16 @@
1
+ """Contains shared errors types that can be raised from API functions"""
2
+
3
+
4
+ class UnexpectedStatus(Exception):
5
+ """Raised by api functions when the response status an undocumented status and Client.raise_on_unexpected_status is True"""
6
+
7
+ def __init__(self, status_code: int, content: bytes):
8
+ self.status_code = status_code
9
+ self.content = content
10
+
11
+ super().__init__(
12
+ f"Unexpected status code: {status_code}\n\nResponse content:\n{content.decode(errors='ignore')}"
13
+ )
14
+
15
+
16
+ __all__ = ["UnexpectedStatus"]
@@ -0,0 +1,373 @@
1
+ """Contains all the data models used in inputs/outputs"""
2
+
3
+ from .attachment import Attachment
4
+ from .attachment_create import AttachmentCreate
5
+ from .attachment_update import AttachmentUpdate
6
+ from .bar_chart_adtl import BarChartAdtl
7
+ from .brainstorm import Brainstorm
8
+ from .brainstorm_create import BrainstormCreate
9
+ from .brainstorm_state import BrainstormState
10
+ from .brainstorm_update import BrainstormUpdate
11
+ from .burn_up_chart_adtl import BurnUpChartAdtl
12
+ from .chart import Chart
13
+ from .chart_aggregation import ChartAggregation
14
+ from .chart_type import ChartType
15
+ from .comment import Comment
16
+ from .comment_create import CommentCreate
17
+ from .comment_reaction import CommentReaction
18
+ from .comment_reaction_create import CommentReactionCreate
19
+ from .comment_reaction_update import CommentReactionUpdate
20
+ from .comment_update import CommentUpdate
21
+ from .dartboard import Dartboard
22
+ from .dartboard_create import DartboardCreate
23
+ from .dartboard_kind import DartboardKind
24
+ from .dartboard_update import DartboardUpdate
25
+ from .dartboards_list_kind import DartboardsListKind
26
+ from .dashboard import Dashboard
27
+ from .dashboard_create import DashboardCreate
28
+ from .dashboard_update import DashboardUpdate
29
+ from .discord_integration import DiscordIntegration
30
+ from .doc import Doc
31
+ from .doc_create import DocCreate
32
+ from .doc_source_type import DocSourceType
33
+ from .doc_update import DocUpdate
34
+ from .docs_list_o_item import DocsListOItem
35
+ from .entity_name import EntityName
36
+ from .event import Event
37
+ from .event_actor import EventActor
38
+ from .event_create import EventCreate
39
+ from .event_kind import EventKind
40
+ from .event_subscription import EventSubscription
41
+ from .event_subscription_update import EventSubscriptionUpdate
42
+ from .filter_applicability import FilterApplicability
43
+ from .filter_assignee import FilterAssignee
44
+ from .filter_connector import FilterConnector
45
+ from .filter_group import FilterGroup
46
+ from .filter_search import FilterSearch
47
+ from .filter_set import FilterSet
48
+ from .folder import Folder
49
+ from .folder_create import FolderCreate
50
+ from .folder_kind import FolderKind
51
+ from .folder_update import FolderUpdate
52
+ from .folders_list_kind import FoldersListKind
53
+ from .form import Form
54
+ from .form_create import FormCreate
55
+ from .form_field import FormField
56
+ from .form_field_create import FormFieldCreate
57
+ from .form_field_update import FormFieldUpdate
58
+ from .form_update import FormUpdate
59
+ from .github_integration import GithubIntegration
60
+ from .github_integration_tenant_extension_status import GithubIntegrationTenantExtensionStatus
61
+ from .google_data import GoogleData
62
+ from .icon_kind import IconKind
63
+ from .layout import Layout
64
+ from .layout_config import LayoutConfig
65
+ from .layout_create import LayoutCreate
66
+ from .layout_kind import LayoutKind
67
+ from .layout_kind_config_map import LayoutKindConfigMap
68
+ from .layout_update import LayoutUpdate
69
+ from .line_chart_adtl import LineChartAdtl
70
+ from .models_response import ModelsResponse
71
+ from .notification import Notification
72
+ from .notification_update import NotificationUpdate
73
+ from .notion_integration import NotionIntegration
74
+ from .notion_integration_tenant_extension_status import NotionIntegrationTenantExtensionStatus
75
+ from .number_chart_adtl import NumberChartAdtl
76
+ from .operation import Operation
77
+ from .operation_kind import OperationKind
78
+ from .operation_model_kind import OperationModelKind
79
+ from .option import Option
80
+ from .option_create import OptionCreate
81
+ from .option_update import OptionUpdate
82
+ from .paginated_attachment_list import PaginatedAttachmentList
83
+ from .paginated_comment_list import PaginatedCommentList
84
+ from .paginated_comment_reaction_list import PaginatedCommentReactionList
85
+ from .paginated_dartboard_list import PaginatedDartboardList
86
+ from .paginated_dashboard_list import PaginatedDashboardList
87
+ from .paginated_doc_list import PaginatedDocList
88
+ from .paginated_folder_list import PaginatedFolderList
89
+ from .paginated_form_field_list import PaginatedFormFieldList
90
+ from .paginated_form_list import PaginatedFormList
91
+ from .paginated_layout_list import PaginatedLayoutList
92
+ from .paginated_option_list import PaginatedOptionList
93
+ from .paginated_property_list import PaginatedPropertyList
94
+ from .paginated_relationship_kind_list import PaginatedRelationshipKindList
95
+ from .paginated_relationship_list import PaginatedRelationshipList
96
+ from .paginated_space_list import PaginatedSpaceList
97
+ from .paginated_status_list import PaginatedStatusList
98
+ from .paginated_task_doc_relationship_list import PaginatedTaskDocRelationshipList
99
+ from .paginated_task_kind_list import PaginatedTaskKindList
100
+ from .paginated_task_link_list import PaginatedTaskLinkList
101
+ from .paginated_task_list import PaginatedTaskList
102
+ from .paginated_tenant_list import PaginatedTenantList
103
+ from .paginated_user_dartboard_layout_list import PaginatedUserDartboardLayoutList
104
+ from .paginated_user_list import PaginatedUserList
105
+ from .paginated_view_list import PaginatedViewList
106
+ from .paginated_webhook_list import PaginatedWebhookList
107
+ from .pie_chart_adtl import PieChartAdtl
108
+ from .pie_chart_display_metric import PieChartDisplayMetric
109
+ from .priority import Priority
110
+ from .properties_list_kind import PropertiesListKind
111
+ from .property_ import Property
112
+ from .property_create import PropertyCreate
113
+ from .property_kind import PropertyKind
114
+ from .property_update import PropertyUpdate
115
+ from .relationship import Relationship
116
+ from .relationship_create import RelationshipCreate
117
+ from .relationship_kind import RelationshipKind
118
+ from .relationship_kind_create import RelationshipKindCreate
119
+ from .relationship_kind_kind import RelationshipKindKind
120
+ from .relationship_kind_update import RelationshipKindUpdate
121
+ from .report_kind import ReportKind
122
+ from .request_body import RequestBody
123
+ from .response_body import ResponseBody
124
+ from .saml_config import SamlConfig
125
+ from .saml_config_tenant_extension_status import SamlConfigTenantExtensionStatus
126
+ from .slack_integration import SlackIntegration
127
+ from .slack_integration_tenant_extension_status import SlackIntegrationTenantExtensionStatus
128
+ from .sort import Sort
129
+ from .space import Space
130
+ from .space_create import SpaceCreate
131
+ from .space_kind import SpaceKind
132
+ from .space_update import SpaceUpdate
133
+ from .sprint_mode import SprintMode
134
+ from .status import Status
135
+ from .status_create import StatusCreate
136
+ from .status_kind import StatusKind
137
+ from .status_update import StatusUpdate
138
+ from .statuses_list_kind import StatusesListKind
139
+ from .subscription import Subscription
140
+ from .subtask_display_mode import SubtaskDisplayMode
141
+ from .summary_statistic_kind import SummaryStatisticKind
142
+ from .table_chart_adtl import TableChartAdtl
143
+ from .task import Task
144
+ from .task_create import TaskCreate
145
+ from .task_detail_mode import TaskDetailMode
146
+ from .task_doc_relationship import TaskDocRelationship
147
+ from .task_doc_relationship_create import TaskDocRelationshipCreate
148
+ from .task_kind import TaskKind
149
+ from .task_kind_create import TaskKindCreate
150
+ from .task_kind_kind import TaskKindKind
151
+ from .task_kind_update import TaskKindUpdate
152
+ from .task_kinds_list_kind import TaskKindsListKind
153
+ from .task_link import TaskLink
154
+ from .task_link_create import TaskLinkCreate
155
+ from .task_link_kind import TaskLinkKind
156
+ from .task_link_update import TaskLinkUpdate
157
+ from .task_notion_document import TaskNotionDocument
158
+ from .task_notion_document_block_children_map_type_0 import TaskNotionDocumentBlockChildrenMapType0
159
+ from .task_notion_document_block_map_type_0 import TaskNotionDocumentBlockMapType0
160
+ from .task_notion_document_page_map_type_0 import TaskNotionDocumentPageMapType0
161
+ from .task_properties import TaskProperties
162
+ from .task_source_type import TaskSourceType
163
+ from .task_update import TaskUpdate
164
+ from .tenant import Tenant
165
+ from .tenant_update import TenantUpdate
166
+ from .theme import Theme
167
+ from .transaction import Transaction
168
+ from .transaction_kind import TransactionKind
169
+ from .transaction_response import TransactionResponse
170
+ from .user import User
171
+ from .user_dartboard_layout import UserDartboardLayout
172
+ from .user_dartboard_layout_create import UserDartboardLayoutCreate
173
+ from .user_data_entity_retrieve_entity_kind import UserDataEntityRetrieveEntityKind
174
+ from .user_role import UserRole
175
+ from .user_status import UserStatus
176
+ from .user_update import UserUpdate
177
+ from .validation_error_response import ValidationErrorResponse
178
+ from .validation_error_response_items import ValidationErrorResponseItems
179
+ from .view import View
180
+ from .view_create import ViewCreate
181
+ from .view_kind import ViewKind
182
+ from .view_update import ViewUpdate
183
+ from .webhook import Webhook
184
+ from .webhook_create import WebhookCreate
185
+ from .webhook_update import WebhookUpdate
186
+ from .zapier_integration import ZapierIntegration
187
+
188
+ __all__ = (
189
+ "Attachment",
190
+ "AttachmentCreate",
191
+ "AttachmentUpdate",
192
+ "BarChartAdtl",
193
+ "Brainstorm",
194
+ "BrainstormCreate",
195
+ "BrainstormState",
196
+ "BrainstormUpdate",
197
+ "BurnUpChartAdtl",
198
+ "Chart",
199
+ "ChartAggregation",
200
+ "ChartType",
201
+ "Comment",
202
+ "CommentCreate",
203
+ "CommentReaction",
204
+ "CommentReactionCreate",
205
+ "CommentReactionUpdate",
206
+ "CommentUpdate",
207
+ "Dartboard",
208
+ "DartboardCreate",
209
+ "DartboardKind",
210
+ "DartboardsListKind",
211
+ "DartboardUpdate",
212
+ "Dashboard",
213
+ "DashboardCreate",
214
+ "DashboardUpdate",
215
+ "DiscordIntegration",
216
+ "Doc",
217
+ "DocCreate",
218
+ "DocsListOItem",
219
+ "DocSourceType",
220
+ "DocUpdate",
221
+ "EntityName",
222
+ "Event",
223
+ "EventActor",
224
+ "EventCreate",
225
+ "EventKind",
226
+ "EventSubscription",
227
+ "EventSubscriptionUpdate",
228
+ "FilterApplicability",
229
+ "FilterAssignee",
230
+ "FilterConnector",
231
+ "FilterGroup",
232
+ "FilterSearch",
233
+ "FilterSet",
234
+ "Folder",
235
+ "FolderCreate",
236
+ "FolderKind",
237
+ "FoldersListKind",
238
+ "FolderUpdate",
239
+ "Form",
240
+ "FormCreate",
241
+ "FormField",
242
+ "FormFieldCreate",
243
+ "FormFieldUpdate",
244
+ "FormUpdate",
245
+ "GithubIntegration",
246
+ "GithubIntegrationTenantExtensionStatus",
247
+ "GoogleData",
248
+ "IconKind",
249
+ "Layout",
250
+ "LayoutConfig",
251
+ "LayoutCreate",
252
+ "LayoutKind",
253
+ "LayoutKindConfigMap",
254
+ "LayoutUpdate",
255
+ "LineChartAdtl",
256
+ "ModelsResponse",
257
+ "Notification",
258
+ "NotificationUpdate",
259
+ "NotionIntegration",
260
+ "NotionIntegrationTenantExtensionStatus",
261
+ "NumberChartAdtl",
262
+ "Operation",
263
+ "OperationKind",
264
+ "OperationModelKind",
265
+ "Option",
266
+ "OptionCreate",
267
+ "OptionUpdate",
268
+ "PaginatedAttachmentList",
269
+ "PaginatedCommentList",
270
+ "PaginatedCommentReactionList",
271
+ "PaginatedDartboardList",
272
+ "PaginatedDashboardList",
273
+ "PaginatedDocList",
274
+ "PaginatedFolderList",
275
+ "PaginatedFormFieldList",
276
+ "PaginatedFormList",
277
+ "PaginatedLayoutList",
278
+ "PaginatedOptionList",
279
+ "PaginatedPropertyList",
280
+ "PaginatedRelationshipKindList",
281
+ "PaginatedRelationshipList",
282
+ "PaginatedSpaceList",
283
+ "PaginatedStatusList",
284
+ "PaginatedTaskDocRelationshipList",
285
+ "PaginatedTaskKindList",
286
+ "PaginatedTaskLinkList",
287
+ "PaginatedTaskList",
288
+ "PaginatedTenantList",
289
+ "PaginatedUserDartboardLayoutList",
290
+ "PaginatedUserList",
291
+ "PaginatedViewList",
292
+ "PaginatedWebhookList",
293
+ "PieChartAdtl",
294
+ "PieChartDisplayMetric",
295
+ "Priority",
296
+ "PropertiesListKind",
297
+ "Property",
298
+ "PropertyCreate",
299
+ "PropertyKind",
300
+ "PropertyUpdate",
301
+ "Relationship",
302
+ "RelationshipCreate",
303
+ "RelationshipKind",
304
+ "RelationshipKindCreate",
305
+ "RelationshipKindKind",
306
+ "RelationshipKindUpdate",
307
+ "ReportKind",
308
+ "RequestBody",
309
+ "ResponseBody",
310
+ "SamlConfig",
311
+ "SamlConfigTenantExtensionStatus",
312
+ "SlackIntegration",
313
+ "SlackIntegrationTenantExtensionStatus",
314
+ "Sort",
315
+ "Space",
316
+ "SpaceCreate",
317
+ "SpaceKind",
318
+ "SpaceUpdate",
319
+ "SprintMode",
320
+ "Status",
321
+ "StatusCreate",
322
+ "StatusesListKind",
323
+ "StatusKind",
324
+ "StatusUpdate",
325
+ "Subscription",
326
+ "SubtaskDisplayMode",
327
+ "SummaryStatisticKind",
328
+ "TableChartAdtl",
329
+ "Task",
330
+ "TaskCreate",
331
+ "TaskDetailMode",
332
+ "TaskDocRelationship",
333
+ "TaskDocRelationshipCreate",
334
+ "TaskKind",
335
+ "TaskKindCreate",
336
+ "TaskKindKind",
337
+ "TaskKindsListKind",
338
+ "TaskKindUpdate",
339
+ "TaskLink",
340
+ "TaskLinkCreate",
341
+ "TaskLinkKind",
342
+ "TaskLinkUpdate",
343
+ "TaskNotionDocument",
344
+ "TaskNotionDocumentBlockChildrenMapType0",
345
+ "TaskNotionDocumentBlockMapType0",
346
+ "TaskNotionDocumentPageMapType0",
347
+ "TaskProperties",
348
+ "TaskSourceType",
349
+ "TaskUpdate",
350
+ "Tenant",
351
+ "TenantUpdate",
352
+ "Theme",
353
+ "Transaction",
354
+ "TransactionKind",
355
+ "TransactionResponse",
356
+ "User",
357
+ "UserDartboardLayout",
358
+ "UserDartboardLayoutCreate",
359
+ "UserDataEntityRetrieveEntityKind",
360
+ "UserRole",
361
+ "UserStatus",
362
+ "UserUpdate",
363
+ "ValidationErrorResponse",
364
+ "ValidationErrorResponseItems",
365
+ "View",
366
+ "ViewCreate",
367
+ "ViewKind",
368
+ "ViewUpdate",
369
+ "Webhook",
370
+ "WebhookCreate",
371
+ "WebhookUpdate",
372
+ "ZapierIntegration",
373
+ )