You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Gradle plugin: consumer-side iOS wiring (Python.xcframework + stdlib staging) for apps outside this repo #90
#59 proved the iOS app bundle inside this repo, but its pieces live in python-multiplatform's own build scripts, so a consumer app (toolchain usage-example, real users) cannot get them from the published plugin/artifacts:
Python.xcframework: sample/build.gradle.kts copies it to sample/build/xcode-frameworks, adds linkerOpts("-framework","Python","-F…") to the KMP framework, and the Xcode project links/embeds it.
stdlib staging: stageIosPythonHomeForXcode exists only on :python-multiplatform; tools/xcode/install-python.sh runs it in the same Gradle root.
Scope: the published Gradle plugin (io.github.thisisthepy.python.multiplatform.bindings) provides, on the consumer project: (i) a task that stages Python.xcframework into the consumer's build/ and wires the linkerOpts into its Kotlin/Native iOS framework binaries automatically; (ii) stageIosPythonHomeForXcode (acquiring the pinned iOS support archive like the desktop staging does); install-python.sh usable from the consumer's Gradle root (and shipped/located in a way a consumer can call). sample/ switches to the plugin path where it only duplicates it.
Completion: a consumer fixture outside :python-multiplatform (e.g. a ksp-fixtures-style module or toolchain's usage-example via mavenLocal) builds an iOS simulator app using only the published plugin + artifacts, and the DEMO-8-style probe shows stdlib + payload imported from the bundle.
Activity
Merge pull request #320 from thisisthepy/feat/plugin-ios-consumer
b-re-w commentedon Oct 25, 2026
Landed in develop via #320 (plugin wiring + fixtures/ios-consumer: simulator probe stdlib=ok ext=ok payload=ok). sample/ switch and library de-duplication: #321.