Skip to content

2019.06.06

Compare
Choose a tag to compare
@inclement inclement released this 08 Jun 13:10
· 763 commits to master since this release
ec547bb

python-for-android is a packager for Python apps on Android. You can create your own Python distribution including the modules and dependencies you want, and bundle it in an APK along with your own code.

Features include:

  • Support for building with both Python 2 and Python 3.
  • Different app backends including Kivy, PySDL2, and a WebView with Python webserver.
  • Automatic support for most pure Python modules, and built in support for many others, including popular dependencies such as numpy and sqlalchemy.
  • Multiple architecture targets, for APKs optimised on any given device.

This release contains 198 commits from 31 different contributors.

This is the first release to use a calendar-based versioning scheme. Future releases will continue to be of the form YYYY.MM.DD.

Major changes

Major changes in this release include:

  • Added support for running your setup.py when packaging your app, enabling your code to be installed as a module and allowing your app to easily build and include cython components.
  • Added support for matplotlib.
  • Updated many recipes, and especially the SDL2 backend components, for improved performance on Android.
  • Ongoing improvements to our test coverage and infrastructure.
  • Updated the release model to target regular, smaller releases.

Changelog

Core functionality

[#1669]: Fixed various dependency graph resolution bugs
[#1683, #1689, #1696]: Introduced --blacklist-requirements option and added sqlite, openssl, libffi to the default build
[#1690, #1714]: Cleaned up setenv functionality provided by SDL2
[#1693]: Fixed android.add_jars buildozer.spec option
[#1729, #1733, #1734]: Fixed autogenerated version codes for APKs with different target architectures
[#1684]: Added suport for custom shared libraries
[#1741]: Added runtime permission request functions
[#1772]: Appiled a generic fix for ctypes.util.find_library on Android
[#1625, #1809]: Added functionality to run a project's setup.py if present
[#1819]: Fixed service_only bootstrap
[#1670]: Removed the pygame bootstrap (this was old and deprecated, it should not affect any current builds)

Recipes

[#1675]: Updated netifaces recipe
[#1661]: Updated opencv recipe
[#1677]: Updated zope_interface recipe and added Python 3 compatibility
[#1685]: Fixed pycryptodome recipe by version downgrade
[#1680, #1686]: Removed kivent recipes (broken, not maintained)
[#1713]: Updated enum34, pyasn1, pyopenssl versions
[#1715]: Fixed android recipe for non-SDL2 bootstraps
[#1729]: Fixed flask recipe requirements
[#1718]: Fixed sdl2_image recipe for arch x86
[#1723]: Fixed psycopg2 recipe
[#1751]: Fixed libxml2 recipe
[#1757]: Fixed protobuf recipe
[#1761]: Updated cryptography recipe version
[#1765]: Fixed libglob recipe
[#1762]: Removed doubleratched recipe as unnecessary
[#1663, #1766, #1777, #1832]: Updated Kivy recipe commit/version target
[#1775]: Fixed outdated pysdl2 recipe version
[#1756]: Fixed xeddsa shared library copying
[#1758]: Updated omemo to v0.10.4
[#1760]: Updated omemo-backend-signal to v0.2.3
[#1742]: Updated sdl2_mixer to 2.0.4
[#1795]: Updated setuptools to 40.9.0
[#1815]: Enabled ipv6 for python3
[#1814]: Updated pymunk to v5.5.0
[#1831]: Removed python2legacy and hostpython2legacy recipes (deprecated and broken, replaced by current python2 recipe)
[#1822]: Added a matplotlib recipe

Testing

[#1673, #1674, ]: Improved tox config
[#1676]: Recipe class unit tests
[#1727]: Fixed travis log size config
[#1820]: Fixed tox config
[#1821]: Fixed travis builds when no logging occurs for 10 minutes
[#1837]: Added documentation for on-device unit tests
[#1835]: Added coveralls check

Documentation

[#1664, #1666, #1667] Various README improvements
[#1695]: Updated openjdk7 dependency to openjdk8
[#1731]: Fixed import doc
[#1798, #1799]: Fixed code examples in recipe doc
[#1806]: Fixed some broken links
[#1838]: Documented the development and release models and methodology

Miscellaneous

[#1789]: Fixed recipe import warnings
[#1712]: Added warnings for arguments containing carriage returns
[#1746]: Changed a print to a debug log
[#1807]: F[ixed pip dependency resolution
[#1838]: Adjusted version and branch reference, improved release documentation