python-for-android


Namepython-for-android JSON
Version 2024.1.21 PyPI version JSON
download
home_pagehttps://github.com/kivy/python-for-android
SummaryA development tool that packages Python apps into binaries that can run on Android devices.
upload_time2024-01-23 17:13:29
maintainer
docs_urlNone
authorKivy Team and other contributors
requires_python>=3.7.0
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # python-for-android

python-for-android (p4a) is a development tool that packages Python apps into
binaries that can run on Android devices.

It can generate: 

* [Android Package](https://en.wikipedia.org/wiki/Apk_(file_format)) (APK)
  files, ready to install locally on a device, especially for testing. This format
  is used by many [app stores](https://en.wikipedia.org/wiki/List_of_Android_app_stores)
  but not [Google Play Store](https://play.google.com/store/). 
* [Android App Bundle](https://developer.android.com/guide/app-bundle/faq) 
  (AAB) files which can be shared on [Google Play Store](https://play.google.com/store/).
* [Android Archive](https://developer.android.com/studio/projects/android-library)
  (AAR) files which can be used as a re-usable bundle of resources for other 
  projects.
 
It supports multiple CPU architectures.

It supports apps developed with [Kivy framework](http://kivy.org), but was
built to be flexible about the backend libraries (through "bootstraps"), and 
also supports [PySDL2](https://pypi.org/project/PySDL2/), and a
[WebView](https://developer.android.com/reference/android/webkit/WebView) with
a Python web server.

It automatically supports dependencies on most pure Python packages. For other
packages, including those that depend on C code, a special "recipe" must be 
written to support cross-compiling. python-for-android comes with recipes for
many of the mosty popular libraries (e.g. numpy and sqlalchemy) built in.

python-for-android works by cross-compiling the Python interpreter and its
dependencies for Android devices, and bundling it with the app's python code
and dependencies. The Python code is then interpreted on the Android device.

It is recommended that python-for-android be used via 
[Buildozer](https://buildozer.readthedocs.io/), which ensures the correct
dependencies are pre-installed, and centralizes the configuration. However, 
python-for-android is not limited to being used with Buildozer.

[![Backers on Open Collective](https://opencollective.com/kivy/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/kivy/sponsors/badge.svg)](#sponsors)
[![GitHub contributors](https://img.shields.io/github/contributors-anon/kivy/python-for-android)](https://github.com/kivy/python-for-android/graphs/contributors)
[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)

![PyPI - Version](https://img.shields.io/pypi/v/python-for-android)
![PyPI - Python Version](https://img.shields.io/pypi/pyversions/python-for-android)

[![Unit tests & build apps](https://github.com/kivy/python-for-android/workflows/Unit%20tests%20&%20build%20apps/badge.svg?branch=develop)](https://github.com/kivy/python-for-android/actions?query=workflow%3A%22Unit+tests+%26+build+apps%22)
[![Coverage Status](https://coveralls.io/repos/github/kivy/python-for-android/badge.svg?branch=develop&kill_cache=1)](https://coveralls.io/github/kivy/python-for-android?branch=develop)

## Documentation

More information is available in the 
[online documentation](https://python-for-android.readthedocs.io) including a
[quickstart guide](https://python-for-android.readthedocs.io/en/latest/quickstart/).

python-for-android is managed by the [Kivy team](https://kivy.org).

## Support

Are you having trouble using python-for-android or any of its related projects
in the Kivy ecosystem?
Is there an error you don’t understand? Are you trying to figure out how to use 
it? We have volunteers who can help!

The best channels to contact us for support are listed in the latest 
[Contact Us](https://github.com/kivy/pyton-for-android/blob/master/CONTACT.md)
document.

## Code of Conduct

In the interest of fostering an open and welcoming community, we as 
contributors and maintainers need to ensure participation in our project and 
our sister projects is a harassment-free and positive experience for everyone. 
It is vital that all interaction is conducted in a manner conveying respect, 
open-mindedness and gratitude.

Please consult the [latest Code of Conduct](https://github.com/kivy/python-for-android/blob/master/CODE_OF_CONDUCT.md).

## Contributors

This project exists thanks to 
[all the people who contribute](https://github.com/kivy/python-for-android/graphs/contributors).
[[Become a contributor](CONTRIBUTING.md)].

<img src="https://contrib.nn.ci/api?repo=kivy/python-for-android&pages=5&no_bot=true&radius=22&cols=18">

## Backers

Thank you to [all of our backers](https://opencollective.com/kivy)! 
🙏 [[Become a backer](https://opencollective.com/kivy#backer)]

<img src="https://opencollective.com/kivy/backers.svg?width=890&avatarHeight=44&button=false">

## Sponsors

Special thanks to 
[all of our sponsors, past and present](https://opencollective.com/kivy).
Support this project by 
[[becoming a sponsor](https://opencollective.com/kivy#sponsor)].

Here are our top current sponsors. Please click through to see their websites,
and support them as they support us. 

<!--- See https://github.com/orgs/kivy/discussions/15 for explanation of this code. -->
<a href="https://opencollective.com/kivy/sponsor/0/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/0/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/1/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/1/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/2/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/2/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/3/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/3/avatar.svg"></a>

<a href="https://opencollective.com/kivy/sponsor/4/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/4/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/5/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/5/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/6/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/6/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/7/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/7/avatar.svg"></a>

<a href="https://opencollective.com/kivy/sponsor/8/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/8/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/9/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/9/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/10/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/10/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/11/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/11/avatar.svg"></a>

<a href="https://opencollective.com/kivy/sponsor/12/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/12/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/13/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/13/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/14/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/14/avatar.svg"></a>
<a href="https://opencollective.com/kivy/sponsor/15/website" target="_blank"><img src="https://opencollective.com/kivy/sponsor/15/avatar.svg"></a>

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/kivy/python-for-android",
    "name": "python-for-android",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7.0",
    "maintainer_email": "",
    "keywords": "",
    "author": "Kivy Team and other contributors",
    "author_email": "kivy-dev@googlegroups.com",
    "download_url": "https://files.pythonhosted.org/packages/7e/08/b917166a08b3a395acaed43908c700f5b1dcb61166a0f3db09a29a000b9e/python-for-android-2024.1.21.tar.gz",
    "platform": null,
    "description": "# python-for-android\n\npython-for-android (p4a) is a development tool that packages Python apps into\nbinaries that can run on Android devices.\n\nIt can generate: \n\n* [Android Package](https://en.wikipedia.org/wiki/Apk_(file_format)) (APK)\n  files, ready to install locally on a device, especially for testing. This format\n  is used by many [app stores](https://en.wikipedia.org/wiki/List_of_Android_app_stores)\n  but not [Google Play Store](https://play.google.com/store/). \n* [Android App Bundle](https://developer.android.com/guide/app-bundle/faq) \n  (AAB) files which can be shared on [Google Play Store](https://play.google.com/store/).\n* [Android Archive](https://developer.android.com/studio/projects/android-library)\n  (AAR) files which can be used as a re-usable bundle of resources for other \n  projects.\n \nIt supports multiple CPU architectures.\n\nIt supports apps developed with [Kivy framework](http://kivy.org), but was\nbuilt to be flexible about the backend libraries (through \"bootstraps\"), and \nalso supports [PySDL2](https://pypi.org/project/PySDL2/), and a\n[WebView](https://developer.android.com/reference/android/webkit/WebView) with\na Python web server.\n\nIt automatically supports dependencies on most pure Python packages. For other\npackages, including those that depend on C code, a special \"recipe\" must be \nwritten to support cross-compiling. python-for-android comes with recipes for\nmany of the mosty popular libraries (e.g. numpy and sqlalchemy) built in.\n\npython-for-android works by cross-compiling the Python interpreter and its\ndependencies for Android devices, and bundling it with the app's python code\nand dependencies. The Python code is then interpreted on the Android device.\n\nIt is recommended that python-for-android be used via \n[Buildozer](https://buildozer.readthedocs.io/), which ensures the correct\ndependencies are pre-installed, and centralizes the configuration. However, \npython-for-android is not limited to being used with Buildozer.\n\n[![Backers on Open Collective](https://opencollective.com/kivy/backers/badge.svg)](#backers)\n[![Sponsors on Open Collective](https://opencollective.com/kivy/sponsors/badge.svg)](#sponsors)\n[![GitHub contributors](https://img.shields.io/github/contributors-anon/kivy/python-for-android)](https://github.com/kivy/python-for-android/graphs/contributors)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.1-4baaaa.svg)](CODE_OF_CONDUCT.md)\n\n![PyPI - Version](https://img.shields.io/pypi/v/python-for-android)\n![PyPI - Python Version](https://img.shields.io/pypi/pyversions/python-for-android)\n\n[![Unit tests & build apps](https://github.com/kivy/python-for-android/workflows/Unit%20tests%20&%20build%20apps/badge.svg?branch=develop)](https://github.com/kivy/python-for-android/actions?query=workflow%3A%22Unit+tests+%26+build+apps%22)\n[![Coverage Status](https://coveralls.io/repos/github/kivy/python-for-android/badge.svg?branch=develop&kill_cache=1)](https://coveralls.io/github/kivy/python-for-android?branch=develop)\n\n## Documentation\n\nMore information is available in the \n[online documentation](https://python-for-android.readthedocs.io) including a\n[quickstart guide](https://python-for-android.readthedocs.io/en/latest/quickstart/).\n\npython-for-android is managed by the [Kivy team](https://kivy.org).\n\n## Support\n\nAre you having trouble using python-for-android or any of its related projects\nin the Kivy ecosystem?\nIs there an error you don\u2019t understand? Are you trying to figure out how to use \nit? We have volunteers who can help!\n\nThe best channels to contact us for support are listed in the latest \n[Contact Us](https://github.com/kivy/pyton-for-android/blob/master/CONTACT.md)\ndocument.\n\n## Code of Conduct\n\nIn the interest of fostering an open and welcoming community, we as \ncontributors and maintainers need to ensure participation in our project and \nour sister projects is a harassment-free and positive experience for everyone. \nIt is vital that all interaction is conducted in a manner conveying respect, \nopen-mindedness and gratitude.\n\nPlease consult the [latest Code of Conduct](https://github.com/kivy/python-for-android/blob/master/CODE_OF_CONDUCT.md).\n\n## Contributors\n\nThis project exists thanks to \n[all the people who contribute](https://github.com/kivy/python-for-android/graphs/contributors).\n[[Become a contributor](CONTRIBUTING.md)].\n\n<img src=\"https://contrib.nn.ci/api?repo=kivy/python-for-android&pages=5&no_bot=true&radius=22&cols=18\">\n\n## Backers\n\nThank you to [all of our backers](https://opencollective.com/kivy)! \n\ud83d\ude4f [[Become a backer](https://opencollective.com/kivy#backer)]\n\n<img src=\"https://opencollective.com/kivy/backers.svg?width=890&avatarHeight=44&button=false\">\n\n## Sponsors\n\nSpecial thanks to \n[all of our sponsors, past and present](https://opencollective.com/kivy).\nSupport this project by \n[[becoming a sponsor](https://opencollective.com/kivy#sponsor)].\n\nHere are our top current sponsors. Please click through to see their websites,\nand support them as they support us. \n\n<!--- See https://github.com/orgs/kivy/discussions/15 for explanation of this code. -->\n<a href=\"https://opencollective.com/kivy/sponsor/0/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/0/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/1/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/1/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/2/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/2/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/3/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/3/avatar.svg\"></a>\n\n<a href=\"https://opencollective.com/kivy/sponsor/4/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/4/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/5/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/5/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/6/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/6/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/7/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/7/avatar.svg\"></a>\n\n<a href=\"https://opencollective.com/kivy/sponsor/8/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/8/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/9/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/9/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/10/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/10/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/11/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/11/avatar.svg\"></a>\n\n<a href=\"https://opencollective.com/kivy/sponsor/12/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/12/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/13/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/13/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/14/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/14/avatar.svg\"></a>\n<a href=\"https://opencollective.com/kivy/sponsor/15/website\" target=\"_blank\"><img src=\"https://opencollective.com/kivy/sponsor/15/avatar.svg\"></a>\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "A development tool that packages Python apps into binaries that can run on Android devices.",
    "version": "2024.1.21",
    "project_urls": {
        "Bug Reports": "https://github.com/kivy/python-for-android/issues",
        "Documentation": "https://python-for-android.readthedocs.io",
        "Homepage": "https://github.com/kivy/python-for-android",
        "Source": "https://github.com/kivy/python-for-android"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4e9ad7aaddc380894c51484669ca4ac9c5ab890fcda0ef91ed4ad73eadb881a2",
                "md5": "fff31b849192fd88f94175340024a72f",
                "sha256": "846296e53ae0cd004b0b7b1a296fb3d9bc3469de7bf43e7454f7bded28d7ce26"
            },
            "downloads": -1,
            "filename": "python_for_android-2024.1.21-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "fff31b849192fd88f94175340024a72f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7.0",
            "size": 543440,
            "upload_time": "2024-01-23T17:13:26",
            "upload_time_iso_8601": "2024-01-23T17:13:26.318485Z",
            "url": "https://files.pythonhosted.org/packages/4e/9a/d7aaddc380894c51484669ca4ac9c5ab890fcda0ef91ed4ad73eadb881a2/python_for_android-2024.1.21-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e08b917166a08b3a395acaed43908c700f5b1dcb61166a0f3db09a29a000b9e",
                "md5": "ef3a0ad1460d32f4cae02c11e0d35667",
                "sha256": "f4f2854e4a31649cfbc4c17d6da475a59b0e7506fa1925151b4865b0d28fd497"
            },
            "downloads": -1,
            "filename": "python-for-android-2024.1.21.tar.gz",
            "has_sig": false,
            "md5_digest": "ef3a0ad1460d32f4cae02c11e0d35667",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.0",
            "size": 484770,
            "upload_time": "2024-01-23T17:13:29",
            "upload_time_iso_8601": "2024-01-23T17:13:29.614697Z",
            "url": "https://files.pythonhosted.org/packages/7e/08/b917166a08b3a395acaed43908c700f5b1dcb61166a0f3db09a29a000b9e/python-for-android-2024.1.21.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-23 17:13:29",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "kivy",
    "github_project": "python-for-android",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "tox": true,
    "lcname": "python-for-android"
}
        
Elapsed time: 0.30070s