Name | tap-playstore JSON |
Version |
0.1.3
JSON |
| download |
home_page | |
Summary | `tap-playstore` is a Singer tap for Google PlayStore Console Reports, built with the Meltano Singer SDK. |
upload_time | 2024-02-27 02:52:49 |
maintainer | |
docs_url | None |
author | Haleemur Ali |
requires_python | >=3.8,<3.13 |
license | Apache-2.0 |
keywords |
elt
googleplaystoreconsole
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# tap-playstore
`tap-playstore` is a Singer tap to extract Google Play Store Console Reports.
The following streams can be integrated using this tap:
* stats_by_dimension_buyers_7d
* stats_by_dimension_crashes
* stats_by_dimension_gcm
* stats_by_dimension_installs
* stats_by_dimension_ratings
* stats_by_dimension_retained_installers
* stats_overview_crashes
* stats_overview_gcm
* stats_overview_installs
* stats_overview_ratings
* reviews
* store_performance_country
* store_performance_traffic_source
* subscriptions_country
* earnings
* play_balance_krw
* sales_reports
_note: the streams prefixed with `stats_by_dimension` consolidate all reports by dimension for the given metric into one common stream._
Built with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.
## Project Home
[https://github.com/haleemur/tap-playstore](https://github.com/haleemur/tap-playstore)
The project's source can be viewed on [github](https://github.com/haleemur/tap-playstore)
## Installation
Install from PyPi:
```bash
pipx install tap-playstore
```
Install from GitHub:
```bash
pipx install git+https://github.com/haleemur/tap-playstore.git@main
```
## Capabilities
* `catalog`
* `state`
* `discover`
* `about`
* `stream-maps`
* `batch`
## Configuration
### Accepted Config Options
| Setting | Required | Default | Description |
|:-------------------------|:--------:|:-------:|:------------|
| service_account_json_file| False | None | Google Cloud Service Account JSON file |
| service_account_json_str | False | None | Google Cloud Service Account JSON string |
| start_date | True | None | The earliest record date to sync |
| bucket_name | True | None | The GCS Bucket where Play Console Reports are stored. |
| 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. |
**NOTE: At least one of [`service_account_json_file`, `service_account_json_str`] are required.**
A full list of supported settings and capabilities for this
tap is available by running:
```bash
tap-playstore --about
```
### 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.
## Usage
You can easily run `tap-playstore` by itself or in a pipeline using [Meltano](https://meltano.com/).
### Executing the Tap Directly
```bash
tap-playstore --version
tap-playstore --help
tap-playstore --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
poetry run pre-commit install
```
### Create and Run Tests
Tests require a `test_config.json` file to be present. Currently, running tests require an active connection to google cloud.
**TODO:** write proper mocks for google cloud storage.
The `test_config.json` file should mimic the structure of `sample_config.json` file.
```json
{
"start_date": "2024-01-01",
"bucket_name": "pubsite_prod_rev_00000000000123456789",
"service_account_json_file": "test_credentials.json"
}
```
Create tests within the `tests` subfolder and
then run:
```bash
poetry run pytest
```
You can also test the `tap-playstore` CLI interface directly using `poetry run`:
```bash
poetry run tap-playstore --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-playstore
meltano install
```
Update the meltano config (or populate the environment variables / modify your `.env` file)
```
config:
start_date: '2024-01-01T00:00:00Z'
service_account_json_file: $GOOGLE_PLAY_CREDENTIALS_FILE
bucket_name: $GOOGLE_PLAY_BUCKET
```
Now you can test and orchestrate using Meltano:
```bash
# Test invocation:
meltano invoke tap-playstore --version
# OR run a test `elt` pipeline:
meltano elt tap-playstore 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": "",
"name": "tap-playstore",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8,<3.13",
"maintainer_email": "",
"keywords": "ELT,GooglePlayStoreConsole",
"author": "Haleemur Ali",
"author_email": "haleemur@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/87/41/9138b8408de15a9c4a57ca060d10192a5c6ed291889eeadc72a370c5b98b/tap_playstore-0.1.3.tar.gz",
"platform": null,
"description": "# tap-playstore\n\n`tap-playstore` is a Singer tap to extract Google Play Store Console Reports.\n\nThe following streams can be integrated using this tap:\n* stats_by_dimension_buyers_7d\n* stats_by_dimension_crashes\n* stats_by_dimension_gcm\n* stats_by_dimension_installs\n* stats_by_dimension_ratings\n* stats_by_dimension_retained_installers\n* stats_overview_crashes\n* stats_overview_gcm\n* stats_overview_installs\n* stats_overview_ratings\n* reviews\n* store_performance_country\n* store_performance_traffic_source\n* subscriptions_country\n* earnings\n* play_balance_krw\n* sales_reports\n\n_note: the streams prefixed with `stats_by_dimension` consolidate all reports by dimension for the given metric into one common stream._\n\nBuilt with the [Meltano Tap SDK](https://sdk.meltano.com) for Singer Taps.\n\n## Project Home\n\n[https://github.com/haleemur/tap-playstore](https://github.com/haleemur/tap-playstore)\n\nThe project's source can be viewed on [github](https://github.com/haleemur/tap-playstore)\n\n## Installation\n\nInstall from PyPi:\n\n```bash\npipx install tap-playstore\n```\n\nInstall from GitHub:\n\n```bash\npipx install git+https://github.com/haleemur/tap-playstore.git@main\n```\n\n## Capabilities\n\n* `catalog`\n* `state`\n* `discover`\n* `about`\n* `stream-maps`\n* `batch`\n\n## Configuration\n\n### Accepted Config Options\n\n| Setting | Required | Default | Description |\n|:-------------------------|:--------:|:-------:|:------------|\n| service_account_json_file| False | None | Google Cloud Service Account JSON file |\n| service_account_json_str | False | None | Google Cloud Service Account JSON string |\n| start_date | True | None | The earliest record date to sync |\n| bucket_name | True | None | The GCS Bucket where Play Console Reports are stored. |\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\n\n**NOTE: At least one of [`service_account_json_file`, `service_account_json_str`] are required.**\n\nA full list of supported settings and capabilities for this\ntap is available by running:\n\n```bash\ntap-playstore --about\n```\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## Usage\n\nYou can easily run `tap-playstore` by itself or in a pipeline using [Meltano](https://meltano.com/).\n\n### Executing the Tap Directly\n\n```bash\ntap-playstore --version\ntap-playstore --help\ntap-playstore --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\npoetry run pre-commit install\n```\n\n### Create and Run Tests\n\nTests require a `test_config.json` file to be present. Currently, running tests require an active connection to google cloud.\n\n**TODO:** write proper mocks for google cloud storage.\n\nThe `test_config.json` file should mimic the structure of `sample_config.json` file.\n\n```json\n{\n \"start_date\": \"2024-01-01\",\n \"bucket_name\": \"pubsite_prod_rev_00000000000123456789\",\n \"service_account_json_file\": \"test_credentials.json\"\n}\n```\n\nCreate tests within the `tests` subfolder and\n then run:\n\n```bash\npoetry run pytest\n```\n\nYou can also test the `tap-playstore` CLI interface directly using `poetry run`:\n\n```bash\npoetry run tap-playstore --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-playstore\nmeltano install\n```\n\nUpdate the meltano config (or populate the environment variables / modify your `.env` file)\n\n```\n config:\n start_date: '2024-01-01T00:00:00Z'\n service_account_json_file: $GOOGLE_PLAY_CREDENTIALS_FILE\n bucket_name: $GOOGLE_PLAY_BUCKET\n```\n\n\nNow you can test and orchestrate using Meltano:\n\n```bash\n# Test invocation:\nmeltano invoke tap-playstore --version\n# OR run a test `elt` pipeline:\nmeltano elt tap-playstore 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",
"bugtrack_url": null,
"license": "Apache-2.0",
"summary": "`tap-playstore` is a Singer tap for Google PlayStore Console Reports, built with the Meltano Singer SDK.",
"version": "0.1.3",
"project_urls": null,
"split_keywords": [
"elt",
"googleplaystoreconsole"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "d34dda8720848dc63cbe0594afe9388596ea18e4dd6982d9a146c966dfdecbd1",
"md5": "d477c52b53645c4477bfb9e48ee8523c",
"sha256": "e70a834200f3a7bd181e012e0e341a911b9e60c3060ec7ba94f3090b431cc148"
},
"downloads": -1,
"filename": "tap_playstore-0.1.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "d477c52b53645c4477bfb9e48ee8523c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<3.13",
"size": 20848,
"upload_time": "2024-02-27T02:52:48",
"upload_time_iso_8601": "2024-02-27T02:52:48.586737Z",
"url": "https://files.pythonhosted.org/packages/d3/4d/da8720848dc63cbe0594afe9388596ea18e4dd6982d9a146c966dfdecbd1/tap_playstore-0.1.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "87419138b8408de15a9c4a57ca060d10192a5c6ed291889eeadc72a370c5b98b",
"md5": "cd0f00429bdc2ad9f199613844462f24",
"sha256": "9e34a9365751f9573f91ff85d979d74587df6f6a930e0b194ea6fcc7f40aa6be"
},
"downloads": -1,
"filename": "tap_playstore-0.1.3.tar.gz",
"has_sig": false,
"md5_digest": "cd0f00429bdc2ad9f199613844462f24",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<3.13",
"size": 15376,
"upload_time": "2024-02-27T02:52:49",
"upload_time_iso_8601": "2024-02-27T02:52:49.747282Z",
"url": "https://files.pythonhosted.org/packages/87/41/9138b8408de15a9c4a57ca060d10192a5c6ed291889eeadc72a370c5b98b/tap_playstore-0.1.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-02-27 02:52:49",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "tap-playstore"
}