Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/meltanolabs/tap-slack
Singer.io tap for Slack built with the Meltano SDK
https://github.com/meltanolabs/tap-slack
python sdk slack
Last synced: 1 day ago
JSON representation
Singer.io tap for Slack built with the Meltano SDK
- Host: GitHub
- URL: https://github.com/meltanolabs/tap-slack
- Owner: MeltanoLabs
- License: apache-2.0
- Created: 2021-10-04T13:41:10.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-14T01:39:21.000Z (over 1 year ago)
- Last Synced: 2023-06-14T02:32:59.607Z (over 1 year ago)
- Topics: python, sdk, slack
- Language: Python
- Homepage:
- Size: 137 KB
- Stars: 1
- Watchers: 5
- Forks: 3
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# tap-slack
`tap-slack` is a Singer tap for Slack, built with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.
## Installation
You can install this repository directly from the Github repo. For example, by running:
```bash
pipx install git+https://github.com/MeltanoLabs/tap-slack.git
```## Configuration
### Accepted Config Options
A full list of supported settings and capabilities for this
tap is available by running:```bash
tap-slack --about
```### Creating the Tap-Slack App
In order to access the records in your workspace, you will need to create a new Slack App.
Below is an example App Manifest that you can use for your workspace. If you would like to
access additional channels, such as direct messages, you will need to provide additional scopes
to your Slack app.```
_metadata:
major_version: 1
minor_version: 1
display_information:
name: MeltanoLabs Tap-Slack
description: Slack App to support the implementation of Singer.io tap-slack
long_description: This application is used for extracting channel, user, and message data from the Slack workspace via the tap-slack application. Found on GitHub at https://github.com/MeltanoLabs/tap-slack.
features:
bot_user:
display_name: MeltanoLabs Tap-Slack
always_online: false
oauth_config:
redirect_urls:
- https://meltano.com/
scopes:
bot:
- channels:join
- channels:history
- channels:read
- users:read
- users:read.email
settings:
org_deploy_enabled: false
socket_mode_enabled: false
token_rotation_enabled: false
```### Rate Limits
The Slack API implements a tiered rate limiting system, where certain methods operate under
different rate limitations. In this tap, rate limiting is handled by adding a pause
between API calls. For more information, see Slack's [rate limits documentation](https://api.slack.com/docs/rate-limits).## Usage
You can easily run `tap-slack` by itself or in a pipeline using [Meltano](https://meltano.com/).
### Executing the Tap Directly
```bash
tap-slack --version
tap-slack --help
tap-slack --config CONFIG --discover > ./catalog.json
```## Developer Resources
### Initialize your Development Environment
```bash
pipx install poetry
poetry install
```### Create and Run Tests
Create tests within the `tap_slack/tests` subfolder and
then run:```bash
poetry run pytest
```You can also test the `tap-slack` CLI interface directly using `poetry run`:
```bash
poetry run tap-slack --help
```### SDK Dev Guide
See the [dev guide](https://sdk.meltano.com/en/latest/dev_guide.html) for more instructions on how to use the SDK to
develop your own taps and targets.