This Python curses client for Meshtastic is a terminal-based client designed to manage device settings, enable mesh chat communication, and handle configuration backups and restores.
Project description
Contact - A Console UI for Meshtastic
Powered by Meshtastic.org
Install with:
pip install contact
[!NOTE] Windows users must also install:
pip install windows-cursesbecause the built-in curses module is not available on Windows.
This Python curses client for Meshtastic is a terminal-based client designed to manage device settings, enable mesh chat communication, and handle configuration backups and restores.
The settings dialogue can be accessed within the client or may be run standalone to configure your node by launching contact --settings or contact -c
Message Persistence
All messages will saved in a SQLite DB and restored upon relaunch of the app. You may delete client.db if you wish to erase all stored messages and node data. If multiple nodes are used, each will independently store data in the database, but the data will not be shared or viewable between nodes.
Client Configuration
By navigating to Settings -> App Settings, you may customize your UI's icons, colors, and more!
For smaller displays you may wish to enable single_pane_mode:
Commands
CTRL+k= display a list of commands.↑→↓←= Navigate around the UI.F1/F2/F3= Jump to Channel/Messages/NodesENTER= Send a message typed in the Input Window, or with the Node List highlighted, select a node to DM`orF12= Open the Settings dialogueCTRL+p= Hide/show a log of raw received packets.CTRL+torF4= With the Node List highlighted, send a traceroute to the selected nodeF5= Display a node's infoCTRL+f= With the Node List highlighted, favorite the selected nodeCTRL+g= With the Node List highlighted, ignore the selected nodeCTRL+d= With the Channel List hightlighted, archive a chat to reduce UI clutter. Messages will be saved in the db and repopulate if you send or receive a DM from this user.CTRL+d= With the Note List highlghted, remove a node from your nodedb.ESC= Exit out of the Settings Dialogue, or Quit the application if settings are not displayed.
Search
- Press
CTRL+/while the nodes or channels window is highlighted to start search - Type text to search as you type, first matching item will be selected, starting at current selected index
- Press Tab to find next match starting from the current index - search wraps around if necessary
- Press Esc or Enter to exit search mode
Arguments
You can pass the following arguments to the client:
Connection Arguments
Optional arguments to specify a device to connect to and how.
--port,--serial,-s: The port to connect to via serial, e.g./dev/ttyUSB0.--host,--tcp,-t: The hostname or IP address to connect to using TCP, will default to localhost if no host is passed.--ble,-b: The BLE device MAC address or name to connect to.--settings,--set,--control,-c: Launch directly into the settings.
If no connection arguments are specified, the client will attempt a serial connection and then a TCP connection to localhost.
Example Usage
contact --port /dev/ttyUSB0
contact --host 192.168.1.1
contact --ble BlAddressOfDevice
contact --port COM3
To quickly connect to localhost, use:
contact -t
Install in development (editable) mode:
git clone https://github.com/pdxlocations/contact.git
cd contact
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file contact-1.4.7.tar.gz.
File metadata
- Download URL: contact-1.4.7.tar.gz
- Upload date:
- Size: 76.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8b1ce72ead7cca551537824a2262ca1ea8984bdb65944b94814f6faf6c80e1bb
|
|
| MD5 |
87716fe34846b8f9b8cb7a5ac3ba2920
|
|
| BLAKE2b-256 |
55216fe5eb7fdf6761e394d4e356e5b72ef83611dbcff989fdf8f08dafd75568
|
Provenance
The following attestation bundles were made for contact-1.4.7.tar.gz:
Publisher:
release.yaml on pdxlocations/contact
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
contact-1.4.7.tar.gz -
Subject digest:
8b1ce72ead7cca551537824a2262ca1ea8984bdb65944b94814f6faf6c80e1bb - Sigstore transparency entry: 780253812
- Sigstore integration time:
-
Permalink:
pdxlocations/contact@56637f806bea25476088be132d5bb3f2a8e6a274 -
Branch / Tag:
refs/tags/1.4.7 - Owner: https://github.com/pdxlocations
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@56637f806bea25476088be132d5bb3f2a8e6a274 -
Trigger Event:
push
-
Statement type:
File details
Details for the file contact-1.4.7-py3-none-any.whl.
File metadata
- Download URL: contact-1.4.7-py3-none-any.whl
- Upload date:
- Size: 86.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1640ce2f08b846790d48c379a49e4dace670d857eb73c4795adebef0a71f1f2c
|
|
| MD5 |
76f9fd5a3a548f0992acfb0d3ff4e8eb
|
|
| BLAKE2b-256 |
6de5961fae1d472cd0b1c35acfaa240c014e03032ee21e2fd78af1922be9b11a
|
Provenance
The following attestation bundles were made for contact-1.4.7-py3-none-any.whl:
Publisher:
release.yaml on pdxlocations/contact
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
contact-1.4.7-py3-none-any.whl -
Subject digest:
1640ce2f08b846790d48c379a49e4dace670d857eb73c4795adebef0a71f1f2c - Sigstore transparency entry: 780253815
- Sigstore integration time:
-
Permalink:
pdxlocations/contact@56637f806bea25476088be132d5bb3f2a8e6a274 -
Branch / Tag:
refs/tags/1.4.7 - Owner: https://github.com/pdxlocations
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@56637f806bea25476088be132d5bb3f2a8e6a274 -
Trigger Event:
push
-
Statement type: