tap-playstore


Nametap-playstore JSON
Version 0.1.3 PyPI version JSON
download
home_page
Summary`tap-playstore` is a Singer tap for Google PlayStore Console Reports, built with the Meltano Singer SDK.
upload_time2024-02-27 02:52:49
maintainer
docs_urlNone
authorHaleemur Ali
requires_python>=3.8,<3.13
licenseApache-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"
}
        
Elapsed time: 0.22854s