# tap-gainsightpx
`tap-gainsightpx` is a Singer tap for GainsightPX.
Built with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.
## Installation
Install from PyPi:
```bash
pipx install tap-gainsightpx
```
Install from GitHub:
```bash
pipx install git+https://github.com/Widen/tap-gainsightpx.git@main
```
## Configuration
### Accepted Config Options
A full list of supported settings and capabilities for this
tap is available by running:
```bash
tap-gainsightpx --about
```
<!--
This section can be created by copy-pasting the CLI output from:
```
tap-gainsightpx --about --format=markdown
```
-->
| Setting | Required | Default | Description |
|:--------------------|:--------:|:-------:|:------------|
| api_url | False | https://api.aptrinsic.com/v1 | The base url for GainsightPX service. See GainsightPX docs. |
| api_key | True | None | The api key to authenticate against the GainsightPX service |
| page_size | False | 500 | The number of records to return from the API in single page.Default and Max is 500. |
| start_date | False | 2022-10-26T00:00:00Z | The earliest record date to sync (inclusive '>='). ISO Format |
| end_date | False | 2022-10-27T00:00:00Z | The latest record date to sync (inclusive '<='). ISO format. |
| stream_maps | False | None | Config object for stream maps capability. For more information check out [Stream Maps](https://sdk.meltano.com/en/latest/stream_maps.html). |
| stream_map_config | False | None | User-defined config values to be used within map expressions. |
| flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. |
| flattening_max_depth| False | None | The max depth to flatten schemas. |
### Configure using environment variables
This Singer tap will automatically import any environment variables within the working directory's
`.env` if the `--config=ENV` is provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the `.env` file.
### Source Authentication and Authorization
See the [GainsightPX documentation](https://support.gainsight.com/PX/API_for_Developers/02Usage_of_Different_APIs/Work_with_the_Gainsight_PX_REST_API#Sample_API_Calls)
for how to create an API key and find your base url.
## Usage
You can easily run `tap-gainsightpx` by itself or in a pipeline using [Meltano](https://meltano.com/).
### Executing the Tap Directly
```bash
tap-gainsightpx --version
tap-gainsightpx --help
tap-gainsightpx --config CONFIG --discover > ./catalog.json
```
## Developer Resources
Follow these instructions to contribute to this project.
### Initialize your Development Environment
```bash
pipx install poetry
poetry install
```
### Create and Run Tests
Create tests within the `tap_gainsightpx/tests` subfolder and
then run:
```bash
poetry run pytest
```
You can also test the `tap-gainsightpx` CLI interface directly using `poetry run`:
```bash
poetry run tap-gainsightpx --help
```
### 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._
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-gainsightpx
meltano install
```
Now you can test and orchestrate using Meltano:
```bash
# Test invocation:
meltano invoke tap-gainsightpx --version
# OR run a test `elt` pipeline:
meltano elt tap-gainsightpx 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-gainsightpx",
"name": "tap-gainsightpx",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.7.1",
"maintainer_email": null,
"keywords": "ELT, GainsightPX, Meltano, Singer, REST, API, tap",
"author": "Josh Lloyd",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/e9/16/fe71d27528e4bc28cbfee7ec077f6bb547f252fd01f644b7bfc9f6e01111/tap_gainsightpx-1.0.7.tar.gz",
"platform": null,
"description": "# tap-gainsightpx\n\n`tap-gainsightpx` is a Singer tap for GainsightPX.\n\nBuilt with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.\n\n\n## Installation\n\nInstall from PyPi:\n\n```bash\npipx install tap-gainsightpx\n```\n\nInstall from GitHub:\n\n```bash\npipx install git+https://github.com/Widen/tap-gainsightpx.git@main\n```\n\n\n## Configuration\n\n### Accepted Config Options\n\n\nA full list of supported settings and capabilities for this\ntap is available by running:\n\n```bash\ntap-gainsightpx --about\n```\n\n<!--\nThis section can be created by copy-pasting the CLI output from:\n\n```\ntap-gainsightpx --about --format=markdown\n```\n-->\n\n| Setting | Required | Default | Description |\n|:--------------------|:--------:|:-------:|:------------|\n| api_url | False | https://api.aptrinsic.com/v1 | The base url for GainsightPX service. See GainsightPX docs. |\n| api_key | True | None | The api key to authenticate against the GainsightPX service |\n| page_size | False | 500 | The number of records to return from the API in single page.Default and Max is 500. |\n| start_date | False | 2022-10-26T00:00:00Z | The earliest record date to sync (inclusive '>='). ISO Format |\n| end_date | False | 2022-10-27T00:00:00Z | The latest record date to sync (inclusive '<='). ISO format. |\n| stream_maps | False | None | Config object for stream maps capability. For more information check out [Stream Maps](https://sdk.meltano.com/en/latest/stream_maps.html). |\n| stream_map_config | False | None | User-defined config values to be used within map expressions. |\n| flattening_enabled | False | None | 'True' to enable schema flattening and automatically expand nested properties. |\n| flattening_max_depth| False | None | The max depth to flatten schemas. |\n\n### Configure using environment variables\n\nThis Singer tap will automatically import any environment variables within the working directory's\n`.env` if the `--config=ENV` is provided, such that config values will be considered if a matching\nenvironment variable is set either in the terminal context or in the `.env` file.\n\n### Source Authentication and Authorization\nSee the [GainsightPX documentation](https://support.gainsight.com/PX/API_for_Developers/02Usage_of_Different_APIs/Work_with_the_Gainsight_PX_REST_API#Sample_API_Calls) \nfor how to create an API key and find your base url.\n\n## Usage\n\nYou can easily run `tap-gainsightpx` by itself or in a pipeline using [Meltano](https://meltano.com/).\n\n### Executing the Tap Directly\n\n```bash\ntap-gainsightpx --version\ntap-gainsightpx --help\ntap-gainsightpx --config CONFIG --discover > ./catalog.json\n```\n\n## Developer Resources\n\nFollow these instructions to contribute to this project.\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_gainsightpx/tests` subfolder and\n then run:\n\n```bash\npoetry run pytest\n```\n\nYou can also test the `tap-gainsightpx` CLI interface directly using `poetry run`:\n\n```bash\npoetry run tap-gainsightpx --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\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-gainsightpx\nmeltano install\n```\n\nNow you can test and orchestrate using Meltano:\n\n```bash\n# Test invocation:\nmeltano invoke tap-gainsightpx --version\n# OR run a test `elt` pipeline:\nmeltano elt tap-gainsightpx 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-gainsightpx` is a Singer tap for GainsightPX, built with the Meltano Singer SDK.",
"version": "1.0.7",
"project_urls": {
"Homepage": "https://github.com/Widen/tap-gainsightpx",
"Repository": "https://github.com/Widen/tap-gainsightpx"
},
"split_keywords": [
"elt",
" gainsightpx",
" meltano",
" singer",
" rest",
" api",
" tap"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "04eb400c6cbd7390da105f1c424072bf88f9a96b930cdc4a75bae28e2319c98c",
"md5": "c9e00df0444a24ca70145f576ff33f54",
"sha256": "1a87dce475e3d06c4f04868d67200286952f02d45388203c275194543563a214"
},
"downloads": -1,
"filename": "tap_gainsightpx-1.0.7-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c9e00df0444a24ca70145f576ff33f54",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.7.1",
"size": 13551,
"upload_time": "2024-04-03T23:28:21",
"upload_time_iso_8601": "2024-04-03T23:28:21.640217Z",
"url": "https://files.pythonhosted.org/packages/04/eb/400c6cbd7390da105f1c424072bf88f9a96b930cdc4a75bae28e2319c98c/tap_gainsightpx-1.0.7-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "e916fe71d27528e4bc28cbfee7ec077f6bb547f252fd01f644b7bfc9f6e01111",
"md5": "8c5acd20a5dfb17fdf96483d56bdddcc",
"sha256": "8da1ad9361f4b698242cb640627d5827d72a47e92cfcb4653df915a5fda02770"
},
"downloads": -1,
"filename": "tap_gainsightpx-1.0.7.tar.gz",
"has_sig": false,
"md5_digest": "8c5acd20a5dfb17fdf96483d56bdddcc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7.1",
"size": 13060,
"upload_time": "2024-04-03T23:28:23",
"upload_time_iso_8601": "2024-04-03T23:28:23.352013Z",
"url": "https://files.pythonhosted.org/packages/e9/16/fe71d27528e4bc28cbfee7ec077f6bb547f252fd01f644b7bfc9f6e01111/tap_gainsightpx-1.0.7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-03 23:28:23",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "Widen",
"github_project": "tap-gainsightpx",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"tox": true,
"lcname": "tap-gainsightpx"
}