:py:mod:`vendor_fabric.slack` ============================= .. py:module:: vendor_fabric.slack .. autodoc2-docstring:: vendor_fabric.slack :parser: myst :allowtitles: Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 vendor_fabric.slack.tools Package Contents ---------------- Classes ~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`SlackConnector ` - .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector :parser: myst :summary: Functions ~~~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`get_divider ` - .. autodoc2-docstring:: vendor_fabric.slack.get_divider :parser: myst :summary: * - :py:obj:`get_header_block ` - .. autodoc2-docstring:: vendor_fabric.slack.get_header_block :parser: myst :summary: * - :py:obj:`get_field_context_message_blocks ` - .. autodoc2-docstring:: vendor_fabric.slack.get_field_context_message_blocks :parser: myst :summary: * - :py:obj:`get_key_value_blocks ` - .. autodoc2-docstring:: vendor_fabric.slack.get_key_value_blocks :parser: myst :summary: * - :py:obj:`get_rich_text_blocks ` - .. autodoc2-docstring:: vendor_fabric.slack.get_rich_text_blocks :parser: myst :summary: Data ~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`SlackApiError ` - .. autodoc2-docstring:: vendor_fabric.slack.SlackApiError :parser: myst :summary: * - :py:obj:`WebClient ` - .. autodoc2-docstring:: vendor_fabric.slack.WebClient :parser: myst :summary: * - :py:obj:`MAX_RETRY_TIMEOUT_SECONDS ` - .. autodoc2-docstring:: vendor_fabric.slack.MAX_RETRY_TIMEOUT_SECONDS :parser: myst :summary: API ~~~ .. py:exception:: SlackFallbackError() :canonical: vendor_fabric.slack.SlackFallbackError Bases: :py:obj:`Exception` .. autodoc2-docstring:: vendor_fabric.slack.SlackFallbackError :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.slack.SlackFallbackError.__init__ :parser: myst .. py:method:: add_note() :canonical: vendor_fabric.slack.SlackFallbackError.add_note .. py:class:: args :canonical: vendor_fabric.slack.SlackFallbackError.args .. py:method:: with_traceback() :canonical: vendor_fabric.slack.SlackFallbackError.with_traceback .. py:data:: SlackApiError :canonical: vendor_fabric.slack.SlackApiError :type: typing.Any :value: None .. autodoc2-docstring:: vendor_fabric.slack.SlackApiError :parser: myst .. py:data:: WebClient :canonical: vendor_fabric.slack.WebClient :type: typing.Any :value: None .. autodoc2-docstring:: vendor_fabric.slack.WebClient :parser: myst .. py:data:: MAX_RETRY_TIMEOUT_SECONDS :canonical: vendor_fabric.slack.MAX_RETRY_TIMEOUT_SECONDS :value: 30 .. autodoc2-docstring:: vendor_fabric.slack.MAX_RETRY_TIMEOUT_SECONDS :parser: myst .. py:exception:: SlackAPIError(response: typing.Any) :canonical: vendor_fabric.slack.SlackAPIError Bases: :py:obj:`RuntimeError` .. autodoc2-docstring:: vendor_fabric.slack.SlackAPIError :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.slack.SlackAPIError.__init__ :parser: myst .. py:method:: add_note() :canonical: vendor_fabric.slack.SlackAPIError.add_note .. py:class:: args :canonical: vendor_fabric.slack.SlackAPIError.args .. py:method:: with_traceback() :canonical: vendor_fabric.slack.SlackAPIError.with_traceback .. py:function:: get_divider() -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.slack.get_divider .. autodoc2-docstring:: vendor_fabric.slack.get_divider :parser: myst .. py:function:: get_header_block(field_title: str) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.slack.get_header_block .. autodoc2-docstring:: vendor_fabric.slack.get_header_block :parser: myst .. py:function:: get_field_context_message_blocks(field_name: str, context_data: collections.abc.Mapping[str, typing.Any]) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.slack.get_field_context_message_blocks .. autodoc2-docstring:: vendor_fabric.slack.get_field_context_message_blocks :parser: myst .. py:function:: get_key_value_blocks(k: str, v: typing.Any) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.slack.get_key_value_blocks .. autodoc2-docstring:: vendor_fabric.slack.get_key_value_blocks :parser: myst .. py:function:: get_rich_text_blocks(lines: list[str], bold: bool = False, italic: bool = False, strike: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.slack.get_rich_text_blocks .. autodoc2-docstring:: vendor_fabric.slack.get_rich_text_blocks :parser: myst .. py:class:: SlackConnector(token: str | None = None, bot_token: str | None = None, logger: extended_data.logging.Logging | None = None, **kwargs: typing.Any) :canonical: vendor_fabric.slack.SlackConnector Bases: :py:obj:`vendor_fabric.base.ConnectorBase` .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector.__init__ :parser: myst .. py:method:: send_message(channel_name: str, text: str, blocks: list[typing.Any] | extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] | None = None, lines: list[str] | None = None, bold: bool = False, italic: bool = False, strike: bool = False, thread_id: str | None = None, raise_on_api_error: bool = True) -> extended_data.containers.ExtendedString | extended_data.containers.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.send_message .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector.send_message :parser: myst .. py:method:: get_bot_channels() -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.get_bot_channels .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector.get_bot_channels :parser: myst .. py:method:: list_users(include_locale: bool | None = None, limit: int | None = None, team_id: str | None = None, include_deleted: bool | None = None, include_bots: bool | None = None, include_app_users: bool | None = None, **kwargs: typing.Any) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.list_users .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector.list_users :parser: myst .. py:method:: list_usergroups(include_disabled: bool | None = None, include_count: bool | None = None, include_users: bool | None = None, team_id: str | None = None, usergroup_ids: str | collections.abc.Sequence[str] | None = None, **kwargs: typing.Any) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.list_usergroups .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector.list_usergroups :parser: myst .. py:method:: list_conversations(exclude_archived: bool | None = None, limit: int | None = None, team_id: str | None = None, types: str | collections.abc.Sequence[str] | None = None, get_members: bool | None = None, channels_only: bool | None = None, **kwargs: typing.Any) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.list_conversations .. autodoc2-docstring:: vendor_fabric.slack.SlackConnector.list_conversations :parser: myst .. py:attribute:: BASE_URL :canonical: vendor_fabric.slack.SlackConnector.BASE_URL :type: typing.ClassVar[str] :value: .. py:attribute:: API_KEY_ENV :canonical: vendor_fabric.slack.SlackConnector.API_KEY_ENV :type: typing.ClassVar[str] :value: .. py:attribute:: CONNECTOR_CATEGORY :canonical: vendor_fabric.slack.SlackConnector.CONNECTOR_CATEGORY :type: typing.ClassVar[str] :value: 'external' .. py:attribute:: CONNECTOR_CAPABILITIES :canonical: vendor_fabric.slack.SlackConnector.CONNECTOR_CAPABILITIES :type: typing.ClassVar[tuple[str, ...]] :value: () .. py:attribute:: TIMEOUT :canonical: vendor_fabric.slack.SlackConnector.TIMEOUT :type: typing.ClassVar[float] :value: 300.0 .. py:attribute:: MIN_REQUEST_INTERVAL :canonical: vendor_fabric.slack.SlackConnector.MIN_REQUEST_INTERVAL :type: typing.ClassVar[float] :value: 0.0 .. py:attribute:: MAX_RETRIES :canonical: vendor_fabric.slack.SlackConnector.MAX_RETRIES :type: typing.ClassVar[int] :value: 5 .. py:property:: api_key :canonical: vendor_fabric.slack.SlackConnector.api_key :type: str .. py:property:: client :canonical: vendor_fabric.slack.SlackConnector.client :type: httpx.Client .. py:method:: close() -> None :canonical: vendor_fabric.slack.SlackConnector.close .. py:method:: request(method: str, endpoint: str, *, headers: dict[str, str] | None = None, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.slack.SlackConnector.request .. py:method:: decode_response(response: httpx.Response, *, suffix: str | None = None, as_extended: bool = True) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.decode_response .. py:method:: decode_response_file(response: httpx.Response, *, source: str | None = None, suffix: str | None = None, as_extended: bool = True, metadata: collections.abc.Mapping[str, typing.Any] | None = None) -> extended_data.io.DataFile :canonical: vendor_fabric.slack.SlackConnector.decode_response_file .. py:method:: extend_result(value: typing.Any) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.extend_result .. py:method:: request_data(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.request_data .. py:method:: request_data_file(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.io.DataFile :canonical: vendor_fabric.slack.SlackConnector.request_data_file .. py:method:: request_workflow(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.slack.SlackConnector.request_workflow .. py:method:: get(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.slack.SlackConnector.get .. py:method:: get_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.get_data .. py:method:: get_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.slack.SlackConnector.get_workflow .. py:method:: post(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.slack.SlackConnector.post .. py:method:: post_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.post_data .. py:method:: post_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.slack.SlackConnector.post_workflow .. py:method:: put(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.slack.SlackConnector.put .. py:method:: put_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.put_data .. py:method:: put_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.slack.SlackConnector.put_workflow .. py:method:: delete(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.slack.SlackConnector.delete .. py:method:: delete_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.delete_data .. py:method:: delete_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.slack.SlackConnector.delete_workflow .. py:method:: patch(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.slack.SlackConnector.patch .. py:method:: patch_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.patch_data .. py:method:: patch_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.slack.SlackConnector.patch_workflow .. py:method:: download(url: str, output_path: str) -> int :canonical: vendor_fabric.slack.SlackConnector.download .. py:attribute:: vendor_capabilities :canonical: vendor_fabric.slack.SlackConnector.vendor_capabilities :type: typing.ClassVar[dict[str, vendor_fabric.capabilities.CapabilitySpec]] :value: None .. py:attribute:: vendor_capability_methods :canonical: vendor_fabric.slack.SlackConnector.vendor_capability_methods :type: typing.ClassVar[dict[str, str]] :value: None .. py:method:: get_input(k: str, default: typing.Any | None = None, required: bool = False, is_bool: bool = False, is_integer: bool = False, is_float: bool = False, is_path: bool = False, is_datetime: bool = False, as_extended: bool = False) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.get_input .. py:method:: decode_input(k: str, default: typing.Any | None = None, required: bool = False, decode_from_json: bool = False, decode_from_yaml: bool = False, decode_from_base64: bool = False, allow_none: bool = True, as_extended: bool = False) -> typing.Any :canonical: vendor_fabric.slack.SlackConnector.decode_input .. py:method:: freeze_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.freeze_inputs .. py:method:: thaw_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.thaw_inputs .. py:method:: snapshot_inputs(*, frozen: bool = False) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.snapshot_inputs .. py:method:: replace_inputs(new_inputs: collections.abc.Mapping[str, typing.Any] | None, *, clear_frozen: bool = True) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.replace_inputs .. py:method:: merge_inputs(new_inputs: collections.abc.Mapping[str, typing.Any] | None) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.merge_inputs .. py:method:: shift_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.slack.SlackConnector.shift_inputs