Skip to main content

A dlt source for Apple App Store Connect API

Project description

dlt-source-app-store-connect

CI PyPI License: MIT Python 3.12+

A dlt source for Apple App Store Connect API.

Features

  • 15 resources covering apps, builds, TestFlight, subscriptions, and reports
  • Incremental loading for sales, finance, and analytics reports
  • Automatic JWT token refresh
  • Rate limit handling with exponential backoff
  • Works with any dlt destination (BigQuery, Snowflake, DuckDB, etc.)

Installation

pip install dlt-source-app-store-connect

Or with uv:

uv add dlt-source-app-store-connect

Quick start

import dlt
from dlt_source_app_store_connect import app_store_connect_source

pipeline = dlt.pipeline(
    pipeline_name="app_store_connect",
    destination="bigquery",  # or any dlt destination
    dataset_name="source_app_store_connect",
)

source = app_store_connect_source(
    key_id="YOUR_KEY_ID",
    issuer_id="YOUR_ISSUER_ID",
    private_key=open("AuthKey_XXXXX.p8").read(),
    vendor_number="YOUR_VENDOR_NUMBER",  # required for sales/finance reports
)

load_info = pipeline.run(source)
print(load_info)

Load specific resources

source = app_store_connect_source(
    key_id="YOUR_KEY_ID",
    issuer_id="YOUR_ISSUER_ID",
    private_key=open("AuthKey_XXXXX.p8").read(),
    resources=["apps", "builds", "sales_reports"],
)

Resources

Resource Write Disposition Incremental Description
apps merge - App metadata
app_store_versions merge - App Store version history
builds merge - Build information
beta_testers merge - TestFlight testers
beta_groups merge - TestFlight groups
bundle_ids merge - Bundle identifiers
certificates merge - Signing certificates
devices merge - Registered devices
in_app_purchases merge - In-app purchase products
subscriptions merge - Subscription products
subscription_groups merge - Subscription groups
users merge - Team members
sales_reports append daily Sales and trends reports
finance_reports append monthly Financial reports
analytics_reports append by processing date Analytics reports

sales_reports and finance_reports require vendor_number.

Authentication

You need an API key from App Store Connect.

Required credentials:

Parameter Description
key_id The identifier for your API key
issuer_id Your team's issuer ID
private_key Contents of the .p8 file downloaded when creating the key
vendor_number Your vendor number (required for sales/finance reports)

Development

git clone https://github.com/ota2000/dlt-source-app-store-connect.git
cd dlt-source-app-store-connect
uv sync --group dev
uv run pytest -v
uv run ruff check .

Contributing

See CONTRIBUTING.md.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dlt_source_app_store_connect-0.1.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dlt_source_app_store_connect-0.1.0-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file dlt_source_app_store_connect-0.1.0.tar.gz.

File metadata

File hashes

Hashes for dlt_source_app_store_connect-0.1.0.tar.gz
Algorithm Hash digest
SHA256 67393504855dde538d38ae9c63f178842077fb6b258246d1d8540243b500a033
MD5 32cde24a75637bf5f69d8e71b5f5320e
BLAKE2b-256 f15b85bfebdf204b1babd2b0f1811de5f2cdd92016feb85f8d195bf8dea383bc

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlt_source_app_store_connect-0.1.0.tar.gz:

Publisher: publish.yaml on ota2000/dlt-source-app-store-connect

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dlt_source_app_store_connect-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dlt_source_app_store_connect-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 672bdd6408cfc4d2a5de4d16f32bb8cbc933be3c03a6e768000b07145bdf8426
MD5 197d4c633932eaabc3ff5f73f9fd2e7d
BLAKE2b-256 650903713ac2ec9590773fdbdf2d7fbffd5244e35c7b7275e1f95119117e6f50

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlt_source_app_store_connect-0.1.0-py3-none-any.whl:

Publisher: publish.yaml on ota2000/dlt-source-app-store-connect

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page