{"id":22546481,"url":"https://github.com/tailsdotcom/tap-tableau-server","last_synced_at":"2025-03-28T08:45:44.240Z","repository":{"id":49229932,"uuid":"378132186","full_name":"tailsdotcom/tap-tableau-server","owner":"tailsdotcom","description":"A Singer tap for Tableau Server","archived":false,"fork":false,"pushed_at":"2023-10-18T02:00:26.000Z","size":78,"stargazers_count":3,"open_issues_count":3,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-02-02T09:31:01.779Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tailsdotcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-06-18T11:43:15.000Z","updated_at":"2023-08-22T15:47:59.000Z","dependencies_parsed_at":"2025-02-02T09:28:15.110Z","dependency_job_id":"ab336dcf-9d59-4576-8dff-21ea13b036dc","html_url":"https://github.com/tailsdotcom/tap-tableau-server","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailsdotcom%2Ftap-tableau-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailsdotcom%2Ftap-tableau-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailsdotcom%2Ftap-tableau-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tailsdotcom%2Ftap-tableau-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tailsdotcom","download_url":"https://codeload.github.com/tailsdotcom/tap-tableau-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245999321,"owners_count":20707554,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-07T15:07:59.200Z","updated_at":"2025-03-28T08:45:44.225Z","avatar_url":"https://github.com/tailsdotcom.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# tap-tableau-server\n\n`tap-tableau-server` is a Singer tap for Tableau Server, focused (currently) on\nextracting details _embedded inside Workbook files_. This includes\nDatasources, Connections and Relations, as well as retrieving\ntable references from embedded Custom SQL text fields inside Relation entities.\n\nExtracting the specifics of Datasources, Connections, Relations and Table References\nfrom each Workbook help answer questions like:\n\n- Which Workbooks depend on which tables in which databases?\n- How many Workbooks depend on Excel, CSV or Google Sheets?\n- Who's credentials are used for embedded connections, in which Workbooks?\n\nHaving answers to all of these questions has helped us with wrangling our\nTableau Server instance, which is several years old and has over 1000 Workbooks.\n\nIn future, we hope to extend this tap to cover other metadata that is exposed\nby the Tableau Server API's directly (esp. Published Connections and child objects).\nPR submission very welcome. Watch this space!\n\nBuilt with the Meltano [SDK](https://gitlab.com/meltano/singer-sdk) for Singer Taps.\n\n## Installation\n\n```bash\npipx install tap-tableau-server\n```\n\n## Configuration\n\n### Accepted Config Options\n\n```\n{\n  \"host\": \"\u003ctableau server hostname\u003e\",\n  \"username\": \"\u003ctableau server username\u003e\",\n  \"password\": \"\u003ctableau server user password\u003e\",\n  \"limit\": \"\u003cmax number of workbooks to fetch per run\u003e\",\n  \"relation_types_exclude\": [\"\u003clist of tableau workbook relation types to exclude\u003e\"],\n  \"relation_types_include\": [\"\u003clist of tableau workbook relation types to include\u003e\"]\n}\n```\n\n**Note:** The `limit` configuration is useful for large Tableau Server instances\nwhere the number of workbooks to download may be in the 1000's. Setting a limit\non the number of workbooks retrieved per run effectively allows you to backfill\nin fixed increments over several successive tap runs, reducing the load on your\nserver and minimising impact to other users.\n\nA full list of supported settings and capabilities for this\ntap is available by running:\n\n```bash\ntap-tableau-server --about\n```\n\n### Source Authentication and Authorization\n\nOnly workbooks accessible to the user configured above can be extracted. Consider\ncreating a user with the broadest possible access to ensure you collect details\nfrom all available Workbooks.\n\n## Usage\n\nYou can easily run `tap-tableau-server` by itself or in a pipeline using [Meltano](www.meltano.com).\n\n### Executing the Tap Directly\n\n```bash\ntap-tableau-server --version\ntap-tableau-server --help\ntap-tableau-server --config CONFIG --discover \u003e ./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_tableau_server/tests` subfolder and\n  then run:\n\n```bash\npoetry run pytest\n```\n\nYou can also test the `tap-tableau-server` CLI interface directly using `poetry run`:\n\n```bash\npoetry run tap-tableau-server --help\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-tableau-server\nmeltano install\n```\n\nNow you can test and orchestrate using Meltano:\n\n```bash\n# Test invocation:\nmeltano invoke tap-tableau-server --version\n# OR run a test `elt` pipeline:\nmeltano elt tap-tableau-server target-jsonl\n```\n\n### SDK Dev Guide\n\nSee the [dev guide](https://gitlab.com/meltano/singer-sdk/-/blob/main/docs/dev_guide.md) for more instructions on how to use the SDK to\ndevelop your own taps and targets.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailsdotcom%2Ftap-tableau-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftailsdotcom%2Ftap-tableau-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftailsdotcom%2Ftap-tableau-server/lists"}