# tap-workato
`tap-workato` is a Singer tap for Workato.
Built with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.
## Installation
This tap is installable via pypi
```bash
pipx install tap-workato
```
Or, if using via Meltano you can add configuration like so in the `meltano.yml` file:
```yaml
plugins:
extractors:
- name: tap-workato
namespace: tap_workato
pip_url: -e .
capabilities:
- state
- catalog
- discover
settings:
- name: user_token
kind: password
- name: user_email
kind: password
```
and then run the following from the CLI:
```shell
meltano install extractor tap-workato
```
## Configuration
### Accepted Config Options
A full list of supported settings and capabilities for this
tap is available by running:
```bash
tap-workato --about
```
Available streams include:
- `api_clients`
- `api_collection`
- `connections`
- `customer_accounts` *
- `customer_api_access_profiles` *
- `customer_api_clients` *
- `customer_api_collections` *
- `customer_api_endpoints` *
- `customer_connections` *
- `customer_connections` *
- `customer_members` *
- `customer_recipes` *
- `customer_roles` *
- `folders`
- `jobs`
- `on_prem_agents`
- `on_prem_groups`
- `recipes`
- `roles`
Notes:
- _* The endpoints utilized by these streams are
Embedded Vendor APIs and require the `oem_vendor` privilege in Workato._
- The workato Embedded API does not allow for extracting customer jobs
data at this time.
### Source Authentication and Authorization
You will need authentication tokens set up in your Workato account. Namely a user
email and a user token. See the
instructions [here](https://docs.workato.com/oem/oem-api.html#authentication).
## Usage
You can easily run `tap-workato` by itself or in a pipeline using [Meltano](https://meltano.com/).
### Executing the Tap Directly
```bash
tap-workato --version
tap-workato --help
tap-workato --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_workato/tests` subfolder and
then run:
```bash
poetry run pytest
```
You can also test the `tap-workato` CLI interface directly using `poetry run`:
```bash
poetry run tap-workato --help
```
Other useful workflows are included in the `tox.ini`:
```bash
poetry run tox -e format
poetry run tox -e lint
poetry run tox -e pytest
```
### Testing with [Meltano](https://www.meltano.com)
_**Note:** This tap will work in any Singer environment and does not require Meltano.
Examples here are for convenience and to streamline end-to-end orchestration scenarios._
Your project comes with a custom `meltano.yml` project file already created. Open the `meltano.yml` and follow any _"TODO"_ items listed in
the file.
Next, install Meltano (if you haven't already) and any needed plugins:
```bash
# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-workato
meltano install
```
Now you can test and orchestrate using Meltano:
```bash
# Test invocation:
meltano invoke tap-workato --version
# OR run a test `elt` pipeline:
meltano elt tap-workato target-jsonl
```
### 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.
Raw data
{
"_id": null,
"home_page": "https://github.com/Widen/tap-workato",
"name": "tap-workato",
"maintainer": null,
"docs_url": null,
"requires_python": "<3.11,>=3.7.1",
"maintainer_email": null,
"keywords": "ELT, Workato, Singer, tap",
"author": "Josh Lloyd",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/d5/0c/520df0fdeace90fdcf58540c9e53e3bd177cec9082c3263b9236abb08fbf/tap-workato-0.1.1.tar.gz",
"platform": null,
"description": "# tap-workato\n\n`tap-workato` is a Singer tap for Workato.\n\nBuilt with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.\n\n## Installation\nThis tap is installable via pypi\n\n```bash\npipx install tap-workato\n```\n\nOr, if using via Meltano you can add configuration like so in the `meltano.yml` file:\n\n```yaml\nplugins:\n extractors:\n - name: tap-workato\n namespace: tap_workato\n pip_url: -e .\n capabilities:\n - state\n - catalog\n - discover\n settings:\n - name: user_token\n kind: password\n - name: user_email\n kind: password\n```\n\nand then run the following from the CLI:\n\n```shell\nmeltano install extractor tap-workato\n```\n\n## Configuration\n\n### Accepted Config Options\n\nA full list of supported settings and capabilities for this\ntap is available by running:\n\n```bash\ntap-workato --about\n```\n\nAvailable streams include:\n- `api_clients`\n- `api_collection`\n- `connections`\n- `customer_accounts` *\n- `customer_api_access_profiles` *\n- `customer_api_clients` *\n- `customer_api_collections` *\n- `customer_api_endpoints` *\n- `customer_connections` *\n- `customer_connections` *\n- `customer_members` *\n- `customer_recipes` *\n- `customer_roles` *\n- `folders`\n- `jobs`\n- `on_prem_agents`\n- `on_prem_groups`\n- `recipes`\n- `roles`\n\nNotes:\n- _* The endpoints utilized by these streams are \n Embedded Vendor APIs and require the `oem_vendor` privilege in Workato._\n- The workato Embedded API does not allow for extracting customer jobs \n data at this time.\n\n### Source Authentication and Authorization\n\nYou will need authentication tokens set up in your Workato account. Namely a user \nemail and a user token. See the \ninstructions [here](https://docs.workato.com/oem/oem-api.html#authentication).\n\n## Usage\n\nYou can easily run `tap-workato` by itself or in a pipeline using [Meltano](https://meltano.com/).\n\n### Executing the Tap Directly\n\n```bash\ntap-workato --version\ntap-workato --help\ntap-workato --config CONFIG --discover > ./catalog.json\n```\n\n## Developer Resources\n\n### Initialize your Development Environment\n\n```bash\npipx install poetry\npoetry install\n```\n\n### Create and Run Tests\n\nCreate tests within the `tap_workato/tests` subfolder and\n then run:\n\n```bash\npoetry run pytest\n```\n\nYou can also test the `tap-workato` CLI interface directly using `poetry run`:\n\n```bash\npoetry run tap-workato --help\n```\n\nOther useful workflows are included in the `tox.ini`:\n\n```bash\npoetry run tox -e format\npoetry run tox -e lint\npoetry run tox -e pytest\n```\n\n### Testing with [Meltano](https://www.meltano.com)\n\n_**Note:** This tap will work in any Singer environment and does not require Meltano.\nExamples here are for convenience and to streamline end-to-end orchestration scenarios._\n\nYour project comes with a custom `meltano.yml` project file already created. Open the `meltano.yml` and follow any _\"TODO\"_ items listed in\nthe file.\n\nNext, install Meltano (if you haven't already) and any needed plugins:\n\n```bash\n# Install meltano\npipx install meltano\n# Initialize meltano within this directory\ncd tap-workato\nmeltano install\n```\n\nNow you can test and orchestrate using Meltano:\n\n```bash\n# Test invocation:\nmeltano invoke tap-workato --version\n# OR run a test `elt` pipeline:\nmeltano elt tap-workato target-jsonl\n```\n\n### SDK Dev Guide\n\nSee the [dev guide](https://sdk.meltano.com/en/latest/dev_guide.html) for more instructions on how to use the SDK to \ndevelop your own taps and targets.\n\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "`tap-workato` is a Singer tap for Workato, built with the Meltano SDK for Singer Taps.",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/Widen/tap-workato",
"Repository": "https://github.com/Widen/tap-workato"
},
"split_keywords": [
"elt",
" workato",
" singer",
" tap"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "9d11e13c65ed40f7898100faffb7eeb28cd7ad787283195e517b64d49a64db23",
"md5": "1d9de399a10d4ce4709a812dfc3ed5d1",
"sha256": "2247b936e3ed998dd1b9ded6f0399a2a3248faaf435262adb2bf921eb80351c7"
},
"downloads": -1,
"filename": "tap_workato-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1d9de399a10d4ce4709a812dfc3ed5d1",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<3.11,>=3.7.1",
"size": 12543,
"upload_time": "2024-06-21T18:28:46",
"upload_time_iso_8601": "2024-06-21T18:28:46.971586Z",
"url": "https://files.pythonhosted.org/packages/9d/11/e13c65ed40f7898100faffb7eeb28cd7ad787283195e517b64d49a64db23/tap_workato-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d50c520df0fdeace90fdcf58540c9e53e3bd177cec9082c3263b9236abb08fbf",
"md5": "d4067304cd3afff2712eaa3751012449",
"sha256": "d324556c93680d5a8c8fe2d31fcb27e9ed3f814d46ec8fd8d1bb859228dd1cc2"
},
"downloads": -1,
"filename": "tap-workato-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "d4067304cd3afff2712eaa3751012449",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<3.11,>=3.7.1",
"size": 12760,
"upload_time": "2024-06-21T18:28:48",
"upload_time_iso_8601": "2024-06-21T18:28:48.386557Z",
"url": "https://files.pythonhosted.org/packages/d5/0c/520df0fdeace90fdcf58540c9e53e3bd177cec9082c3263b9236abb08fbf/tap-workato-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-21 18:28:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Widen",
"github_project": "tap-workato",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "tap-workato"
}