30 open-source projects similar to pythops/bluetui, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Bluetui alternative.
Gobot is a robotics framework for the Go programming language designed for developing robotics, drones, and IoT applications. It provides a hardware abstraction layer with standardized drivers to interact with GPIO, I2C, SPI, and PWM interfaces across various single-board computers and microcontrollers. The framework functions as an IoT device orchestrator and BLE device manager, enabling the coordination of multiple sensors, actuators, and Bluetooth Low Energy peripherals. It includes specialized interfaces for drone control, allowing for the management of flight maneuvers and video streams
This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc
BabyBluetooth is a Bluetooth Low Energy library and wireless device communication API for iOS and macOS. It serves as a central manager for discovering nearby wireless devices, managing the lifecycle of active connections, and providing a programmatic interface to read and write characteristic values to control remote hardware behavior. The library includes a peripheral manager that allows a device to simulate a wireless peripheral by advertising services and characteristics for other hardware to discover and interact with. The framework covers device discovery through scanning and filtering
Solaar is a device management tool and configuration suite for Logitech wireless peripherals on Linux. It serves as an input peripheral monitor that tracks battery levels and connection link quality via a system tray application, while providing a receiver manager for pairing and unpairing wireless devices with proprietary USB receivers. The project features an input device automation engine that maps hardware events and mouse gestures to simulated keyboard inputs or system commands. This allows for the creation of custom rules that trigger actions based on device notifications or specific wi
Gadgetbridge is an open-source Android wearable device manager and health tracker. It enables users to connect and manage smartwatches and fitness trackers without requiring vendor cloud accounts or proprietary companion software. This cloudless framework prioritizes privacy by storing all health and activity data locally on the mobile device. It functions as an alternative to proprietary apps by removing the need for vendor-managed cloud services to synchronize device data. The application provides a system for device management and health tracking, utilizing a modular driver system to supp
This project is an open-source software development kit and framework for implementing the Matter smart home standard. It provides a universal IPv6-based application layer and a cluster-based data model to ensure interoperability between diverse smart home devices and controllers. The system is distinguished by its multi-transport network abstraction, which maps Bluetooth LE, Thread, and Wi-Fi implementations to a common layer. It includes specialized tooling for secure device commissioning via QR codes and NFC, as well as a comprehensive over-the-air firmware update system for distributing s
Android-BluetoothKit is a communication library for Android designed to manage Bluetooth Low Energy connections, GATT services, and characteristic data exchange. It provides a GATT client for reading and writing data, a device scanner for discovering hardware, and a connection manager to track device states. The library features a pointer-based beacon parser that extracts custom data from device broadcasts without requiring a full connection. It also implements a serialized request queue to process Bluetooth operations sequentially, preventing race conditions and managing transmission timeout
Opendrop is a Python implementation of the AirDrop protocol used for transferring files and links between devices over wireless connections. It functions as a peer-to-peer wireless file transfer system and a tool for automating the exchange of network passwords using specialized handshake mechanisms. The project enables the discovery of nearby hardware by scanning for Bluetooth Low Energy advertisement packets and searching local subnets for specific service signatures. It establishes direct communication links through monitor mode and raw frame injection to move data without requiring a stan
RxAndroidBle is a reactive framework designed to simplify Bluetooth Low Energy interactions on Android. It functions as a wrapper for the system Bluetooth stack, converting low-level asynchronous callbacks into observable streams to manage device discovery, connection lifecycles, and data communication. The library distinguishes itself by normalizing inconsistent vendor-specific Bluetooth behaviors into a predictable interface, ensuring reliable cross-device compatibility. It incorporates an internal operation queueing mechanism that serializes concurrent hardware requests, preventing command
Textual is a Python TUI framework and asynchronous UI library used to build interactive text user interfaces. It provides a component-based architecture for creating cross-platform applications that run in both terminal and web browser environments. The framework distinguishes itself by utilizing a CSS-based layout engine to apply visual styles to widgets and a command palette interface for discovering and executing application functions. It also supports hosting terminal-based interfaces on the web to enable remote access via a standard browser. The toolkit covers a broad range of capabilit
FastBle is a development framework for Android designed to simplify scanning, connecting, and exchanging data with Bluetooth Low Energy devices. It provides a structured transport layer for managing communication and a dedicated system for discovering nearby peripherals. The framework features a multi-connection manager that maintains simultaneous links to several peripherals and employs automated reconnection logic to ensure stability. It includes a data transport layer that handles automatic packet splitting for payloads that exceed standard transmission limits. The library covers device d
ZMK is a modular firmware framework built on the Zephyr RTOS for wireless keyboards. It functions as a programmable system for defining custom keymaps, layers, and input behaviors, acting as an HID device emulator for keyboard and mouse input on computers and mobile devices. It specifically provides a controller solution for synchronizing two separate keyboard halves over wireless or wired links. The project is distinguished by its focus on Bluetooth Low Energy connectivity, featuring multi-device pairing and the ability to switch between several saved host profiles. It includes advanced powe
Atuin is a command-line tool that replaces standard shell history with a searchable, encrypted SQLite database. By hooking into shell initialization scripts, it provides an interactive, keyboard-driven interface for real-time command filtering and retrieval. The platform ensures data privacy through a client-side encryption layer, securing sensitive history and configuration data before it is synchronized across multiple machines. Beyond history management, Atuin functions as an executable documentation platform that enables teams to create and share interactive runbooks. These documents use
This framework provides a simplified interface for managing Bluetooth Low Energy connections and peripheral hardware communication on Android devices. It acts as a thin abstraction layer over the native system Bluetooth stack, reducing boilerplate code while facilitating device discovery, connection lifecycle management, and data exchange. The library distinguishes itself by implementing a state-machine approach to connection management, which tracks hardware links to ensure reliable transitions between scanning, connecting, and active communication. It further simplifies complex hardware int
GalaxyBudsClient is a desktop application designed for the configuration and management of Samsung Galaxy Buds. It serves as an interface for controlling earbud hardware, providing a way to adjust settings and customize device behavior without the official mobile application. The project includes specialized utilities for firmware flashing and hardware diagnostics. It enables the modification of device firmware using binary files and allows for the retrieval of detailed hardware metadata, bond lists, and the execution of factory self-tests. The application covers audio customization, such as
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
FTXUI is a C++ terminal user interface library and cross-platform console framework used for building interactive command line applications. It functions as a declarative terminal layout engine and a component-based UI toolkit that enables the creation of responsive interfaces. The library is distinguished by its terminal graphics and animation capabilities, allowing for the rendering of custom shapes, data plots, and smooth visual transitions using easing functions. It provides a comprehensive set of interactive widgets and a layout system utilizing flexbox and grid containers that adapt to
python-prompt-toolkit is a Python library and terminal user interface framework used for building interactive command line interfaces. It provides a toolkit for constructing complex terminal applications with advanced input handling and layout management. The project features a real-time syntax highlighting engine and a rendering system that ensures correct alignment and display of double-width Unicode characters. It includes specialized capabilities for command line autocompletion, providing ghost text suggestions and searchable input history. The framework covers a broad range of interface
Termshark is a terminal-based network packet analyzer and protocol flow inspector. It serves as a keyboard-driven interface for the tshark command-line utility, providing a terminal user interface to monitor data flow and analyze network traffic. The tool functions as a terminal interface for Wireshark, utilizing its filtering and inspection logic to analyze recorded capture files or live network interfaces. It specifically enables the reassembly and inspection of TCP and UDP flows to isolate traffic patterns and analyze network conversations by protocol. The system includes capabilities for
tview is a library for building interactive text-based user interfaces in Go. It functions as a toolkit for managing event loops, user input, and screen rendering, providing a framework of pre-built widgets and an integrated layout engine for creating command-line applications. The project distinguishes itself through a comprehensive layout system that uses grid and flexbox models to create responsive designs. It also supports UI layer stacking to manage multiple screens and modal overlays. The framework includes a diverse suite of interactive components for data display, such as tables and
Ratatui is a Rust framework and cross-platform terminal renderer used to build rich terminal user interfaces. It functions as a toolkit for creating interactive command-line displays, dashboards, and data visualizations. The library employs an immediate mode rendering approach, where the interface is redrawn every frame based on the current application state. It uses a widget-based layout system to compose complex text-based interfaces. The framework includes a rectangle-based layout engine and a backend-agnostic drawing system to decouple UI logic from specific terminal emulators. It furthe
This project is a terminal user interface library for Node.js, designed to facilitate the construction of interactive command-line applications. It provides a comprehensive toolkit of high-level widgets that abstract complex terminal escape codes and rendering logic, allowing developers to build functional interfaces using reusable components. The framework distinguishes itself by implementing a box-model-based layout engine and a virtual DOM-style reconciliation system. These mechanisms enable responsive design patterns—such as percentage-based sizing and relative positioning—to function wit
This project is a framework for composing terminal interfaces through declarative styling and a grid-based layout engine. It provides a comprehensive toolkit for building responsive command-line applications by managing ANSI escape sequences, color profiles, and text rendering to ensure consistent visual output across different terminal environments. The library distinguishes itself through its ability to automatically detect terminal capabilities and background themes, allowing it to adjust color schemes and downsample profiles for optimal readability. It utilizes a layered composition model
tui-rs is a Rust framework for building rich terminal user interfaces and dashboards. It provides a terminal layout engine for dividing the screen into flexible rectangular regions and a widget library for rendering data in a terminal. The project includes a cross-platform terminal backend abstraction layer to ensure consistent rendering and compatibility across different operating system terminal drivers. The framework covers a wide range of UI components, including data visualization tools such as charts, progress gauges, and sparklines, as well as structural elements like data tables, ite
tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab
gui.cs is a .NET terminal user interface toolkit and framework used to build interactive, cross-platform text-based applications. It provides a structured system for composing terminal views using a view hierarchy and a dedicated layout engine. The library distinguishes itself through a component-based widget system and a constraint-based layout engine that allows interfaces to remain responsive across different terminal window dimensions. It employs a virtual-screen buffer to minimize flickering during redraws and uses state-driven theme configurations to maintain persistent visual styles.
mps-youtube is a YouTube terminal client and command-line media player. It allows users to search for, stream, and play YouTube videos and audio directly within a terminal emulator without requiring an API key. The project functions as a media downloader and search tool, providing capabilities to save video and audio content to the local file system in various formats and resolutions. It includes specialized discovery tools for finding music albums and matching individual tracks based on metadata. The software covers a broad range of media management capabilities, including headless media co
Enquirer is a Node.js library for creating interactive command-line interfaces to gather structured user input. It provides a set of terminal prompts, including menus, forms, and text fields, to collect data via autocomplete, multiselect, and boolean confirmations. The project serves as a customizable framework that allows for the creation of custom prompt types through a base class and the extension of functionality via a plugin architecture. The library covers a wide range of interaction patterns, such as capturing numerical and sensitive data, validating user input against custom rules, a
Opentui is a terminal user interface framework for building interactive command line applications. It provides a component-based system featuring a flexbox layout engine, a virtual node component tree, and a low-level 2D cell array renderer. The project is distinguished by a sophisticated keyboard binding engine that maps complex multi-stroke sequences and chords to named commands using prioritized, reactive layers. It also implements a plugin architecture that allows external modules to inject custom UI components into designated layout slots and extend input logic at runtime. Its capabilit
Cursive is a cross-platform terminal user interface toolkit and framework for building interactive applications in Rust. It provides a modular system for creating text-based graphical interfaces, utilizing a dedicated engine to manage the main display loop and view hierarchies. The toolkit features a backend-agnostic abstraction layer to ensure consistent rendering and input handling across different operating systems. It distinguishes itself through a palette-based theme engine that supports runtime theme loading and true color rendering, as well as the ability to generate user interface hie