Package: tap-playstore
tap-playstore [Google Play (GCS Export)]tap-playstoreis a Singer tap to extract Google Play Store Console Reports that are available on google cloud storage.The following streams can be integrated using this tap:stats_by_dimension_buyers_7dstats_by_dimension_crashesstats_by_dimension_gcmstats_by_dimension_installsstats_by_dimension_ratingsstats_by_dimension_retained_installersstats_overview_crashesstats_overview_gcmstats_overview_installsstats_overview_ratingsreviewsstore_performance_countrystore_performance_traffic_sourcesubscriptions_countryearningsplay_balance_krwsales_reportsnote: the streams prefixed withstats_by_dimensionconsolidate all reports by dimension for the given metric into one common stream.Built with theMeltano Tap SDKfor Singer Taps.Project Homehttps://github.com/haleemur/tap-playstoreThe project's source can be viewed ongithubInstallationInstall from PyPi:pipxinstalltap-playstoreInstall from GitHub:pipxinstallgit+https://github.com/haleemur/tap-playstore.git@mainCapabilitiescatalogstatediscoveraboutstream-mapsbatchConfigurationAccepted Config OptionsSettingRequiredDefaultDescriptionservice_account_json_fileFalseNoneGoogle Cloud Service Account JSON fileservice_account_json_strFalseNoneGoogle Cloud Service Account JSON stringstart_dateTrueNoneThe earliest record date to syncbucket_nameTrueNoneThe GCS Bucket where Play Console Reports are stored.stream_mapsFalseNoneConfig object for stream maps capability. For more information check outStream Maps.stream_map_configFalseNoneUser-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:tap-playstore--aboutConfigure using environment variablesThis Singer tap will automatically import any environment variables within the working directory's.envif the--config=ENVis provided, such that config values will be considered if a matching
environment variable is set either in the terminal context or in the.envfile.UsageYou can easily runtap-playstoreby itself or in a pipeline usingMeltano.Executing the Tap Directlytap-playstore--version
tap-playstore--help
tap-playstore--configCONFIG--discover>./catalog.jsonDeveloper ResourcesFollow these instructions to contribute to this project.Initialize your Development Environmentpipxinstallpoetry
poetryinstall
poetryrunpre-commitinstallCreate and Run TestsTests require atest_config.jsonfile to be present. Currently, running tests require an active connection to google cloud.TODO:write proper mocks for google cloud storage.Thetest_config.jsonfile should mimic the structure ofsample_config.jsonfile.{"start_date":"2024-01-01","bucket_name":"pubsite_prod_rev_00000000000123456789","service_account_json_file":"test_credentials.json"}Create tests within thetestssubfolder and
then run:poetryrunpytestYou can also test thetap-playstoreCLI interface directly usingpoetry run:poetryruntap-playstore--helpTesting withMeltanoNote: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:# Install meltanopipxinstallmeltano# Initialize meltano within this directorycdtap-playstore
meltanoinstallUpdate the meltano config (or populate the environment variables / modify your.envfile)config:
      start_date: '2024-01-01T00:00:00Z'
      service_account_json_file: $GOOGLE_PLAY_CREDENTIALS_FILE
      bucket_name: $GOOGLE_PLAY_BUCKETNow you can test and orchestrate using Meltano:# Test invocation:meltanoinvoketap-playstore--version# OR run a test `elt` pipeline:meltanoelttap-playstoretarget-jsonlSDK Dev GuideSee thedev guidefor more instructions on how to use the SDK to
develop your own taps and targets.