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.
- {pipedream-2.1.2 → pipedream-2.1.3}/PKG-INFO +1 -1
- {pipedream-2.1.2 → pipedream-2.1.3}/pyproject.toml +1 -1
- pipedream-2.1.3/src/pipedream/apps/client.py +326 -0
- pipedream-2.1.3/src/pipedream/apps/raw_client.py +344 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/client_wrapper.py +2 -2
- pipedream-2.1.3/src/pipedream/errors/__init__.py +40 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/__init__.py +0 -9
- pipedream-2.1.3/src/pipedream/types/error_response.py +36 -0
- pipedream-2.1.2/src/pipedream/apps/client.py +0 -683
- pipedream-2.1.2/src/pipedream/apps/raw_client.py +0 -831
- pipedream-2.1.2/src/pipedream/errors/__init__.py +0 -62
- pipedream-2.1.2/src/pipedream/errors/bad_gateway_error.py +0 -11
- pipedream-2.1.2/src/pipedream/errors/forbidden_error.py +0 -11
- pipedream-2.1.2/src/pipedream/errors/gateway_timeout_error.py +0 -11
- pipedream-2.1.2/src/pipedream/errors/not_implemented_error.py +0 -11
- pipedream-2.1.2/src/pipedream/errors/service_unavailable_error.py +0 -11
- pipedream-2.1.2/src/pipedream/errors/unauthorized_error.py +0 -11
- pipedream-2.1.2/src/pipedream/types/apps_page_info.py +0 -22
- pipedream-2.1.2/src/pipedream/types/connect_error.py +0 -23
- pipedream-2.1.2/src/pipedream/types/error_response.py +0 -28
- pipedream-2.1.2/src/pipedream/types/list_response.py +0 -21
- {pipedream-2.1.2 → pipedream-2.1.3}/LICENSE +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/README.md +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/_default_clients.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/accounts/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/accounts/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/accounts/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/types/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/actions/types/actions_list_request_registry.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/app_categories/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/app_categories/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/app_categories/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/types/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/types/apps_list_request_sort_direction.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/apps/types/apps_list_request_sort_key.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/types/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/components/types/components_list_request_registry.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/api_error.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/datetime_utils.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/file.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/force_multipart.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_api.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_decoders.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_exceptions.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/http_sse/_models.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/jsonable_encoder.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/logging.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/oauth_token_provider.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/pagination.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/parse_error.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/pydantic_utilities.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/query_encoder.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/remove_none_from_dict.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/request_options.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/core/serialization.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/deployed_triggers/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/deployed_triggers/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/deployed_triggers/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/environment.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/errors/bad_request_error.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/errors/not_found_error.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/errors/too_many_requests_error.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/file_stash/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/file_stash/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/file_stash/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/oauth_tokens/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/oauth_tokens/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/oauth_tokens/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/pipedream.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/project_environment/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/project_environment/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/project_environment/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/projects/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/projects/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/projects/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/proxy/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/proxy/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/proxy/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/py.typed +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/tokens/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/tokens/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/tokens/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/types/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/triggers/types/triggers_list_request_registry.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/account.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/account_credentials.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/account_id.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_auth_type.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_category.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_scope_profiles_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/app_scope_profiles_item_name.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/backend_client_opts.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/client_opts.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/component.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/component_stash.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/component_type.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_base_id.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_field_id.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_table_id.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_airtable_view_id.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_alert.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_alert_type.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_any.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_any_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_app.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_apphook.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_base.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_base_type.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_boolean.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_boolean_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_data_store.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_db.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_dir.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_dir_access_mode.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_discord_channel.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_discord_channel_array.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_http.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_http_request.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer_array.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer_array_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_integer_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_object.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_object_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_sql.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_sql_auth.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_sql_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_array.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_array_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_format.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_string_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer_default.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer_option.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configurable_prop_timer_static.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_options.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_options_item.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_opts.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configure_prop_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_any.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_app.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_boolean.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_integer.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_object.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_sql.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_string.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_prop_value_string_array.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/configured_props.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/connect_token.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/connect_usage.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/connect_usage_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/create_o_auth_token_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/create_token_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/delete_trigger_opts.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/deploy_trigger_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/deployed_component.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/dynamic_props.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/emitted_event.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/emitter.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/emitter_type.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/external_user.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_accounts_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_app_category_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_app_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_apps_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_component_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_components_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_events_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_webhooks_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_trigger_workflows_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_triggers_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_users_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_webhook_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/get_webhook_with_signing_key_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_interface.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_auth.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_auth_type.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_body.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_body_mode.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_body_type.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_config.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/http_request_field.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_accounts_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_app_categories_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_apps_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/list_projects_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/observation.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/observation_error.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/page_info.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project_environment.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project_info_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/project_info_response_app.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/prop_option.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/prop_option_nested.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/prop_option_value.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/proxy_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/proxy_response_binary.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/reload_props_opts.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/reload_props_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/run_action_opts_stash_id.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/run_action_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/set_webhook_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/start_connect_opts.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/stash_id.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/timer_cron.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/timer_interface.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/timer_interval.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/too_many_requests_error_body.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/tool_annotations.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/trigger_webhook.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/validate_token_response.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/webhook.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/webhook_with_optional_signing_key.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/types/webhook_with_signing_key.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/usage/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/usage/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/usage/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/users/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/users/client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/users/raw_client.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/version.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/workflows/__init__.py +0 -0
- {pipedream-2.1.2 → pipedream-2.1.3}/src/pipedream/workflows/client.py +0 -0
|
@@ -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.
|
|
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.
|
|
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:
|