kivy / kivy/python-for-android
Finally I have Onnxruntime recipe
- Dominant language
- Python
- Stars
- 8.9k
- Forks
- 2k
- Avg merge
- 12h 20m
- Merged PRs (30d)
- 9
Description
## Background
- [Onnxruntime](https://onnxruntime.ai/) is an an open-source, high-performance inference engine that accelerates machine learning models in the Open Neural Network Exchange (ONNX) format.
- Building it for `android` was a huge challenge. I have followed some patterns from `termux-packages` & after many days of hit-n-try, I was able to build it.
## Custom recipe link
- Here is my [open-source project](https://github.com/daslearning-org/vision-ai) on `onnxruntime` & here is the [recipe link](https://github.com/daslearning-org/vision-ai/tree/main/onnx/p4a_local_recipes/onnxruntime) which builds the `cmake` part first & then it build the wheel.
- You can try my app from [releases](https://github.com/daslearning-org/vision-ai/releases).
## Constraints
- I am currently building on `numpy 1.26.5` due to #3203 issue as I also need `opencv` in my project.
- Another one is, currently it is built using `ndk 25b` and that problem is also written in the above mentioned issue.
### My thoughts
I'm not a build expert on cmake, wheel etc. I tried my best to make it work and I am sure that the developers can make it more robust.
> Please feel free to let me know your thoughts. Thank you
Contributor guide
Research direction
Start by reviewing the custom recipe in daslearning-org/vision-ai at onnx/p4a_local_recipes/onnxruntime, including its CMake and wheel build steps, then read the constraints documented in issue #3203. Done means the Android recipe is reviewed for python-for-android and its build requirements and limitations are clearly addressed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- android, cmake, numpy, opencv, python
- Domain
- build-system, machine-learning, mobile-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100