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 upgraded to a more recent version. If you’ve used specific version numbers in a build.gradle or requirements.txt file, you may need to update 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)

Chaquopy version 6.2.1

Posted on

Changes:

  • Android Gradle plugin version 3.4 is now supported.
  • Update to OpenSSL 1.1.1b. This enables the BLAKE2 and SHA-3 algorithms in hashlib.
  • Update CA bundle to certifi 2019.3.9.
  • Implement pkgutil.iter_modules.
  • Build pkg_resources into all apps. Many packages require this but don’t declare a dependency on setuptools.

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

  • dlib
  • editdistance
  • psutil
  • pysha3
  • pywavelets
  • scikit-image

And the following packages have been updated:

  • cryptography (2.6.1)

Chaquopy version 5.1.2

Posted on

This version adds the following features:

  • Add PyObject primitive conversion methods (toBooleantoInt, etc.).
  • Add PyObject container view methods (asListasMap and asSet).
  • Make APK build more reproducible.

And fixes the following bugs:

  • If pkg_resources is installed in your app, its “basic resource access” functions will now work.
  • Remove directory names when converting exception stack traces from Python to Java. This works around a bug in Google Play which was causing crash reports to be incomplete.
  • Change default character encoding from ASCII to UTF-8.

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

  • ephem
  • pycrypto
  • tensorflow

And the following packages have been updated:

  • chaquopy-openblas (fixed a build problem which caused a crash in SciPy)
  • scipy (1.1.0)

Chaquopy version 5.0.0

Posted on

From this version onwards, each Chaquopy version will include only one Python version, so the python.version setting is no longer required. Simply remove it to use the current version, 3.6.5.

Python 2 is no longer included. However, for existing Python 2 users, Chaquopy 4.x will continue to be maintained until the end of 2019 (#39).

Other changes:

  • The ABI arm64-v8a is now supported.
  • buildPython must now be at least Python 3.4.
  • minSdkVersion must now be at least API level 16. This still covers 99% of active devices.
  • Runtime components are now distributed as separate Maven artifacts. This fixes various intermittent build errors involving chaquopy_java.jar (#62).
  • If pkg_resources is installed in your app, it will now detect all pip-installed packages.

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

  • lru-dict
  • pycares
  • pycryptodome
  • pycryptodomex
  • ta-lib

Chaquopy version 4.0.0

Posted on

This version adds support for Android Gradle plugin version 3.2, and removes support for version 2.3.

Other changes:

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

  • cymem
  • cytoolz
  • lxml
  • murmurhash
  • obspy
  • preshed
  • spacy
  • thinc
  • twisted

Chaquopy version 3.3.2

Posted on

This version fixes the following bugs:

  • Fix pip issues involving packages with optional native components (e.g. websockets).
  • Work around inability of Android dynamic linker on API 22 and older to load multiple modules with the same basename (details here).
  • Fix ctypes.pythonapi and sys.abiflags, and provide partial implementation of sysconfig.get_config_vars.
  • Fix native crash in lrintf / feholdexcept / fegetenv (Crystax issue #1369).
  • Fix pkgutil.get_data when used with extractPackages, and improve extractPackages performance.

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

Chaquopy version 3.3.0

Posted on

This version adds the following feature:

  • Add fast conversions between Python bytes/bytearray and Java byte[] (#41).

And fixes the following pip-related issues:

  • Make pip evaluate environment markers (PEP 508) and data-requires-python attributes (PEP 503) against the target platform rather than the build platform.
  • Make pip only prioritize native wheels (not pure-Python wheels) over sdists of a newer version.
  • Fix pip issues when multiple packages provide the same directory or filename.
  • Improve pip error messages when packages attempt to build native code.

Also, the following packages have recently been added to the repository: