Chaquopy version 1.3.0

Posted on

This version focuses on improving Python standard library functionality:

  • The following things now return reasonable values: sys.argvsys.executable, and platform.platform().
  • The following modules now work correctly: sqlite3, ssl (#23), and tempfile. (Requires python.version to be 2.7.14 or 3.6.3.)
  • sys.stdout and sys.stderr are now directed to the Android logcat.

It also adds the following feature:

  • extractPackages allows code which uses __file__ to work unchanged. It is used by default for certifi.

Chaquopy version 1.2.0

Posted on

This version adds the following features:

  • Python source directory locations can now be configured in the sourceSets block, just like Java.
  • Python 2.7.14 is now available.

And fixes the following bugs:

  • getClass, when called on a Java object, now returns the Java object class rather than the
    proxy object class.
  • Generated static_proxy Java files no longer produce build warnings.
  • Pip is now re-run if a local requirements or wheel file changes.
  • Missing stdlib modules distutils and doctest have been added (#20). For Python 2 apps, this also requires
    upgrading to Python 2.7.14.

The following packages have been added to the repository:

Chaquopy version 0.6.1

Posted on

This version adds the following features:

  • Apps can now use certain native packages, including NumPy (#14), as well as pure-Python packages which aren’t available from PyPI in wheel format.
  • Zero-initialized Java arrays can now be created in Python, by passing an integer to the array constructor rather than a sequence.

And fixes the following bugs:

Chaquopy version 0.5.0

Posted on

This version adds the following features:

And fixes the following bugs:

This version also increases the minimum API level for Chaquopy-based apps from 9 to 15. This is the default for new apps in Android Studio 3.0, and covers 99% of active devices.

Chaquopy version 0.4.0

Posted on

This version adds the ability to inherit Java classes and interfaces in Python classes. This means that Python objects can now be instantiated or accessed by non-Python-aware code, making it possible to write an Android app entirely in Python.

For more details, see the documentation. Or for a complete example, see the “Android UI demo” activity in the demo app.