Skip to main content

py2droid-api

py2droid-api provides Python bindings and helpers for Android system scripts and Magisk modules, making them more comfortable to write than doing it by hand.

It’s part of a small ecosystem I’m building around py2droid, my Python build for Android, packaged as a Magisk module.

Project status

This project is in early development (pre-1.0). Breaking changes may land in minor releases. It’s maintained in my spare time, whenever I have the time and motivation, so releases and fixes may be slow.

Installation

pip install py2droid-api

Or with uv:

uv add py2droid-api

Requires Python 3.13+. This floor is set with headroom for Android support, which landed in CPython 3.13. I also reserve the right to raise the minimum version if py2droid supports it and doing so helps implement new features or make existing ones more ergonomic.

Modules

  • py2droid.sysprops — bindings for the Android bionic system property API (__system_property_*), for reading, listing, and setting system properties. Requires a real Android device; importing it elsewhere raises NonAndroidDeviceError.
  • py2droid.fs — filesystem helpers mirroring the Magisk module installation API (set_perm, set_perm_recursive, replace, remove).
  • py2droid.fileprops — utilities for reading, writing, and editing .prop files.
  • py2droid.typing — shared type aliases and protocols used throughout the package.

Only py2droid.sysprops requires an Android device. py2droid.fs relies on Unix-specific calls (os.chown, os.setxattr, os.mknod) and won’t work on Windows; py2droid.fileprops and py2droid.typing have no such requirement and work on any platform.

Usage

See examples/ for runnable examples covering the main functions of each module.

A note on AI assistance

I use AI tools to help polish the documentation (English isn’t my native language), draft CI/CD and tooling configuration, and bounce ideas around during code review.

License

MIT License — See LICENSE for details.

Metadata

Release files for py2droid-api 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for py2droid-api 0.1.0
File Size Uploaded
py2droid_api-0.1.0.tar.gz 13.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for py2droid-api 0.1.0
File Interpreter ABI Platform
py2droid_api-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 34.4 kB

Release files / py2droid_api-0.1.0.tar.gz

Download URL py2droid_api-0.1.0.tar.gz
Size 13.9 kB
Tags Source
SHA-256 checksum
How to use checksums
871cdb6b0536cb7e49276a9ea60ac847189de7b617c313f939402ee641f1d7de
BLAKE2b-256 checksum
How to use checksums
dcf29b1628e6ee4d90a6bf7eb3c7cbd9ef90156679bf6ebc70c6c9e1000b15d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / py2droid_api-0.1.0-py3-none-any.whl

Download URL py2droid_api-0.1.0-py3-none-any.whl
Size 20.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
13ebeb7f37ae73ab2eb01e03c2b90168e649107cc5c43adfe4d5fe8b464170fa
BLAKE2b-256 checksum
How to use checksums
826fae9c8609009b2b03062839941703312c0103485749b4d9a8657c10015c9c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page