MCPcopy Index your code
hub / github.com/dmtrKovalenko/blendr

github.com/dmtrKovalenko/blendr @v1.3.3

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.3.3 ↗ · + Follow
112 symbols 254 edges 18 files 2 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

blendr

Mood: Blue Crates.io (version)
Crates.io

Blendr is a terminal UI app for browsing BLE (Bluetooth Low Energy) devices. It allows you to inspect, search, connect, and analyze data coming from BLE devices directly from your terminal.

It was designed for day-to-day use by BLE engineers so the core features are useful search, direct connection to any characteristic and device with one command, and displaying your custom services names in the UI. Learn more

demo

And it's just perfect to hack your neighbor's toothbrush 😉

Installation

Cargo cli

cargo install blendr --locked

For Unix OS you can run the following, it will install the binary for your system and provide man reference.

curl --proto '=https' --tlsv1.2 -sLSf "https://github.com/dmtrKovalenko/blendr/blob/main/install.sh?raw=true" | sh

For windows, it is required to download and run binary executable directly. Open latest release page and download binary executable for your OS

MacOS Permissions

To use Bluetooth on MacOS Big Sur (11) or later, you need to enable the Bluetooth permission for your terminal. You can do the latter by going to System Preferences → Security & Privacy → Privacy → Bluetooth, clicking the '+' button, and selecting 'Terminal' (or iTerm or whichever terminal emulator app you use).

Bluetooth settings screenshot

Usage

Get the help information with either man blendr or blendr --help it will print all the available options and characteristics. To get started and learn about the biggest features watch this 2 minutes demo:

 <img alt="video preview" src="https://github.com/dmtrKovalenko/blendr/raw/v1.3.3/youtube_preview.png" />

License

This project is licensed under the terms of BSD-3-Clause license

Extension points exported contracts — how you extend this code

AppRoute (Interface)
(no doc) [5 implementers]
src/tui/mod.rs
GeneralSortable (Interface)
(no doc) [2 implementers]
src/cli_args.rs
StableListItem (Interface)
(no doc) [2 implementers]
src/tui/ui/list.rs

Core symbols most depended-on inside this repo

push
called by 33
src/tui/ui/list.rs
len
called by 17
src/tui/ui/list.rs
read
called by 13
src/route.rs
get
called by 10
src/tui/ui/list.rs
iter
called by 10
src/tui/ui/list.rs
is_empty
called by 9
src/tui/ui/list.rs
into_iter
called by 9
src/tui/ui/list.rs
select
called by 8
src/tui/ui/list.rs

Shape

Method 61
Class 19
Function 19
Enum 10
Interface 3

Languages

Rust100%

Modules by API surface

src/tui/ui/list.rs22 symbols
src/bluetooth.rs15 symbols
src/tui/mod.rs10 symbols
src/route.rs9 symbols
src/cli_args.rs7 symbols
src/tui/ui/block.rs6 symbols
src/tui/peripheral_view.rs6 symbols
src/tui/peripheral_list.rs6 symbols
src/tui/connection_view.rs6 symbols
src/tui/error_popup.rs5 symbols
src/tui/welcome.rs4 symbols
src/error.rs4 symbols

For agents

$ claude mcp add blendr \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact