diff --git a/.claude/settings.json b/.claude/settings.json deleted file mode 100644 index fb6efa505..000000000 --- a/.claude/settings.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "permissions": {} -} diff --git a/.gitignore b/.gitignore index 293cde73a..70924b2d7 100644 --- a/.gitignore +++ b/.gitignore @@ -54,3 +54,6 @@ google-services.json # scratch space for agents and scripts; delete when done .tmp/ + +# Local Claude Code settings: per machine, not part of the repository. +.claude/ diff --git a/AGENTS.md b/AGENTS.md index 0c2002030..9f3f65318 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -186,7 +186,6 @@ interoperability in both directions: | `python-multiplatform-gradle-plugin/` | Gradle plugin: `PYTHONHOME` staging, artifact walker (binds prebuilt jars/klibs), `.pyi` stub generation | | `/fixtures/` | Consumer modules that exercise what the generators produce, each inside the module whose output it checks (`python-multiplatform-ksp`, `python-multiplatform-gradle-plugin`, `python-multiplatform-compose`) | | `sample/` | Compose Multiplatform demo app (desktop, Android, iOS, wasmJs, GraalVM native image) | -| `binary/` | Source archives of per-platform CPython distributions | | `python_for_kotlin_binding.mermaid` | User-authored sketch of the object model (see rule 14) | | `docs/INTENT.md`, `docs/SPEC.md` | Intent and behavioural contract (rule 5) | | `docs/design/`, `docs/platforms/`, `docs/investigations/`, `docs/roadmap/` | Current design records (one per topic), platform notes, investigation conclusions, the work left to do | diff --git a/binary/aarch64-linux-android.tar.xz b/binary/aarch64-linux-android.tar.xz deleted file mode 100644 index 4ff6017ea..000000000 Binary files a/binary/aarch64-linux-android.tar.xz and /dev/null differ diff --git a/binary/arm64-iphoneos.zip b/binary/arm64-iphoneos.zip deleted file mode 100644 index 1182d7a7a..000000000 Binary files a/binary/arm64-iphoneos.zip and /dev/null differ diff --git a/binary/arm64-iphonesimulator.zip b/binary/arm64-iphonesimulator.zip deleted file mode 100644 index ffb316901..000000000 Binary files a/binary/arm64-iphonesimulator.zip and /dev/null differ diff --git a/binary/combine_simulator.sh b/binary/combine_simulator.sh deleted file mode 100644 index 0ae4540e7..000000000 --- a/binary/combine_simulator.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Unzip archives -unzip -o -qq "./arm64-iphoneos.zip" -d "./arm64-iphoneos" -unzip -o -qq "./arm64-iphonesimulator.zip" -d "./arm64-iphonesimulator" -unzip -o -qq "./x86_64-iphonesimulator.zip" -d "./x86_64-iphonesimulator" - -# Set module directory -ARM_DIR="./arm64-iphonesimulator/" -x86_DIR="path/to/modules" - -# Loop through each module in the directory -for module in "$MODULE_DIR"/*; do - # Extract the module name without the architecture suffix - module_name=$(basename "$module" | sed 's/_x86_64//;s/_arm64//') - - # Define the paths for x86_64 and arm64 versions of the module - x86_64_module="$MODULE_DIR/${module_name}_x86_64/module.dylib" - arm64_module="$MODULE_DIR/${module_name}_arm64/module.dylib" - - # Define the output path for the combined module - output_module="$MODULE_DIR/${module_name}/module.dylib" - - # Create the combined module using lipo - lipo -create -output "$output_module" "$x86_64_module" "$arm64_module" -done diff --git a/binary/cpython-3.13.0+20241008-aarch64-apple-darwin-pgo+lto-full.tar.zst b/binary/cpython-3.13.0+20241008-aarch64-apple-darwin-pgo+lto-full.tar.zst deleted file mode 100644 index a99f6508a..000000000 Binary files a/binary/cpython-3.13.0+20241008-aarch64-apple-darwin-pgo+lto-full.tar.zst and /dev/null differ diff --git a/binary/cpython-3.13.0+20241008-x86_64-apple-darwin-pgo+lto-full.tar.zst b/binary/cpython-3.13.0+20241008-x86_64-apple-darwin-pgo+lto-full.tar.zst deleted file mode 100644 index 6915f3f51..000000000 Binary files a/binary/cpython-3.13.0+20241008-x86_64-apple-darwin-pgo+lto-full.tar.zst and /dev/null differ diff --git a/binary/cpython-3.13.0+20241008-x86_64-pc-windows-msvc-shared-pgo-full.tar.zst b/binary/cpython-3.13.0+20241008-x86_64-pc-windows-msvc-shared-pgo-full.tar.zst deleted file mode 100644 index 00922a019..000000000 Binary files a/binary/cpython-3.13.0+20241008-x86_64-pc-windows-msvc-shared-pgo-full.tar.zst and /dev/null differ diff --git a/binary/cpython-3.13.0+20241008-x86_64_v4-unknown-linux-gnu-lto-full.tar.zst b/binary/cpython-3.13.0+20241008-x86_64_v4-unknown-linux-gnu-lto-full.tar.zst deleted file mode 100644 index e0d1e8b23..000000000 Binary files a/binary/cpython-3.13.0+20241008-x86_64_v4-unknown-linux-gnu-lto-full.tar.zst and /dev/null differ diff --git a/binary/download.md b/binary/download.md deleted file mode 100644 index 510fdb136..000000000 --- a/binary/download.md +++ /dev/null @@ -1 +0,0 @@ -These stand-alone python binaries were downloaded from https://github.com/astral-sh/python-build-standalone/releases/tag/20241008 diff --git a/binary/x86_64-iphonesimulator.zip b/binary/x86_64-iphonesimulator.zip deleted file mode 100644 index 688c97ec8..000000000 Binary files a/binary/x86_64-iphonesimulator.zip and /dev/null differ diff --git a/binary/x86_64-linux-android.tar.xz b/binary/x86_64-linux-android.tar.xz deleted file mode 100644 index 9b42e72ae..000000000 Binary files a/binary/x86_64-linux-android.tar.xz and /dev/null differ diff --git a/docs/design/ecosystem.md b/docs/design/ecosystem.md index 1da450830..9f9a82e9f 100644 --- a/docs/design/ecosystem.md +++ b/docs/design/ecosystem.md @@ -272,10 +272,8 @@ still carry CPython 3.13 and are not read by the default build. `python-multipla is a vendored header tree whose `PY_VERSION` reads `"3.13.0+"`, `git log` shows it landed with `b184cba5` (pre-dates `pythonVersion` becoming a Gradle property) and `build.gradle.kts` never references `nativeInterop/cinterop/include` at all; cinterop reads headers from the version-keyed -extraction tree instead (table above). `binary/` holds five committed CPython 3.13.0 archives from -`python-build-standalone` release `20241008` (`binary/download.md`); they are consumed only by the -special-cased branch `if (configuredPythonVersion == "3.13.0" && !pythonFreeThreaded)` in the -`desktopJar` task (`build.gradle.kts:1049`), i.e. only if a consumer explicitly builds with +extraction tree instead (table above). `binary/`, which held five unreferenced CPython 3.13.0 archives, was removed on 2026-10-04. The +`-PpythonVersion=3.13.0` branch of the `desktopJar` task reads the vendored tree above, only if a consumer explicitly builds with `-PpythonVersion=3.13.0`. That legacy path has no `Py_LIMITED_API`/header dependency either (desktop never compiles against headers), so even under `-PpythonVersion=3.13.0` there is no header/runtime split, but `python-checksums.properties` has **no 3.13.0 entries for Android or iOS**, so that flag diff --git a/docs/roadmap/ROADMAP.md b/docs/roadmap/ROADMAP.md index 9b7832d23..0cc69cb33 100644 --- a/docs/roadmap/ROADMAP.md +++ b/docs/roadmap/ROADMAP.md @@ -389,6 +389,6 @@ are done on desktop; the other platforms are 16.7. The production-bundler questi pythonx-compose (SPEC "Outside intent" item 4). It no longer synthesises a `pythonx` module (it installs `python_multiplatform.binding`); whether it stays here as a service is unstated. - **17.4 The committed CPython 3.13 trees, decision.** `python-multiplatform/src/nativeInterop/cinterop/lib` - (15 555 tracked files, Android/desktop/iOS) and `binary/` (3.13.0 archives) are read only by the - `-PpythonVersion=3.13.0` desktop branch; the Android 3.13 stdlib trees by nothing. INTENT §3 says the + (15 555 tracked files, Android/desktop/iOS) is read only by the + `-PpythonVersion=3.13.0` desktop branch (`binary/`, unreferenced 3.13.0 archives, was removed on 2026-10-04); the Android 3.13 stdlib trees by nothing. INTENT §3 says the interpreter is not vendored. Removing them is a repository-size decision (`ecosystem.md` §5).