Skip to content
View owenthcarey's full-sized avatar

Block or report owenthcarey

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
owenthcarey/README.md

Hi, I'm Owen Carey

I build open-source frameworks that bring Python to native mobile and web UI and make code portable across language boundaries.

Repositories · Stars · Followers


About

My work centers on two related problems: writing UI in Python for platforms that don't expect it and moving code safely across language boundaries. PythonNative compiles declarative Python components to real UIKit and AndroidX views, Wybthon brings a signals-first reactive model to the browser through Pyodide, and WeaveFFI generates type-safe bindings for eleven languages from a single IDL. These are the projects I'm actively maintaining.

Featured Projects

Build native Android and iOS apps in Python.

PythonNative is a cross-platform framework with a declarative, React-like component model: function components, hooks (use_state, use_effect, use_navigation), automatic reconciliation, and a pure-Python, Yoga-style flexbox engine. It compiles to real UIKit and AndroidX views via rubicon-objc and Chaquopy, with no JavaScript bridge in between. The CLI scaffolds projects, and pn run --hot-reload ships Fast Refresh out of the box.

Python · iOS / UIKit · Android / AndroidX · Chaquopy · rubicon-objc

Stars Forks Language Last commit


Build interactive web apps in Python, no JavaScript required.

Wybthon is a client-side SPA framework powered by Pyodide. It uses a signals-first reactive model inspired by SolidJS: function components run once at mount, and embedded signal getters become reactive holes that update only the affected DOM node. The framework ships with a virtual DOM, client-side router, context API, forms with validation, flow-control primitives, error boundaries, Suspense, and a dev server with SSE-based hot reload.

Python · Pyodide · Signals · WebAssembly · SPA

Stars Forks Language Last commit


Type-safe bindings for eleven languages from a single IDL.

WeaveFFI generates idiomatic packages for C, C++, Swift, Kotlin/Android, Node.js, WebAssembly, Python, .NET, Dart, Go, and Ruby from one YAML, JSON, or TOML definition. Every target speaks to the same stable C ABI, so adding a new platform is a code-gen change rather than a rewrite. The CLI handles validation, linting, diffing, formatting, IDL extraction from annotated Rust, and schema migration via weaveffi upgrade.

Rust · C ABI · IDL · Code generation · cargo

Stars Forks Language Last commit

Pinned Loading

  1. pythonnative/pythonnative pythonnative/pythonnative Public

    Build native Android and iOS apps in Python.

    Python 114 12

  2. wybthon/wybthon wybthon/wybthon Public

    Build interactive web apps with Python running directly in the browser.

    Python 34 6

  3. weavefoundry/weaveffi weavefoundry/weaveffi Public

    Write your native library once. Ship it to 11 language ecosystems.

    Rust 58 5