Chaquopy provides everything you need to include Python components in an Android app, including:
- Full integration with Android Studio's standard Gradle build system.
- Simple APIs for calling Python code from Java/Kotlin, and vice versa.
- A wide range of third-party Python packages, including SciPy, OpenCV, TensorFlow and many more.
To get started, see the documentation.
- A fork of the official Chaquopy repository on a new branch, aimed at adapting the existing build scripts to target:
- newer versions of the CPython (3.10)
- newer version of the Android API (31)
- newer versions of some native packages and libraries, including but not limited to
- LLVM 11.1.0
- Numpy 1.24.2
- Numba XX.YY
- PyTorch 1.13.1
- Experimental
- Tiktoken, a Python package with some heavy-lifting written in Rust can be built with some hacking on the
setuptools-rustpackage
- Tiktoken, a Python package with some heavy-lifting written in Rust can be built with some hacking on the
- Untested
- Many packages build successfully but are untested, pull requests with tests welcome
- Fully open to requests, pull requests, critique and extension
- An (experimental, have I mentioned this yet?) way to build Chaquopy Wheels for the aformentioned targets
- Production-ready
- Stable
- Associated in any way with the official Chaquopy repository
- Aimed at changing the Chaquopy Core in any way
- Humorous (see [server/pypi/common-pitfalls-and-solutions.md])
This repository contains the following components:
productcontains Chaquopy itself.targetcontains build processes for Python and its dependencies.server/pypicontains build processes for third-party Python packages.
For build instructions, see the README files in each subdirectory.
Or to build everything at once, follow the instructions below on a Linux x86-64 machine:
If necessary, install Docker using the instructions on its website.
Make sure all submodules are up to date:
git submodule init && git submodule update
Then run the script build-maven.sh. This will generate a maven directory containing the
Chaquopy repository.
To use this repository to build an app, edit the repositories block in your settings.gradle
or build.gradle file to declare your
repository
before mavenCentral. Either an HTTP URL or a local path can be used.