Chaquopy version 15.0.1

Posted on


  • Kotlin build.gradle.kts files are now supported. (#231)
  • A new Gradle DSL has been added, with a top-level chaquopy block. Kotlin build.gradle.kts files must use the new DSL; Groovy build.gradle files may use either the new or the old one. (#231)
  • All Android wheels are now downloaded from – the old pypi-7.0 URL is no longer used. (#808)
  • os.get_terminal_size now returns ENOTTY rather than EPERM, which was causing avc log spam when stdio is redirected. (#886)
  • Update CA bundle to certifi 2023.11.17. (#893)
  • Android Gradle plugin versions 8.1 and 8.2 are now supported. (#908#1003)
  • Python version 3.12 is now supported. (#931#967)
  • Update runtime Python versions to 3.8.18, 3.9.18, 3.10.13, 3.11.6, and 3.12.1. (#932)
  • The importlib.resources.files API is now supported in Python 3.9 and later. (#977)
  • Update pkg_resources from setuptools version 68.2.2.

Deprecations and Removals

  • The 32-bit ABIs armeabi-v7a and x86 will no longer be supported on Python 3.12 and later. (#709)
  • Android Gradle plugin versions 4.1 and 4.2 are no longer supported. (#787#840)


  • Fix “AttributeError: “‘AssetFinder’ object has no attribute ‘extract_packages’” when AssetFinder subdirectories are on sys.path. (#820)
  • Unsupported socket functions such as if_nametoindex now throw OSError as documented, rather than AttributeError. (#870)
  • Fix FileNotFoundError when pkgutil.iter_modules is called with a nonexistent path. (#917)
  • ZIP files using BZ2 or LZMA compression are now supported. (#953)