Skip to main content

Slowlane 🐌

Apple automation. At your pace.

CI/CD Python 3.14+ License: MIT

A focused Python CLI for App Store Connect, TestFlight, certificates, provisioning profiles, and macOS uploads. Public Apple APIs, explicit signing choices, and JSON output for your automation.

Documentation · Get started · CLI reference · Migration guide

What it does

Workflow Operations Requirements
Apps and builds List apps, inspect metadata, list builds, find the latest build Eligible API key
TestFlight List testers/groups and invite a tester to a group Eligible API key and role
Signing List/create/download/revoke certificates; list/create/download/delete profiles; list devices Team API key with signing access
Uploads Validate/upload IPA and upload PKG artifacts macOS, team API key, Apple tooling
Automation JSON results, local/online diagnostics, CI environment templates Python 3.14+

REST commands run on macOS, Linux, and Windows. Uploads require macOS. Individual API keys support eligible REST operations; signing and uploads require team keys.

Supported targets: Apple Silicon macOS, x64 Linux, and x64 Windows. Intel macOS and 32-bit Windows are unsupported by the current cryptography dependency.

Slowlane does not build applications, sign artifacts, notarize packages, or submit apps for review.

Install and connect

python -m pip install slowlane

export ASC_KEY_TYPE="team"
export ASC_KEY_ID="XXXXXXXXXX"
export ASC_ISSUER_ID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
export ASC_PRIVATE_KEY_PATH="/absolute/path/to/AuthKey_XXXXXXXXXX.p8"

slowlane doctor
slowlane doctor --online
slowlane asc apps list
slowlane --json asc builds list --app APP_RESOURCE_ID

For secret managers, use ASC_PRIVATE_KEY for private-key contents instead of a key-file path. For individual keys, explicitly set ASC_KEY_TYPE=individual and remove issuer settings. See authentication.

Sign with intention

slowlane signing certs list
slowlane signing devices list
slowlane signing profiles create \
  --name "App Store com.example.app" \
  --type appstore \
  --bundle-id com.example.app \
  --cert CERT_ID
slowlane signing profiles download PROFILE_ID --output ./App.mobileprovision

Profile creation requires an explicit certificate ID. You retain its matching private key. Downloads refuse to overwrite existing files. Use Xcode or your signing pipeline to consume the downloaded resources.

Upload on macOS

slowlane upload ipa ./App.ipa --validate-only
slowlane upload ipa ./App.ipa
slowlane upload pkg ./App.pkg

Install current Xcode or Apple Transporter tooling. A successful transfer is separate from App Store Connect processing; inspect the build afterward.

Upgrading from 0.3 to 0.4

Apple ID browser login, saved sessions, spaceauth, FASTLANE_SESSION integration, and private Developer Portal endpoints have been removed. Signing uses the public App Store Connect API and a team key. Remove [devportal], auth.default_mode, --team-id, and the interactive installation extra from existing configuration and scripts.

Saved session data is left untouched; the new release does not read it or revoke it at Apple. Follow the migration guide before updating automation.

Development

poetry install --with docs,release,security
poetry run ruff check src tests
poetry run ruff format --check src tests
poetry run mypy src/slowlane
poetry run pytest
poetry run zensical build --clean --strict

Preview the Zensical documentation with poetry run zensical serve. The snail stays.

See CONTRIBUTING.md, the release verification checklist, and SECURITY.md. Live Apple-account and macOS upload validation are separate release checks.

License

MIT. Slowlane is an independent project, not affiliated with or endorsed by Apple Inc. Apple, App Store Connect, TestFlight, Xcode, and Transporter are trademarks of Apple Inc.

Metadata

Release files for slowlane 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for slowlane 0.4.0
File Size Uploaded
slowlane-0.4.0.tar.gz 32.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for slowlane 0.4.0
File Interpreter ABI Platform
slowlane-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 71.6 kB

Release files / slowlane-0.4.0.tar.gz

Download URL slowlane-0.4.0.tar.gz
Size 32.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1a22d6584bce1a95f16e0fee9c18080c496ac60d5bef25780efcc606f51aebb1
BLAKE2b-256 checksum
How to use checksums
9f3b860739f6e622e371d7823faca3fd764f1b3b06706e6c4c971e18de33b8c9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release files / slowlane-0.4.0-py3-none-any.whl

Download URL slowlane-0.4.0-py3-none-any.whl
Size 38.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dedc4de8d82d266745cdf53ca3be11f342253cfcc3e79af5f962f8163752474c
BLAKE2b-256 checksum
How to use checksums
4f861a6464f689dc95ea8ab48b0141e38fbbc5d5a80276293eef8cab6d694158
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 18, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page