Chaquopy version 12.0.0

Posted on

Changes:

  • Android Gradle plugin version 7.2 is now supported (#613), and version 4.0 is no longer supported.
  • Update to Python version 3.8.13 (see its changelog for details).
  • Update CA bundle to certifi 2021.10.8.
  • Fix signal.valid_signals on 32-bit ABIs (#600).
  • Allow buildscript configuration to be in a subproject (#615).

The following packages have been added to the repository since the previous version:

  • zstandard

And the following packages have been updated:

  • cryptography

Chaquopy version 11.0.0

Posted on

Changes:

  • Android Gradle plugin version 7.1 is now supported, and version 3.6 is no longer supported.
  • Remove warning about untested Android Gradle plugin versions, as they are usually backward compatible.
  • Gradle pluginManagement and plugins syntax is now supported.
  • Java arrays now support the copy.copy function in Python.
  • Passing an unsupported Java object to copy.copycopy.deepcopy or pickle now fails with a clearer error message.

The following packages have been added to the repository since the previous version:

  • aiohttp
  • frozenlist
  • pyzbar
  • rawpy
  • spectrum

And the following packages have been updated:

  • numpy
  • pillow
  • pynacl
  • regex
  • tokenizers

Chaquopy version 10.0.1

Posted on

Changes:

  • Android Gradle plugin versions 4.2 and 7.0 are now supported, and versions 3.4 and 3.5 are no longer supported.
  • The version setting is no longer supported. Simply remove it to use the current version of Python.
  • Update to Python version 3.8.11 (see its changelog for details).
  • Update to pip version 19.2.3 (see its changelog for details).
  • Update CA bundle to certifi 2021.5.30.
  • Add a buffer attribute to stdout and stderr for bytes output (#464#516).
  • Java arrays now support the index and count methods in Python. In order to support code with hasattr checks, they also now implement the methods __contains____iter__ and __reversed__, rather than relying on the fallback to __getitem__ (#306).
  • Fix “truth value of an array with more than one element is ambiguous” error when passing a NumPy array to a method which takes a Java array (#526).
  • NumPy integer scalars, and anything else which implements the __index__ method, can now be used as a Java array index (#495).
  • Add workaround to help conda Python on Windows find its SSL libraries (#450).
  • Fix “invalid literal for int” error in pip_install when project path includes a symlink (#468).
  • Fix crash caused by empty files in the APK on Android 7 (Electron Cash #2136).
  • importlib.util.spec_from_file_location now works for paths loaded from the APK.

The following packages have been added to the repository since the previous version:

  • argon2-cffi
  • backports.zoneinfo
  • bitarray
  • google-crc32c
  • pycurl
  • ruamel.yaml.clib
  • sentencepiece
  • tflite-runtime
  • tokenizers
  • wordcloud

And the following packages have been updated:

  • cryptography
  • grpcio
  • lxml
  • multidict
  • opencv-python
  • pandas
  • scikit-learn
  • torch
  • torchvision

Chaquopy version 9.1.0

Posted on

Changes:

  • Fix error “‘HTMLParser’ object has no attribute ‘unescape’” on Python 3.9 (#416).
  • Fix error “must supply either home or prefix/exec-prefix – not both” on Homebrew for Mac (#405).
  • buildPython path can now contain spaces.
  • Java API is now annotated with @NotNull where appropriate.
  • Java arrays now support the copy method in Python.
  • Fix bug when using cast to call a functional interface which extends another functional interface.
  • Update CA bundle to certifi 2020.12.5.
  • json module performance improvements.
  • Java API performance improvements.

The following packages have been added to the repository since the previous version:

  • gensim

And the following packages have been updated:

  • scikit-learn (0.23.2)

Chaquopy version 9.0.0

Posted on

Changes:

  • Android Gradle plugin version 4.1 is now supported, and version 3.3 is no longer supported.
  • Runtime Python version is now 3.8.6.
  • Java objects implementing functional interfaces can now be called using () syntax.
  • Java arrays can now be accessed from Python using negative indices and slice syntax.
  • Fix conversion of non-contiguous NumPy arrays to Java arrays.
  • Remove inaccessible directories from os.get_exec_path (#346).
  • Make zipimport implement the new loader API. This affected the package dateparser.
  • If bdist_wheel fails for an unknown reason, fall back on setup.py install. This affected the packages acoustics and kiteconnect (#338).
  • Fix ClassNotFoundException when minifyEnabled is in use (#261).

The following packages have been added to the repository since the previous version:

  • shapely
  • tensorflow-gpu

Chaquopy version 8.0.1

Posted on

Changes:

  • Make missing multiprocessing primitives throw an exception on use rather than on import. This affected the packages joblib and librosa (#21).
  • Make ctypes.util.find_library search libraries installed with pip. This affected the package soundfile (#201).
  • Fix “invalid constraint” error affecting the packages openpyxl and webcolors.

The following packages have been added to the repository since the previous version:

  • xgboost

And the following packages have been updated:

  • grpcio (1.30.0)

Chaquopy version 8.0.0

Posted on

Changes:

  • Android Gradle plugin version 4.0 is now supported, and version 3.2 is no longer supported.
  • Runtime Python version is now 3.8.3.
  • Using Chaquopy in an Android library module (AAR) is now supported (#94).
  • Java primitive arrays now support the Python buffer protocol, allowing high-performance data transfer between the two languages.
  • Data files in top-level non-package directories are now extracted from the APK the first time the app is started, so they can be accessed using a path relative to __file__.

The following packages have been added to the repository since the previous version:

  • torchvision

Chaquopy version 7.0.3

Posted on

Changes:

  • Fix “This platform lacks a functioning sem_open implementation” error when using multiprocessing.dummy.Pool (aka multiprocessing.pool.ThreadPool). This affected many common uses of TensorFlow.
  • Work around dynamic linker bug on 64-bit ABIs before API level 23 (#228).
  • Fix out of memory error when running Gradle with a small heap size.
  • Fix incompatibility with external package importlib_metadata (#276).
  • Fix NoClassDefFoundError when using Python to access certain androidx classes, including AppCompatTextView.
  • Fix conversion of Java byte[] array to Python bytearray.
  • Improve startup speed by deferring pkg_resources initialization until the module is first imported.
  • Update CA bundle to certifi 2020.4.5.1.

The following packages have been updated since the previous version:

  • pillow (7.1.2)

Chaquopy version 7.0.2

Posted on

Changes:

  • Runtime Python version is now 3.8.1.
    • See compatibility notes for Python 3.7 and Python 3.8.
    • Most native packages have been updated to a more recent version. If you’ve used specific version numbers in a build.gradle or requirements.txt file, you may need to change them. See the repository index for a complete list.
    • All Python standard library modules are now supported except those in this list. In particular, support has been added for bz2importlib.metadataimportlib.resources and lzma.
  • Android Gradle plugin version 3.6 is now supported, and version 3.1 is no longer supported.
  • buildPython must now be at least Python 3.5.
  • Expose Java API using api configuration so it’s available to dynamic feature modules.
  • Update CA bundle to certifi 2019.9.11.
  • Fix “cannot create a consistent method resolution order” error when using androidx.
  • Fix a deadlock involving the Java API.
  • Improve local caching of packages which aren’t available as wheels.
  • Reduce some temporary filename lengths to avoid the Windows 260-character limit.
  • Improve startup speed.

The following packages have been added to the repository since the previous version:

  • llvmlite
  • multidict
  • numba
  • opencv-contrib-python
  • opencv-contrib-python-headless
  • opencv-python-headless
  • torch
  • yarl

Chaquopy version 6.3.0

Posted on

Changes:

  • Android Gradle plugin version 3.5 is now supported.
  • Pre-compile Python code to .pyc format by default, so it doesn’t have to be compiled on the device. This significantly improves app startup speed and storage usage.
  • Remove the extractPackages setting, as data files are now extracted automatically. See the documentation for details.
  • Change data file location from cache to files directory, to prevent the user from clearing it while the app is running.
  • Hide importer frames in stack traces, unless the exception originated from the importer itself.
  • Fix another metadata parsing issue, this one affecting the package astroid.
  • Fix “has no DT_SONAME” warning (#112).

The following packages have been added to the repository since the previous version:

  • bcrypt
  • coincurve
  • gevent
  • greenlet
  • srsly
  • typed-ast

And the following packages have been updated:

  • cymem (2.0.2)
  • preshed (2.0.1)
  • scikit-learn (0.21.2)