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.2.0.tar.gz (7.3 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.2.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for dlt_source_app_store_connect-0.2.0.tar.gz
Algorithm Hash digest
SHA256 b99799153cb85e95668c769512fddb815226b8028728bac60744474cadd58c2a
MD5 8c7effc00fa3add825dcb1c915b6d5f5
BLAKE2b-256 d33fd390f3627c96683e65b3a9197bfca76094f37dbe94493d6d66c64bb10a38

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlt_source_app_store_connect-0.2.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.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dlt_source_app_store_connect-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cad64878ff2594be6f95ad87acfca217f71908513fa6bc4431c0eb1bcc56e98a
MD5 e0e05c9e0aff3f2fda2bf0c505ecfaf4
BLAKE2b-256 34da916758016b921b08c4eb91389ccf8d6c325dc1580317da65fcb97bb504df

See more details on using hashes here.

Provenance

The following attestation bundles were made for dlt_source_app_store_connect-0.2.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