From b7cb32fdbf9a197fa6bdcb8882a2052008999e21 Mon Sep 17 00:00:00 2001 From: BangJunSeok Date: Sun, 10 Aug 2025 12:53:32 +0900 Subject: [PATCH 1/4] Fix: Operator precedence in PYTHON_ASSET_DIR assignment Parentheses were added to ensure correct string concatenation after the conditional expression, preventing potential runtime errors in determining the Python asset directory. --- .../org/thisisthepy/python/multiplatform/demo/MainActivity.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sample/src/androidMain/kotlin/org/thisisthepy/python/multiplatform/demo/MainActivity.kt b/sample/src/androidMain/kotlin/org/thisisthepy/python/multiplatform/demo/MainActivity.kt index 9246889b..1240cf8a 100644 --- a/sample/src/androidMain/kotlin/org/thisisthepy/python/multiplatform/demo/MainActivity.kt +++ b/sample/src/androidMain/kotlin/org/thisisthepy/python/multiplatform/demo/MainActivity.kt @@ -66,13 +66,13 @@ class MainActivity : ComponentActivity() { } val PYTHON_DIR: String = "lib/python3.13" - val PYTHON_ASSET_DIR: String = if (currentPlatform.is64Bit && currentPlatform.isArm) { + val PYTHON_ASSET_DIR: String = (if (currentPlatform.is64Bit && currentPlatform.isArm) { "arm64-v8a" } else if (currentPlatform.is64Bit && currentPlatform.isX86) { "x86_64" } else { throw IllegalStateException("Unsupported platform: ${currentPlatform.os} ${currentPlatform.arch}") - } + "/" + PYTHON_DIR + }) + "/" + PYTHON_DIR private fun copyPythonFromAssets(context: Context) { val filesDir = context.filesDir From 34500620f38bdf52f696b15671d788f046d2e52a Mon Sep 17 00:00:00 2001 From: BangJunSeok Date: Sat, 16 Aug 2025 22:37:58 +0900 Subject: [PATCH 2/4] !BREAKING CHANGE!: Raise minSdk version to 24 Updated the android-minSdk value from 21 to 24 to require a higher minimum Android API level for builds. --- gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index ff4daed0..eb6ffca5 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -1,7 +1,7 @@ [versions] agp = "8.5.2" android-compileSdk = "34" -android-minSdk = "21" +android-minSdk = "24" android-targetSdk = "34" androidx-activityCompose = "1.9.3" androidx-appcompat = "1.7.0" From fa9ff72edce07e4f6ea32f5c8a141ff64485b2cb Mon Sep 17 00:00:00 2001 From: BREW <81044362+b-re-w@users.noreply.github.com> Date: Wed, 20 Aug 2025 01:48:01 +0900 Subject: [PATCH 3/4] Remove: .fleet/receipt.json file Deleted the .fleet/receipt.json file, which contained project metadata generated by the Kotlin Multiplatform Wizard since KMP droped fleet support. --- .fleet/receipt.json | 29 ----------------------------- 1 file changed, 29 deletions(-) delete mode 100644 .fleet/receipt.json diff --git a/.fleet/receipt.json b/.fleet/receipt.json deleted file mode 100644 index 1d9efb20..00000000 --- a/.fleet/receipt.json +++ /dev/null @@ -1,29 +0,0 @@ -// Project generated by Kotlin Multiplatform Wizard -{ - "spec": { - "template_id": "kmt", - "targets": { - "android": { - "ui": [ - "compose" - ] - }, - "ios": { - "ui": [ - "compose" - ] - }, - "desktop": { - "ui": [ - "compose" - ] - }, - "web": { - "ui": [ - "compose" - ] - } - } - }, - "timestamp": "2024-10-09T20:30:12.751634244Z" -} \ No newline at end of file From c1cfc68efc12baa46fc50188a9dd84f4c67c42de Mon Sep 17 00:00:00 2001 From: BangJunSeok Date: Sat, 20 Dec 2025 13:27:09 +0900 Subject: [PATCH 4/4] Docs: PyType class diagram attributes Added 'baseTypes' and removed 'slots' from the PyType class in the Mermaid diagram. Because 'slots' doesn't exist in PyTypeObject struct. --- python_for_kotlin_binding.mermaid | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python_for_kotlin_binding.mermaid b/python_for_kotlin_binding.mermaid index 5c132a04..19cf599b 100644 --- a/python_for_kotlin_binding.mermaid +++ b/python_for_kotlin_binding.mermaid @@ -84,8 +84,8 @@ classDiagram class PyType { -name String -baseType PyType + -baseTypes List -mro List - -slots Set -dict PyDict +isSubtypeOf(other PyType) Boolean +cast(obj PyObject) PyObject