python-for-android VS libffi

Compare python-for-android vs libffi and see what are their differences.

python-for-android

Turn your Python application into an Android APK (by kivy)

libffi

A portable foreign-function interface library. (by libffi)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
python-for-android libffi
55 11
7,931 3,035
1.1% 1.5%
8.1 7.9
8 days ago 9 days ago
Python C
MIT License GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

python-for-android

Posts with mentions or reviews of python-for-android. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-13.
  • Error during build process on Buildozer + kivy. I'm tired). 2 days of struggle.
    3 projects | /r/kivy | 13 Jul 2023
    With that said the error is probably caused by something else, if you can't get it working post the complete build output with log_level=2. It could be an issue with your Java environment as per this issue https://github.com/kivy/python-for-android/issues/2790
  • Recipes in kivy
    2 projects | /r/kivy | 12 Jul 2023
    I assume you are referring to Android here... The existing p4a build recipes are located in the pythonforandroid/recipes directory, you need make a grpc directory in this format.
  • Compile iOS app on Mac after development on Windows
    3 projects | /r/kivy | 15 May 2023
    Build recipes are used to compile libraries for use on mobile platforms, see kivy-ios recipes directory and the corresponding python-for-android recipes directory. The quality varies here, some recipes may use outdated versions or provide limited library functionality. If you develop on Windows, you can install and use pretty much any Python package, but on mobile platforms, you are limited to those that are either 100% pure python, or have a build recipe.
  • Budozer not find swagger-client that satisfies
    2 projects | /r/kivy | 2 Feb 2023
    This should work as long as they are either pure python modules, or have a matching build recipe in python-for-android
  • Building With Scipy
    2 projects | /r/kivy | 27 Dec 2022
  • Have anyone used sqlalchemy and alembic in kivy for android app?
    4 projects | /r/kivy | 14 Dec 2022
    I mentioned "recipe" so Alembic will be included here (Im self taught so if I used the wrong term correct me).
    4 projects | /r/kivy | 14 Dec 2022
    The sqlalchemy recipe doesn't do anything beyond inserting the zip_safe=False into setup.py, see zipsafe.patch. I don't see any pyi files in sqlalchemy repo, what are you referring to exactly?
  • why there's no official release of Python for Android?
    2 projects | /r/Python | 13 Nov 2022
    Python android with SDL2: https://github.com/kivy/python-for-android/blob/master/doc/source/quickstart.rst
  • Pytorch in Kivy Android App
    2 projects | /r/kivy | 8 Nov 2022
    No, unfortunately there is no pytorch recipe, see p4a issue#2353 . The repository linked in RobertFlatt's comment is worth a look:
  • Auto selection of Text in TextInput and BackSpace problem
    2 projects | /r/kivy | 10 Mar 2022
    Partially i have go trough the github following link https://github.com/kivy/python-for-android/issues/2461 , in this person facing same problem as I and there is small video which is exactly matches with my problem,  but i don't understand the solution of that.

libffi

Posts with mentions or reviews of libffi. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-25.
  • Error when installing .deb
    2 projects | /r/pop_os | 25 Feb 2023
    Ok, there is a missing dependency, libffi6, which cannot be installed, because it isn't at repos. You can either install it via downloading from other repos (there is a chance in the debian repo), or via compiling on your own (you can start with paying a visit to official site: https://sourceware.org/libffi/). Either way, move carefully and never forget when a dependency is missing, it may be a start of a "missing dependencies hell". And please, be caution, because you can break your system quite easily.
  • Your favorite binding?
    4 projects | /r/raylib | 16 Jan 2023
    I've been working in implementing libffi into Euphoria so we can call Raylib functions directly. Previously, Euphoria did not support passing structures by value and only occasionally could we get away with "faking" it by passing int type values directly (but not float types). Raylib is the first library I've run into that makes heavy use of passing structures by value, so it's been an interesting challenge. My original proof of concept worked well with libffi built as a shared library, so now I'm working on building libffi directly into the backend of Euphoria. Then we'll be off and running with full support for Raylib!
  • kivy-ios / initial build with toolchain keeps getting stuck here (checking for suffix of executables...) after updating macOS and xcode... any thoughts? Thanks!
    2 projects | /r/kivy | 1 Aug 2022
    The last line of output is from configure and appears to be during building of libffi recipe - apparently executing the generate-darwin-source-and-headers.py from libffi repository
  • Installing Python in Ubuntu 20.04
    2 projects | dev.to | 1 Dec 2021
    build-essential installs everything required for compiling basic software written in C and C++ in this case Python. Read more... zlib1g-devis the development package of the compression library that implements the deflate compression methods and essential in Python's installation and other installations as well. Read more... libncurses5-dev is the development package for the curses library that provides a terminal-independent screen-painting and keyboard-handling tool. Read more... libgdbm-dev is a development library for GDBM whose functionality is to store key/data pairs in a data file. Read more... libnss3-dev Read more... libssl-dev Read more... libreadline-dev Read more... libffi-dev Read more... libsqlite3-dev Read more... wget Read more... libbz2-dev Read more... In the next step we can either manually download the latest release of Python from the Python Official Release page or use wget which we have installed in previous command. To download using wget, paste the following command in the terminal to download Python in the computer.
  • buildozer -v android debug error
    4 projects | /r/kivy | 2 Nov 2021
    [INFO]: -> running basename https://github.com/libffi/libffi/archive/v3.3.tar.gz
  • Julia ❤ Python
    5 projects | dev.to | 24 Jul 2021
    If you have read my earlier posts you know I love multilingual programming. One important part of multilingual programming is how to interface one language with other. Typically this is called FFI or foreign function interface. At the lowest level often there are libraries (aka bindings) to talk across languages or across implementations of same language e.g. libffi. In my undergrad we did a group project where we created language bindings to separate algorithmic part written in python and opencv and X11 logic in c.

What are some alternatives?

When comparing python-for-android and libffi you can also consider the following projects:

buildozer - Generic Python packager for Android and iOS

SWIG - SWIG is a software development tool that connects programs written in C and C++ with a variety of high-level programming languages.

KivMob - AdMob support for Kivy

KivyMD - KivyMD is a collection of Material Design compliant widgets for use with Kivy, a framework for cross-platform, touch-enabled graphical applications. https://youtube.com/c/KivyMD https://twitter.com/KivyMD https://habr.com/ru/users/kivymd https://stackoverflow.com/tags/kivymd

CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages

djinni

V8 - The official mirror of the V8 Git repository

Lua - Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description.

PlaystoreDownloader - A command line tool to download Android applications directly from the Google Play Store by specifying their package name (an initial one-time configuration is required)

nelson - The Nelson Programming Language

gplaydl - Command Line Google Play APK downloader. Download APK files to your PC directly from Google Play Store.

sol2 - Sol3 (sol2 v3.0) - a C++ <-> Lua API wrapper with advanced features and top notch performance - is here, and it's great! Documentation: