pipedream 2.1.2__tar.gz → 2.1.3__tar.gz

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 (245) hide show
  1. {pipedream-2.1.2 → pipedream-2.1.3}/PKG-INFO +1 -1
  2. {pipedream-2.1.2 → pipedream-2.1.3}/pyproject.toml +1 -1
  3. pipedream-2.1.3/src/pipedream/apps/client.py +326 -0
  4. pipedream-2.1.3/src/pipedream/apps/raw_client.py +344 -0
  5. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/client_wrapper.py +2 -2
  6. pipedream-2.1.3/src/pipedream/errors/__init__.py +40 -0
  7. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/__init__.py +0 -9
  8. pipedream-2.1.3/src/pipedream/types/error_response.py +36 -0
  9. pipedream-2.1.2/src/pipedream/apps/client.py +0 -683
  10. pipedream-2.1.2/src/pipedream/apps/raw_client.py +0 -831
  11. pipedream-2.1.2/src/pipedream/errors/__init__.py +0 -62
  12. pipedream-2.1.2/src/pipedream/errors/bad_gateway_error.py +0 -11
  13. pipedream-2.1.2/src/pipedream/errors/forbidden_error.py +0 -11
  14. pipedream-2.1.2/src/pipedream/errors/gateway_timeout_error.py +0 -11
  15. pipedream-2.1.2/src/pipedream/errors/not_implemented_error.py +0 -11
  16. pipedream-2.1.2/src/pipedream/errors/service_unavailable_error.py +0 -11
  17. pipedream-2.1.2/src/pipedream/errors/unauthorized_error.py +0 -11
  18. pipedream-2.1.2/src/pipedream/types/apps_page_info.py +0 -22
  19. pipedream-2.1.2/src/pipedream/types/connect_error.py +0 -23
  20. pipedream-2.1.2/src/pipedream/types/error_response.py +0 -28
  21. pipedream-2.1.2/src/pipedream/types/list_response.py +0 -21
  22. {pipedream-2.1.2 → pipedream-2.1.3}/LICENSE +0 -0
  23. {pipedream-2.1.2 → pipedream-2.1.3}/README.md +0 -0
  24. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/__init__.py +0 -0
  25. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/_default_clients.py +0 -0
  26. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/accounts/__init__.py +0 -0
  27. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/accounts/client.py +0 -0
  28. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/accounts/raw_client.py +0 -0
  29. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/__init__.py +0 -0
  30. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/client.py +0 -0
  31. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/raw_client.py +0 -0
  32. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/types/__init__.py +0 -0
  33. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/types/actions_list_request_registry.py +0 -0
  34. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/app_categories/__init__.py +0 -0
  35. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/app_categories/client.py +0 -0
  36. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/app_categories/raw_client.py +0 -0
  37. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/__init__.py +0 -0
  38. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/types/__init__.py +0 -0
  39. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/types/apps_list_request_sort_direction.py +0 -0
  40. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/types/apps_list_request_sort_key.py +0 -0
  41. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/client.py +0 -0
  42. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/__init__.py +0 -0
  43. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/client.py +0 -0
  44. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/raw_client.py +0 -0
  45. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/types/__init__.py +0 -0
  46. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/types/components_list_request_registry.py +0 -0
  47. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/__init__.py +0 -0
  48. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/api_error.py +0 -0
  49. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/datetime_utils.py +0 -0
  50. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/file.py +0 -0
  51. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/force_multipart.py +0 -0
  52. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_client.py +0 -0
  53. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_response.py +0 -0
  54. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/__init__.py +0 -0
  55. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_api.py +0 -0
  56. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_decoders.py +0 -0
  57. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_exceptions.py +0 -0
  58. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_models.py +0 -0
  59. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/jsonable_encoder.py +0 -0
  60. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/logging.py +0 -0
  61. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/oauth_token_provider.py +0 -0
  62. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/pagination.py +0 -0
  63. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/parse_error.py +0 -0
  64. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/pydantic_utilities.py +0 -0
  65. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/query_encoder.py +0 -0
  66. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/remove_none_from_dict.py +0 -0
  67. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/request_options.py +0 -0
  68. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/serialization.py +0 -0
  69. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/deployed_triggers/__init__.py +0 -0
  70. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/deployed_triggers/client.py +0 -0
  71. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/deployed_triggers/raw_client.py +0 -0
  72. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/environment.py +0 -0
  73. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/errors/bad_request_error.py +0 -0
  74. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/errors/not_found_error.py +0 -0
  75. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/errors/too_many_requests_error.py +0 -0
  76. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/file_stash/__init__.py +0 -0
  77. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/file_stash/client.py +0 -0
  78. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/file_stash/raw_client.py +0 -0
  79. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/oauth_tokens/__init__.py +0 -0
  80. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/oauth_tokens/client.py +0 -0
  81. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/oauth_tokens/raw_client.py +0 -0
  82. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/pipedream.py +0 -0
  83. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/project_environment/__init__.py +0 -0
  84. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/project_environment/client.py +0 -0
  85. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/project_environment/raw_client.py +0 -0
  86. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/projects/__init__.py +0 -0
  87. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/projects/client.py +0 -0
  88. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/projects/raw_client.py +0 -0
  89. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/proxy/__init__.py +0 -0
  90. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/proxy/client.py +0 -0
  91. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/proxy/raw_client.py +0 -0
  92. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/py.typed +0 -0
  93. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/tokens/__init__.py +0 -0
  94. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/tokens/client.py +0 -0
  95. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/tokens/raw_client.py +0 -0
  96. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/__init__.py +0 -0
  97. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/client.py +0 -0
  98. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/raw_client.py +0 -0
  99. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/types/__init__.py +0 -0
  100. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/types/triggers_list_request_registry.py +0 -0
  101. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/account.py +0 -0
  102. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/account_credentials.py +0 -0
  103. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/account_id.py +0 -0
  104. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app.py +0 -0
  105. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_auth_type.py +0 -0
  106. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_category.py +0 -0
  107. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_scope_profiles_item.py +0 -0
  108. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_scope_profiles_item_name.py +0 -0
  109. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/backend_client_opts.py +0 -0
  110. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/client_opts.py +0 -0
  111. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/component.py +0 -0
  112. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/component_stash.py +0 -0
  113. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/component_type.py +0 -0
  114. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop.py +0 -0
  115. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_base_id.py +0 -0
  116. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_field_id.py +0 -0
  117. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_table_id.py +0 -0
  118. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_view_id.py +0 -0
  119. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_alert.py +0 -0
  120. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_alert_type.py +0 -0
  121. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_any.py +0 -0
  122. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_any_options_item.py +0 -0
  123. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_app.py +0 -0
  124. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_apphook.py +0 -0
  125. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_base.py +0 -0
  126. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_base_type.py +0 -0
  127. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_boolean.py +0 -0
  128. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_boolean_options_item.py +0 -0
  129. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_data_store.py +0 -0
  130. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_db.py +0 -0
  131. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_dir.py +0 -0
  132. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_dir_access_mode.py +0 -0
  133. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_discord_channel.py +0 -0
  134. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_discord_channel_array.py +0 -0
  135. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_http.py +0 -0
  136. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_http_request.py +0 -0
  137. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer.py +0 -0
  138. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer_array.py +0 -0
  139. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer_array_options_item.py +0 -0
  140. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer_options_item.py +0 -0
  141. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_object.py +0 -0
  142. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_object_options_item.py +0 -0
  143. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_sql.py +0 -0
  144. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_sql_auth.py +0 -0
  145. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_sql_options_item.py +0 -0
  146. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string.py +0 -0
  147. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_array.py +0 -0
  148. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_array_options_item.py +0 -0
  149. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_format.py +0 -0
  150. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_options_item.py +0 -0
  151. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer.py +0 -0
  152. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer_default.py +0 -0
  153. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer_option.py +0 -0
  154. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer_static.py +0 -0
  155. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_options.py +0 -0
  156. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_options_item.py +0 -0
  157. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_opts.py +0 -0
  158. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_response.py +0 -0
  159. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value.py +0 -0
  160. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_any.py +0 -0
  161. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_app.py +0 -0
  162. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_boolean.py +0 -0
  163. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_integer.py +0 -0
  164. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_object.py +0 -0
  165. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_sql.py +0 -0
  166. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_string.py +0 -0
  167. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_string_array.py +0 -0
  168. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_props.py +0 -0
  169. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/connect_token.py +0 -0
  170. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/connect_usage.py +0 -0
  171. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/connect_usage_response.py +0 -0
  172. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/create_o_auth_token_response.py +0 -0
  173. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/create_token_response.py +0 -0
  174. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/delete_trigger_opts.py +0 -0
  175. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/deploy_trigger_response.py +0 -0
  176. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/deployed_component.py +0 -0
  177. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/dynamic_props.py +0 -0
  178. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/emitted_event.py +0 -0
  179. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/emitter.py +0 -0
  180. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/emitter_type.py +0 -0
  181. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/external_user.py +0 -0
  182. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_accounts_response.py +0 -0
  183. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_app_category_response.py +0 -0
  184. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_app_response.py +0 -0
  185. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_apps_response.py +0 -0
  186. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_component_response.py +0 -0
  187. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_components_response.py +0 -0
  188. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_events_response.py +0 -0
  189. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_response.py +0 -0
  190. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_webhooks_response.py +0 -0
  191. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_workflows_response.py +0 -0
  192. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_triggers_response.py +0 -0
  193. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_users_response.py +0 -0
  194. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_webhook_response.py +0 -0
  195. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_webhook_with_signing_key_response.py +0 -0
  196. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_interface.py +0 -0
  197. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_auth.py +0 -0
  198. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_auth_type.py +0 -0
  199. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_body.py +0 -0
  200. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_body_mode.py +0 -0
  201. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_body_type.py +0 -0
  202. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_config.py +0 -0
  203. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_field.py +0 -0
  204. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_accounts_response.py +0 -0
  205. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_app_categories_response.py +0 -0
  206. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_apps_response.py +0 -0
  207. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_projects_response.py +0 -0
  208. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/observation.py +0 -0
  209. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/observation_error.py +0 -0
  210. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/page_info.py +0 -0
  211. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project.py +0 -0
  212. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project_environment.py +0 -0
  213. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project_info_response.py +0 -0
  214. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project_info_response_app.py +0 -0
  215. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/prop_option.py +0 -0
  216. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/prop_option_nested.py +0 -0
  217. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/prop_option_value.py +0 -0
  218. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/proxy_response.py +0 -0
  219. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/proxy_response_binary.py +0 -0
  220. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/reload_props_opts.py +0 -0
  221. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/reload_props_response.py +0 -0
  222. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/run_action_opts_stash_id.py +0 -0
  223. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/run_action_response.py +0 -0
  224. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/set_webhook_response.py +0 -0
  225. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/start_connect_opts.py +0 -0
  226. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/stash_id.py +0 -0
  227. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/timer_cron.py +0 -0
  228. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/timer_interface.py +0 -0
  229. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/timer_interval.py +0 -0
  230. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/too_many_requests_error_body.py +0 -0
  231. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/tool_annotations.py +0 -0
  232. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/trigger_webhook.py +0 -0
  233. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/validate_token_response.py +0 -0
  234. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/webhook.py +0 -0
  235. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/webhook_with_optional_signing_key.py +0 -0
  236. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/webhook_with_signing_key.py +0 -0
  237. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/usage/__init__.py +0 -0
  238. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/usage/client.py +0 -0
  239. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/usage/raw_client.py +0 -0
  240. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/users/__init__.py +0 -0
  241. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/users/client.py +0 -0
  242. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/users/raw_client.py +0 -0
  243. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/version.py +0 -0
  244. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/workflows/__init__.py +0 -0
  245. {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/workflows/client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pipedream
3
- Version: 2.1.2
3
+ Version: 2.1.3
4
4
  Summary:
5
5
  Requires-Python: >=3.10,<4.0
6
6
  Classifier: Intended Audience :: Developers
@@ -4,7 +4,7 @@ dynamic = ["version"]
4
4
 
5
5
  [tool.poetry]
6
6
  name = "pipedream"
7
- version = "2.1.2"
7
+ version = "2.1.3"
8
8
  description = ""
9
9
  readme = "README.md"
10
10
  authors = []
@@ -0,0 +1,326 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
6
+ from ..core.pagination import AsyncPager, SyncPager
7
+ from ..core.request_options import RequestOptions
8
+ from ..types.app import App
9
+ from ..types.get_app_response import GetAppResponse
10
+ from ..types.list_apps_response import ListAppsResponse
11
+ from .raw_client import AsyncRawAppsClient, RawAppsClient
12
+ from .types.apps_list_request_sort_direction import AppsListRequestSortDirection
13
+ from .types.apps_list_request_sort_key import AppsListRequestSortKey
14
+
15
+
16
+ class AppsClient:
17
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
18
+ self._raw_client = RawAppsClient(client_wrapper=client_wrapper)
19
+
20
+ @property
21
+ def with_raw_response(self) -> RawAppsClient:
22
+ """
23
+ Retrieves a raw implementation of this client that returns raw responses.
24
+
25
+ Returns
26
+ -------
27
+ RawAppsClient
28
+ """
29
+ return self._raw_client
30
+
31
+ def list(
32
+ self,
33
+ *,
34
+ after: typing.Optional[str] = None,
35
+ before: typing.Optional[str] = None,
36
+ limit: typing.Optional[int] = None,
37
+ q: typing.Optional[str] = None,
38
+ sort_key: typing.Optional[AppsListRequestSortKey] = None,
39
+ sort_direction: typing.Optional[AppsListRequestSortDirection] = None,
40
+ category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
41
+ has_components: typing.Optional[bool] = None,
42
+ has_actions: typing.Optional[bool] = None,
43
+ has_triggers: typing.Optional[bool] = None,
44
+ request_options: typing.Optional[RequestOptions] = None,
45
+ ) -> SyncPager[App, ListAppsResponse]:
46
+ """
47
+ Retrieve all available apps with optional filtering and sorting
48
+
49
+ Parameters
50
+ ----------
51
+ after : typing.Optional[str]
52
+ The cursor to start from for pagination
53
+
54
+ before : typing.Optional[str]
55
+ The cursor to end before for pagination
56
+
57
+ limit : typing.Optional[int]
58
+ The maximum number of results to return
59
+
60
+ q : typing.Optional[str]
61
+ A search query to filter the apps
62
+
63
+ sort_key : typing.Optional[AppsListRequestSortKey]
64
+ The key to sort the apps by
65
+
66
+ sort_direction : typing.Optional[AppsListRequestSortDirection]
67
+ The direction to sort the apps
68
+
69
+ category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
70
+ Only return apps in these categories
71
+
72
+ has_components : typing.Optional[bool]
73
+ Only return apps that have components (actions or triggers)
74
+
75
+ has_actions : typing.Optional[bool]
76
+ Only return apps that have actions
77
+
78
+ has_triggers : typing.Optional[bool]
79
+ Only return apps that have triggers
80
+
81
+ request_options : typing.Optional[RequestOptions]
82
+ Request-specific configuration.
83
+
84
+ Returns
85
+ -------
86
+ SyncPager[App, ListAppsResponse]
87
+ apps listed
88
+
89
+ Examples
90
+ --------
91
+ from pipedream import Pipedream
92
+
93
+ client = Pipedream(
94
+ project_id="YOUR_PROJECT_ID",
95
+ client_id="YOUR_CLIENT_ID",
96
+ client_secret="YOUR_CLIENT_SECRET",
97
+ )
98
+ response = client.apps.list(
99
+ after="after",
100
+ before="before",
101
+ limit=1,
102
+ q="q",
103
+ sort_key="name",
104
+ sort_direction="asc",
105
+ category_ids=["category_ids"],
106
+ has_components=True,
107
+ has_actions=True,
108
+ has_triggers=True,
109
+ )
110
+ for item in response:
111
+ yield item
112
+ # alternatively, you can paginate page-by-page
113
+ for page in response.iter_pages():
114
+ yield page
115
+ """
116
+ return self._raw_client.list(
117
+ after=after,
118
+ before=before,
119
+ limit=limit,
120
+ q=q,
121
+ sort_key=sort_key,
122
+ sort_direction=sort_direction,
123
+ category_ids=category_ids,
124
+ has_components=has_components,
125
+ has_actions=has_actions,
126
+ has_triggers=has_triggers,
127
+ request_options=request_options,
128
+ )
129
+
130
+ def retrieve(self, app_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> GetAppResponse:
131
+ """
132
+ Get detailed information about a specific app by ID or name slug
133
+
134
+ Parameters
135
+ ----------
136
+ app_id : str
137
+ The name slug or ID of the app (e.g., 'slack', 'github')
138
+
139
+ request_options : typing.Optional[RequestOptions]
140
+ Request-specific configuration.
141
+
142
+ Returns
143
+ -------
144
+ GetAppResponse
145
+ app retrieved
146
+
147
+ Examples
148
+ --------
149
+ from pipedream import Pipedream
150
+
151
+ client = Pipedream(
152
+ project_id="YOUR_PROJECT_ID",
153
+ client_id="YOUR_CLIENT_ID",
154
+ client_secret="YOUR_CLIENT_SECRET",
155
+ )
156
+ client.apps.retrieve(
157
+ app_id="app_id",
158
+ )
159
+ """
160
+ _response = self._raw_client.retrieve(app_id, request_options=request_options)
161
+ return _response.data
162
+
163
+
164
+ class AsyncAppsClient:
165
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
166
+ self._raw_client = AsyncRawAppsClient(client_wrapper=client_wrapper)
167
+
168
+ @property
169
+ def with_raw_response(self) -> AsyncRawAppsClient:
170
+ """
171
+ Retrieves a raw implementation of this client that returns raw responses.
172
+
173
+ Returns
174
+ -------
175
+ AsyncRawAppsClient
176
+ """
177
+ return self._raw_client
178
+
179
+ async def list(
180
+ self,
181
+ *,
182
+ after: typing.Optional[str] = None,
183
+ before: typing.Optional[str] = None,
184
+ limit: typing.Optional[int] = None,
185
+ q: typing.Optional[str] = None,
186
+ sort_key: typing.Optional[AppsListRequestSortKey] = None,
187
+ sort_direction: typing.Optional[AppsListRequestSortDirection] = None,
188
+ category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
189
+ has_components: typing.Optional[bool] = None,
190
+ has_actions: typing.Optional[bool] = None,
191
+ has_triggers: typing.Optional[bool] = None,
192
+ request_options: typing.Optional[RequestOptions] = None,
193
+ ) -> AsyncPager[App, ListAppsResponse]:
194
+ """
195
+ Retrieve all available apps with optional filtering and sorting
196
+
197
+ Parameters
198
+ ----------
199
+ after : typing.Optional[str]
200
+ The cursor to start from for pagination
201
+
202
+ before : typing.Optional[str]
203
+ The cursor to end before for pagination
204
+
205
+ limit : typing.Optional[int]
206
+ The maximum number of results to return
207
+
208
+ q : typing.Optional[str]
209
+ A search query to filter the apps
210
+
211
+ sort_key : typing.Optional[AppsListRequestSortKey]
212
+ The key to sort the apps by
213
+
214
+ sort_direction : typing.Optional[AppsListRequestSortDirection]
215
+ The direction to sort the apps
216
+
217
+ category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
218
+ Only return apps in these categories
219
+
220
+ has_components : typing.Optional[bool]
221
+ Only return apps that have components (actions or triggers)
222
+
223
+ has_actions : typing.Optional[bool]
224
+ Only return apps that have actions
225
+
226
+ has_triggers : typing.Optional[bool]
227
+ Only return apps that have triggers
228
+
229
+ request_options : typing.Optional[RequestOptions]
230
+ Request-specific configuration.
231
+
232
+ Returns
233
+ -------
234
+ AsyncPager[App, ListAppsResponse]
235
+ apps listed
236
+
237
+ Examples
238
+ --------
239
+ import asyncio
240
+
241
+ from pipedream import AsyncPipedream
242
+
243
+ client = AsyncPipedream(
244
+ project_id="YOUR_PROJECT_ID",
245
+ client_id="YOUR_CLIENT_ID",
246
+ client_secret="YOUR_CLIENT_SECRET",
247
+ )
248
+
249
+
250
+ async def main() -> None:
251
+ response = await client.apps.list(
252
+ after="after",
253
+ before="before",
254
+ limit=1,
255
+ q="q",
256
+ sort_key="name",
257
+ sort_direction="asc",
258
+ category_ids=["category_ids"],
259
+ has_components=True,
260
+ has_actions=True,
261
+ has_triggers=True,
262
+ )
263
+ async for item in response:
264
+ yield item
265
+
266
+ # alternatively, you can paginate page-by-page
267
+ async for page in response.iter_pages():
268
+ yield page
269
+
270
+
271
+ asyncio.run(main())
272
+ """
273
+ return await self._raw_client.list(
274
+ after=after,
275
+ before=before,
276
+ limit=limit,
277
+ q=q,
278
+ sort_key=sort_key,
279
+ sort_direction=sort_direction,
280
+ category_ids=category_ids,
281
+ has_components=has_components,
282
+ has_actions=has_actions,
283
+ has_triggers=has_triggers,
284
+ request_options=request_options,
285
+ )
286
+
287
+ async def retrieve(self, app_id: str, *, request_options: typing.Optional[RequestOptions] = None) -> GetAppResponse:
288
+ """
289
+ Get detailed information about a specific app by ID or name slug
290
+
291
+ Parameters
292
+ ----------
293
+ app_id : str
294
+ The name slug or ID of the app (e.g., 'slack', 'github')
295
+
296
+ request_options : typing.Optional[RequestOptions]
297
+ Request-specific configuration.
298
+
299
+ Returns
300
+ -------
301
+ GetAppResponse
302
+ app retrieved
303
+
304
+ Examples
305
+ --------
306
+ import asyncio
307
+
308
+ from pipedream import AsyncPipedream
309
+
310
+ client = AsyncPipedream(
311
+ project_id="YOUR_PROJECT_ID",
312
+ client_id="YOUR_CLIENT_ID",
313
+ client_secret="YOUR_CLIENT_SECRET",
314
+ )
315
+
316
+
317
+ async def main() -> None:
318
+ await client.apps.retrieve(
319
+ app_id="app_id",
320
+ )
321
+
322
+
323
+ asyncio.run(main())
324
+ """
325
+ _response = await self._raw_client.retrieve(app_id, request_options=request_options)
326
+ return _response.data
@@ -0,0 +1,344 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from json.decoder import JSONDecodeError
5
+
6
+ from ..core.api_error import ApiError
7
+ from ..core.client_wrapper import AsyncClientWrapper, SyncClientWrapper
8
+ from ..core.http_response import AsyncHttpResponse, HttpResponse
9
+ from ..core.jsonable_encoder import encode_path_param
10
+ from ..core.pagination import AsyncPager, SyncPager
11
+ from ..core.parse_error import ParsingError
12
+ from ..core.pydantic_utilities import parse_obj_as
13
+ from ..core.request_options import RequestOptions
14
+ from ..types.app import App
15
+ from ..types.get_app_response import GetAppResponse
16
+ from ..types.list_apps_response import ListAppsResponse
17
+ from .types.apps_list_request_sort_direction import AppsListRequestSortDirection
18
+ from .types.apps_list_request_sort_key import AppsListRequestSortKey
19
+ from pydantic import ValidationError
20
+
21
+
22
+ class RawAppsClient:
23
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
24
+ self._client_wrapper = client_wrapper
25
+
26
+ def list(
27
+ self,
28
+ *,
29
+ after: typing.Optional[str] = None,
30
+ before: typing.Optional[str] = None,
31
+ limit: typing.Optional[int] = None,
32
+ q: typing.Optional[str] = None,
33
+ sort_key: typing.Optional[AppsListRequestSortKey] = None,
34
+ sort_direction: typing.Optional[AppsListRequestSortDirection] = None,
35
+ category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
36
+ has_components: typing.Optional[bool] = None,
37
+ has_actions: typing.Optional[bool] = None,
38
+ has_triggers: typing.Optional[bool] = None,
39
+ request_options: typing.Optional[RequestOptions] = None,
40
+ ) -> SyncPager[App, ListAppsResponse]:
41
+ """
42
+ Retrieve all available apps with optional filtering and sorting
43
+
44
+ Parameters
45
+ ----------
46
+ after : typing.Optional[str]
47
+ The cursor to start from for pagination
48
+
49
+ before : typing.Optional[str]
50
+ The cursor to end before for pagination
51
+
52
+ limit : typing.Optional[int]
53
+ The maximum number of results to return
54
+
55
+ q : typing.Optional[str]
56
+ A search query to filter the apps
57
+
58
+ sort_key : typing.Optional[AppsListRequestSortKey]
59
+ The key to sort the apps by
60
+
61
+ sort_direction : typing.Optional[AppsListRequestSortDirection]
62
+ The direction to sort the apps
63
+
64
+ category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
65
+ Only return apps in these categories
66
+
67
+ has_components : typing.Optional[bool]
68
+ Only return apps that have components (actions or triggers)
69
+
70
+ has_actions : typing.Optional[bool]
71
+ Only return apps that have actions
72
+
73
+ has_triggers : typing.Optional[bool]
74
+ Only return apps that have triggers
75
+
76
+ request_options : typing.Optional[RequestOptions]
77
+ Request-specific configuration.
78
+
79
+ Returns
80
+ -------
81
+ SyncPager[App, ListAppsResponse]
82
+ apps listed
83
+ """
84
+ _response = self._client_wrapper.httpx_client.request(
85
+ "v1/connect/apps",
86
+ method="GET",
87
+ params={
88
+ "after": after,
89
+ "before": before,
90
+ "limit": limit,
91
+ "q": q,
92
+ "sort_key": sort_key,
93
+ "sort_direction": sort_direction,
94
+ "category_ids": category_ids,
95
+ "has_components": has_components,
96
+ "has_actions": has_actions,
97
+ "has_triggers": has_triggers,
98
+ },
99
+ request_options=request_options,
100
+ )
101
+ try:
102
+ if 200 <= _response.status_code < 300:
103
+ _parsed_response = typing.cast(
104
+ ListAppsResponse,
105
+ parse_obj_as(
106
+ type_=ListAppsResponse, # type: ignore
107
+ object_=_response.json(),
108
+ ),
109
+ )
110
+ _items = _parsed_response.data
111
+ _has_next = False
112
+ _get_next = None
113
+ if _parsed_response.page_info is not None:
114
+ _parsed_next = _parsed_response.page_info.end_cursor
115
+ _has_next = _parsed_next is not None and _parsed_next != ""
116
+ _get_next = lambda: self.list(
117
+ after=_parsed_next,
118
+ before=before,
119
+ limit=limit,
120
+ q=q,
121
+ sort_key=sort_key,
122
+ sort_direction=sort_direction,
123
+ category_ids=category_ids,
124
+ has_components=has_components,
125
+ has_actions=has_actions,
126
+ has_triggers=has_triggers,
127
+ request_options=request_options,
128
+ )
129
+ return SyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response)
130
+ _response_json = _response.json()
131
+ except JSONDecodeError:
132
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
133
+ except ValidationError as e:
134
+ raise ParsingError(
135
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
136
+ )
137
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
138
+
139
+ def retrieve(
140
+ self, app_id: str, *, request_options: typing.Optional[RequestOptions] = None
141
+ ) -> HttpResponse[GetAppResponse]:
142
+ """
143
+ Get detailed information about a specific app by ID or name slug
144
+
145
+ Parameters
146
+ ----------
147
+ app_id : str
148
+ The name slug or ID of the app (e.g., 'slack', 'github')
149
+
150
+ request_options : typing.Optional[RequestOptions]
151
+ Request-specific configuration.
152
+
153
+ Returns
154
+ -------
155
+ HttpResponse[GetAppResponse]
156
+ app retrieved
157
+ """
158
+ _response = self._client_wrapper.httpx_client.request(
159
+ f"v1/connect/apps/{encode_path_param(app_id)}",
160
+ method="GET",
161
+ request_options=request_options,
162
+ )
163
+ try:
164
+ if 200 <= _response.status_code < 300:
165
+ _data = typing.cast(
166
+ GetAppResponse,
167
+ parse_obj_as(
168
+ type_=GetAppResponse, # type: ignore
169
+ object_=_response.json(),
170
+ ),
171
+ )
172
+ return HttpResponse(response=_response, data=_data)
173
+ _response_json = _response.json()
174
+ except JSONDecodeError:
175
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
176
+ except ValidationError as e:
177
+ raise ParsingError(
178
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
179
+ )
180
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
181
+
182
+
183
+ class AsyncRawAppsClient:
184
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
185
+ self._client_wrapper = client_wrapper
186
+
187
+ async def list(
188
+ self,
189
+ *,
190
+ after: typing.Optional[str] = None,
191
+ before: typing.Optional[str] = None,
192
+ limit: typing.Optional[int] = None,
193
+ q: typing.Optional[str] = None,
194
+ sort_key: typing.Optional[AppsListRequestSortKey] = None,
195
+ sort_direction: typing.Optional[AppsListRequestSortDirection] = None,
196
+ category_ids: typing.Optional[typing.Union[str, typing.Sequence[str]]] = None,
197
+ has_components: typing.Optional[bool] = None,
198
+ has_actions: typing.Optional[bool] = None,
199
+ has_triggers: typing.Optional[bool] = None,
200
+ request_options: typing.Optional[RequestOptions] = None,
201
+ ) -> AsyncPager[App, ListAppsResponse]:
202
+ """
203
+ Retrieve all available apps with optional filtering and sorting
204
+
205
+ Parameters
206
+ ----------
207
+ after : typing.Optional[str]
208
+ The cursor to start from for pagination
209
+
210
+ before : typing.Optional[str]
211
+ The cursor to end before for pagination
212
+
213
+ limit : typing.Optional[int]
214
+ The maximum number of results to return
215
+
216
+ q : typing.Optional[str]
217
+ A search query to filter the apps
218
+
219
+ sort_key : typing.Optional[AppsListRequestSortKey]
220
+ The key to sort the apps by
221
+
222
+ sort_direction : typing.Optional[AppsListRequestSortDirection]
223
+ The direction to sort the apps
224
+
225
+ category_ids : typing.Optional[typing.Union[str, typing.Sequence[str]]]
226
+ Only return apps in these categories
227
+
228
+ has_components : typing.Optional[bool]
229
+ Only return apps that have components (actions or triggers)
230
+
231
+ has_actions : typing.Optional[bool]
232
+ Only return apps that have actions
233
+
234
+ has_triggers : typing.Optional[bool]
235
+ Only return apps that have triggers
236
+
237
+ request_options : typing.Optional[RequestOptions]
238
+ Request-specific configuration.
239
+
240
+ Returns
241
+ -------
242
+ AsyncPager[App, ListAppsResponse]
243
+ apps listed
244
+ """
245
+ _response = await self._client_wrapper.httpx_client.request(
246
+ "v1/connect/apps",
247
+ method="GET",
248
+ params={
249
+ "after": after,
250
+ "before": before,
251
+ "limit": limit,
252
+ "q": q,
253
+ "sort_key": sort_key,
254
+ "sort_direction": sort_direction,
255
+ "category_ids": category_ids,
256
+ "has_components": has_components,
257
+ "has_actions": has_actions,
258
+ "has_triggers": has_triggers,
259
+ },
260
+ request_options=request_options,
261
+ )
262
+ try:
263
+ if 200 <= _response.status_code < 300:
264
+ _parsed_response = typing.cast(
265
+ ListAppsResponse,
266
+ parse_obj_as(
267
+ type_=ListAppsResponse, # type: ignore
268
+ object_=_response.json(),
269
+ ),
270
+ )
271
+ _items = _parsed_response.data
272
+ _has_next = False
273
+ _get_next = None
274
+ if _parsed_response.page_info is not None:
275
+ _parsed_next = _parsed_response.page_info.end_cursor
276
+ _has_next = _parsed_next is not None and _parsed_next != ""
277
+
278
+ async def _get_next():
279
+ return await self.list(
280
+ after=_parsed_next,
281
+ before=before,
282
+ limit=limit,
283
+ q=q,
284
+ sort_key=sort_key,
285
+ sort_direction=sort_direction,
286
+ category_ids=category_ids,
287
+ has_components=has_components,
288
+ has_actions=has_actions,
289
+ has_triggers=has_triggers,
290
+ request_options=request_options,
291
+ )
292
+
293
+ return AsyncPager(has_next=_has_next, items=_items, get_next=_get_next, response=_parsed_response)
294
+ _response_json = _response.json()
295
+ except JSONDecodeError:
296
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
297
+ except ValidationError as e:
298
+ raise ParsingError(
299
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
300
+ )
301
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
302
+
303
+ async def retrieve(
304
+ self, app_id: str, *, request_options: typing.Optional[RequestOptions] = None
305
+ ) -> AsyncHttpResponse[GetAppResponse]:
306
+ """
307
+ Get detailed information about a specific app by ID or name slug
308
+
309
+ Parameters
310
+ ----------
311
+ app_id : str
312
+ The name slug or ID of the app (e.g., 'slack', 'github')
313
+
314
+ request_options : typing.Optional[RequestOptions]
315
+ Request-specific configuration.
316
+
317
+ Returns
318
+ -------
319
+ AsyncHttpResponse[GetAppResponse]
320
+ app retrieved
321
+ """
322
+ _response = await self._client_wrapper.httpx_client.request(
323
+ f"v1/connect/apps/{encode_path_param(app_id)}",
324
+ method="GET",
325
+ request_options=request_options,
326
+ )
327
+ try:
328
+ if 200 <= _response.status_code < 300:
329
+ _data = typing.cast(
330
+ GetAppResponse,
331
+ parse_obj_as(
332
+ type_=GetAppResponse, # type: ignore
333
+ object_=_response.json(),
334
+ ),
335
+ )
336
+ return AsyncHttpResponse(response=_response, data=_data)
337
+ _response_json = _response.json()
338
+ except JSONDecodeError:
339
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response.text)
340
+ except ValidationError as e:
341
+ raise ParsingError(
342
+ status_code=_response.status_code, headers=dict(_response.headers), body=_response.json(), cause=e
343
+ )
344
+ raise ApiError(status_code=_response.status_code, headers=dict(_response.headers), body=_response_json)
@@ -34,12 +34,12 @@ class BaseClientWrapper:
34
34
  import platform
35
35
 
36
36
  headers: typing.Dict[str, str] = {
37
- "User-Agent": "pipedream/2.1.2",
37
+ "User-Agent": "pipedream/2.1.3",
38
38
  "X-Fern-Language": "Python",
39
39
  "X-Fern-Runtime": f"python/{platform.python_version()}",
40
40
  "X-Fern-Platform": f"{platform.system().lower()}/{platform.release()}",
41
41
  "X-Fern-SDK-Name": "pipedream",
42
- "X-Fern-SDK-Version": "2.1.2",
42
+ "X-Fern-SDK-Version": "2.1.3",
43
43
  **(self.get_custom_headers() or {}),
44
44
  }
45
45
  if self._project_environment is not None: