Skip to main content

CLIChatty

A curses-based terminal interface to the chatty messaging app's database. Messages are sent using mmcli, and MMS messages are sent through the mmsd-tng daemon over D-Bus. It is designed to be used via SSH, this way you can message from your computer.

SSH into your phone, then run clic or clichatty to start the program. For help with keybindings, press H. For help with flags, run clic -h.


Choosing a database

By default clic uses the chatty database at ~/.purple/chatty/db/chatty-history.db. Pass -d/--database PATH to work with a different one, e.g. to browse a copy of your history or the database of a second chatty profile:

clic -d /tmp/chatty-history.db
clic -d other.db -a peer -t 20

The database is used for both reading and writing, so messages sent are recorded in the one you selected. On its own (clic -d other.db) the flag still starts the curses interface.


MMS

Multimedia messages (pictures, files, group chats) require mmsd-tng to be running on the phone (Chatty launches it automatically), and gdbus (part of glib2-utils) on PATH.

  • In the compose window, <c-x> attaches a file and the message is sent as an MMS. Group threads and messages sent with -s/--subject are also sent as MMS.
  • From the command line: clic -a 'alias' -m 'text' -f /path/to/image.jpg -f /path/to/file.txt

Sent and received MMS are recorded and their attachments cached by the Chatty app itself: mmsd-tng's MessageAdded signal tells Chatty about every MMS (it saves payloads under $XDG_DATA_HOME/chatty/mms/<tag>/ and writes the messages/mm_messages/files rows). Clichatty just triggers the send via mmsd-tng and displays what Chatty stored, so nothing is recorded twice.


Reply-time statistics

Pressing i over a thread shows its message count, member list, and, per member, two reply-time distributions:

  • you → member: how long you normally take to reply to them.
  • member → you: how long they normally take to reply to you.

Consecutive messages from the same side are treated as a single "turn", and a reply time is measured from the last message of one turn to the first message of the next turn from the other side. For each direction you get the average and median response time (plus the number of replies it is based on); a second, capped figure recomputes the same stats using only gaps of 24h or less, so multi-day gaps between conversations don't skew the numbers. Gaps with invalid or missing data (clock skew, carrier messages with no sender) are ignored entirely.


Installing

The recommended installation method is with uv:

uv tool install clichatty

Release files for clichatty 0.6.25

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for clichatty 0.6.25
File Size Uploaded
clichatty-0.6.25.tar.gz 79.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for clichatty 0.6.25
File Interpreter ABI Platform
clichatty-0.6.25-py3-none-any.whl Python 3 none any Details

Total release size: 132.4 kB

Release files / clichatty-0.6.25.tar.gz

Download URL clichatty-0.6.25.tar.gz
Size 79.2 kB
Tags Source
SHA-256 checksum
How to use checksums
c0dbad17f856b32ccb58ed8cc90ca6000a147def7a7582961b336724177fe7f2
BLAKE2b-256 checksum
How to use checksums
f202861101fe255bc6fef17dc323683c6d664756273a9b5ce41512909f1d95ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / clichatty-0.6.25-py3-none-any.whl

Download URL clichatty-0.6.25-py3-none-any.whl
Size 53.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
81ec83a1aff0cdb6a28dd1cb15b34f1714d9869e38ef48365d2beada936b10bc
BLAKE2b-256 checksum
How to use checksums
2b6b6819c51bca70bdc237498c14eb8e8f2ef5c8aa03c3e601e794522f99ccaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

0.7.0

2 release files

This release

0.6.25 This release

2 release files

0.6.24

2 release files

0.6.23

2 release files

0.6.22

2 release files

0.6.21

2 release files

0.6.20

2 release files

0.6.19

2 release files

0.6.18

2 release files

0.6.17

2 release files

0.6.16

2 release files

0.6.14

2 release files

0.6.13

2 release files

0.6.12

2 release files

0.6.11

2 release files

0.6.10

2 release files

0.6.9

2 release files

0.6.7

2 release files

0.6.6

2 release files

0.6.5

2 release files

0.6.4

2 release files

0.6.3

2 release files

0.6.2

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.3

2 release files

0.5.2

2 release files

0.5.1

2 release files

0.5.0

2 release files

0.4.24

2 release files

0.4.23

2 release files

0.4.22

2 release files

0.4.21

2 release files

0.4.20

2 release files

0.4.18

2 release files

0.4.17

2 release files

0.4.16

2 release files

0.4.15

2 release files

0.4.13

2 release files

0.4.12

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.16

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page