30 open-source projects similar to pyscript/pyscript, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Pyscript alternative.
This project provides a full Python interpreter compiled to WebAssembly, enabling the execution of Python code and scientific libraries directly within web browsers and server-side environments. By bridging the gap between language runtimes, it allows developers to run computational tasks, manage packages, and perform data analysis in client-side environments without requiring a backend server. The platform distinguishes itself through a comprehensive foreign function interface that enables bidirectional data exchange, object proxying, and function calling between Python and JavaScript. It in
RustPython is a Python 3 compatible interpreter implemented in Rust. It functions as a scripting engine that can be embedded directly into host applications, allowing for the execution of dynamic scripts and the customization of software behavior within a memory-safe environment. The project distinguishes itself through its ability to bridge Python and JavaScript runtimes, enabling data exchange and function invocation across language boundaries. It also provides a portable execution environment by compiling Python code into WebAssembly, which allows for the execution of logic directly within
Decky Loader is an open-source plugin system that extends the Steam Deck's gaming mode interface with community-made plugins and customizations. It functions as a plugin loader that injects JavaScript plugins into the Steam Deck's web-based interface at runtime, enabling real-time appearance and behavior changes without leaving the active gaming session. The system combines a CORS-bypassing proxy layer that intercepts and modifies HTTP fetch requests from plugins to remove same-origin restrictions, with a Python-to-TypeScript bridge that exposes Python functions as callable TypeScript methods
AsyncDisplayKit is an asynchronous UI framework and performance library for iOS. It provides a collection of performant alternatives to standard views, allowing developers to build responsive interfaces by offloading layout and rendering tasks to background threads. The framework is centered around a declarative layout engine based on a flexbox model, which calculates element positions and sizes asynchronously. It utilizes a node-based abstraction to wrap native views, enabling the instantiation and configuration of UI hierarchies on background threads to prevent main thread blocking. The sy
Texture is an iOS framework for building user interfaces that render on background threads using thread-safe node abstractions. It provides an asynchronous display node architecture that constructs and composites view hierarchies off the main thread, then synchronises the final bitmap for presentation, enabling smooth and responsive apps. The framework replaces UIKit's standard view system with node-based hierarchies that can be created, configured, and mutated on any queue without locking the main thread. The framework distinguishes itself through a precomputed rendering pipeline that decode
Preswald is a WebAssembly data application framework used to build interactive data apps that run entirely in the browser using Python. It provides a browser-based data stack, including SQL and Python execution, that operates offline without the need for a backend server. The framework includes a static data app bundler to package data workflows and visualizations into single, shareable files. These self-contained applications enable serverless data visualization and portable data workflow bundling for distribution. The system utilizes a reactive data dashboard interface that updates specifi
JupyterLite is a WebAssembly-based interactive notebook environment that enables browser-based computing without a backend server. It provides a client-side data science sandbox where users can execute programming language kernels and run interactive notebooks entirely within the web browser. The project allows for the creation of tailored distributions by pre-installing specific language packages, bundling custom wheels, and applying environment configurations. It supports the generation of static sites that can be deployed to any standard HTTP host, including the ability to package the envi
This project is an interactive learning platform designed to help users build proficiency in Python through a structured sequence of programming challenges. It functions as an online coding exercise environment where learners can practice syntax, data structures, and algorithmic logic directly within a web browser. The platform distinguishes itself by utilizing a WebAssembly-based runtime that executes Python code locally in the client. This approach provides an immediate feedback loop for script evaluation and logic testing without requiring the installation of local software or the configur
pywebview is a cross-platform desktop GUI framework for Python that renders HTML, CSS, and JavaScript content using the operating system's native web rendering engine. It enables developers to build desktop applications that run on Windows, macOS, and Linux from a single Python codebase, with the web frontend displayed in a lightweight, native window. The framework provides a bidirectional JavaScript-Python bridge for real-time data exchange between frontend and backend, along with the ability to manipulate the Document Object Model directly from Python without writing JavaScript. It includes
Eel is a framework for creating desktop applications using a Python backend and a web-based frontend. It acts as a bidirectional bridge between Python and JavaScript, allowing developers to build graphical user interfaces with HTML and JavaScript that communicate with local system logic. The project facilitates two-way communication by enabling the exposure of Python functions to the browser and allowing the backend to trigger JavaScript functions. It uses a local server to render web interfaces as standalone desktop windows and provides tools to bundle the Python code and web assets into a s
Eel is a Python HTML GUI framework designed for building desktop applications that utilize a Python backend and an HTML and JavaScript frontend. It functions as a local web server wrapper that hosts application assets and manages the browser window to provide a user interface. The framework provides a bidirectional Python-JavaScript bridge, allowing functions in either language to call each other in real time. It also includes a desktop application bundler to package Python code and web assets into a standalone executable for distribution. The system covers application window management, loc
Brython is a Python 3 runtime and interpreter that executes scripts directly in the web browser. It serves as a client-side environment that translates Python source code into executable JavaScript to handle frontend logic without requiring server round-trips. The project provides a bidirectional interoperability bridge between Python and JavaScript, allowing for the integration of external JavaScript libraries. It further functions as a tool for packaging Python scripts into standalone native mobile applications for Android devices. The runtime includes a library for programmatic manipulati
esbuild is a high-performance JavaScript bundler and transpiler designed to transform modern web assets into production-ready code. Built with a focus on speed, it utilizes a concurrent execution model to perform parsing, linking, and code generation across multiple CPU cores. The engine handles a wide range of tasks, including TypeScript compilation, JSX transformation, and CSS bundling, while maintaining a consistent build process across diverse environments. What distinguishes the project is its architecture, which leverages memory-mapped file processing and a single-pass transformation st
Alluxio is a virtual distributed file system and data orchestration layer that serves as a high-performance caching layer between cloud storage and compute clusters. It acts as a distributed data cache designed to accelerate data access for large-scale analytics and machine learning workloads. The system provides a unified interface that presents multiple heterogeneous storage backends as a single coherent namespace. This allows for the unification of diverse storage systems, enabling computation engines to access data from different providers without changing application code. The project c
Litho is an Android declarative UI framework and component library used to build user interfaces through a declarative API and immutable state. It functions as an asynchronous layout engine that maps components to a structured view hierarchy to automate view updates. The framework optimizes rendering performance by computing element positions on background threads to prevent blocking the main UI thread. It further improves efficiency by flattening nested view hierarchies and caching layout results. The system includes capabilities for state reconciliation, component recycling, and the render
geemap is a Python library and toolkit for interactive geospatial analysis, visualization, and satellite imagery analysis using Google Earth Engine data and cloud computing. It provides a mapping tool for displaying geospatial datasets within Jupyter notebooks and a suite of tools for classifying imagery and calculating zonal statistics. The project includes a utility to convert geospatial analysis scripts from JavaScript into Python code to facilitate data manipulation. It also enables the generation of timelapse animations and time-series visualizations from satellite imagery catalogs. The
Anko is an Android Kotlin library designed to simplify application development through a set of domain-specific languages and extensions. It functions as a programmatic UI DSL, an SQLite wrapper, an SDK utility, and an asynchronous framework. The project provides a declarative layout system that allows developers to build user interfaces through code instead of static XML markup. It distinguishes itself by offering a fluent database layer that eliminates manual cursor management and a concurrency system that uses weak references to prevent memory leaks in activities. The library covers broad
Ion is an asynchronous HTTP client library for Android that handles network requests, JSON parsing, image loading, and file downloads. It provides a fluent builder pattern for constructing requests and supports automatic JSON deserialization into Java objects using Gson, along with in-memory image caching and multipart form-data encoding. The library distinguishes itself through its support for request cancellation via Future objects, allowing individual or bulk cancellation of in-flight requests to avoid wasted bandwidth and stale callbacks. It also includes proxy-aware request routing for d
YYText is an iOS rich text framework used for rendering and editing complex attributed text. It features an asynchronous text rendering engine that calculates layout on background threads to maintain interface performance, alongside an attributed text serializer for converting rich text structures into storable formats. The framework provides specialized tools for non-rectangular text layout, allowing text to wrap around custom container paths and exclusion shapes. It also supports advanced typography requirements, including vertical text formatting for East Asian languages and the applicatio
This project is a client-side data visualization tool and vector graphics generator that transforms tabular data into customizable SVG graphics. It functions as a browser-based visualization engine that processes datasets locally, ensuring that sensitive information is not transmitted to a server. The platform utilizes a modular layout engine to render diverse chart types, including hierarchical and temporal visualizations. It supports the definition and integration of custom layout extensions to expand the variety of available visualization types. The system provides capabilities for import
This project is a sample library and implementation guide for using RxJava to manage asynchronous data streams and concurrent tasks in Android applications. It provides a collection of reference implementations for reactive programming, focusing on functional operators to transform and combine asynchronous data flows. The library demonstrates specific Android architectural patterns, such as implementing decoupled event buses for component communication and coordinating parallel network requests. It includes concrete examples of mobile-specific patterns including search input debouncing, list
Hide screen when boss is approaching.
Android-ZBLibrary is a mobile framework providing core primitives for Android development, including a Model-View-Presenter framework for structural architecture, a network request wrapper, and a local data persistence layer. It also includes a library of reusable interface elements and a background task manager to maintain user interface responsiveness. The framework decouples business logic from user interfaces through its MVP implementation and manages external service integration via tools for HTTP communication, JSON processing, and response caching. The library covers a broad set of ca
threads.js is a JavaScript worker thread library and asynchronous task orchestrator designed to offload CPU-intensive tasks to background threads. It functions as a cross-platform worker pool and a TypeScript worker runner that automatically transpiles and executes TypeScript files within separate threads. The project distinguishes itself by providing a unified worker API that allows for cross-platform execution across different JavaScript environments. It includes a specialized worker data serialization tool to pass complex class instances and binary data between threads, and supports inlini
Comlink is a remote procedure call library that transforms message-based communication into asynchronous function calls between the main thread and web workers. It provides a proxy-based interface that allows multiple threads to interact with a single object instance without manual message handling. The project enables the execution of functions across separate browser windows, iframes, and web workers, making external calls behave like local asynchronous operations. It supports the transfer of non-cloneable data through custom serialization handlers and allows for the movement of ownership f
This is an asynchronous HTTP client for Android that simplifies network requests by wrapping Apache HttpClient. It provides a callback-based networking library for fetching remote data and communicating with servers without blocking the user interface. The project includes a multipart HTTP uploader for sending binary files and large data payloads, as well as a JSON parser to convert raw response text into structured data objects. It features a session manager that persists cookies in local application preferences to maintain state across multiple requests. Additional capabilities include aut
NuttX is a POSIX-compliant real-time operating system designed for microcontrollers ranging from 8-bit to 64-bit architectures. It provides a deterministic execution environment with a real-time task scheduler and a POSIX embedded kernel to ensure portable code execution across diverse hardware targets. The project distinguishes itself through a comprehensive hardware abstraction layer that provides standardized drivers for I2C, SPI, CAN, and USB across various semiconductor chipsets. It also features an embedded networking stack supporting TCP, UDP, IPv4, and IPv6, alongside industrial proto
macfuse is a framework for implementing custom file systems in user space. It utilizes a macOS kernel extension to bridge the operating system kernel's virtual file system layer to a user-process daemon. This project allows the implementation of file system logic outside of the kernel to improve system stability and simplify development. It enables the mapping of remote data, network resources, or memory to a local folder so they can be accessed through standard system interfaces. The framework supports the development of cross-platform storage by providing a portable interface for consisten
ggez is a 2D game framework for the Rust programming language. It provides a hardware abstraction layer for accessing keyboard, mouse, sound, and graphics hardware, alongside a dedicated game loop manager that synchronizes input processing, state updates, and frame rendering for real-time applications. The framework includes a hardware-accelerated rendering engine for drawing sprites, shapes, and text using shader programs. It also features a resource management system that uses a filesystem abstraction to load and manage game assets from physical directories or compressed archives. Addition
Partytown is a main thread performance optimizer and web worker script orchestrator. It functions as a third party script offloader that relocates resource-intensive external JavaScript from the browser's main thread into a sandboxed web worker environment. The project focuses on improving core web vitals and overall page responsiveness by reducing main thread blocking time. This isolation ensures that heavy third party scripts do not interfere with the execution of core application code and page loading speed. The system provides infrastructure for client-side script offloading through DOM