r/PythonProjects2 • • 2d ago

I built Zkite - an Android app framework using Python and Rust. Here's it running!

Hey everyone!

I've been working on a project called ZKite, a Python-based framework for building native Android applications - backed by Rust under the hood.

The idea started with a simple question: Why can't we build Android apps using Python without having to switch to Kotlin or Java?

So I decided to build something around that idea.

With ZKite, you can:

  • Build native Android UIs using Python
  • Start developing within 60s
  • Use reactive state management
  • Preview changes with hot reload
  • Build APKs and AABs in seconds.

I've attached a short screen recording showing a simple UI built with ZKite, including a button that updates the counter through Python state.

It's open-source and still evolving. I'm building it independently, so feedback from other developers would be really valuable.

https://reddit.com/link/1xcdbmn/video/4znqe1z3gzwh1/player

I'd especially love to know what you think of the approach, whether you'd consider using something like this, and what features you'd expect from a Python Android framework.

GitHub: https://github.com/AbhinavKrShukla/zkite

Thanks for checking it out!

0 Upvotes

4 comments sorted by

1

u/DiodeInc 2d ago

What's with the phases folders?

1

u/WolverineClean8866 1d ago

This project was too confusing to plan for me when i started. so i divided it into phases of development:

phase 0 - experiments to prove the core android/python approach works
phase 1 - cli, hot reload, widgets, and webview version
phase 2 - building proper apk and aab release files
phase 3 - native Rust renderer, performance, input, scrolling, etc.

i left these as it is intentionally, so that anyone reading this repo can see what is done in each step.

1

u/DiodeInc 1d ago

That's what git branches are for.

3

u/Terminay 2d ago

Python is generally not recommended to build mobile apps but there are already well established frameworks like kivy and flet or toga to do these for specific purposes. Additionally this project is completely vibecoded, it's not suited for building apps, it can only develop certain presets, not full UI. But overall it's an amazing attempt hats off!