quasseltui
Terminal client for Quassel IRC cores. Connects
to your existing quasselcore and gives you a Textual-based TUI as an
alternative to quasselclient (the Qt GUI) or Quasseldroid.
Quick start
Run via UVX without downloading/installing:
uvx --from git+https://github.com/linsomniac/quasseltui@main quasseltui
Run via UV:
# clone this repo, then:
uv sync
uv run python -m quasseltui --help
Config file
Instead of using command-line arguments (quasseltui --help for more information), you can use a config file.
Connection settings can be loaded from ~/.config/quasseltui/config.ini
(or $XDG_CONFIG_HOME/quasseltui/config.ini) so that --host, --port,
--user, etc. don't have to be repeated on every invocation.
Example:
[quasseltui]
default_server = home
[server:home]
host = irc.example.com
port = 4242
user = linsomniac
password = hunter2
# tls = true (default; set to false for plain TCP)
# insecure = false (skip cert verification; self-signed cores)
# cafile = /path/to/ca.pem
# connect_timeout = 10
[server:work]
host = irc.work.example
port = 4242
user = linsomniac
Because the file stores the password, make sure it's readable only by you:
chmod 600 ~/.config/quasseltui/config.ini
With a config in place, three shortcuts become available:
quasseltui— connects todefault_server.quasseltui <NAME>— connects to[server:<NAME>].quasseltui ui --server <NAME>— same as above, explicit form, and also works withlogin-only/stream-only/dump-state/probe-only.
Any command-line flag still overrides the corresponding config value.
Development
uv run pytest # unit tests
uv run ruff check # lint
uv run ruff format # format
uv run mypy src # type-check
uv run lint-imports # enforce layer boundaries
Metadata
Release files for quasseltui 0.9.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| quasseltui-0.9.1.tar.gz | 294.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| quasseltui-0.9.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 432.6 kB
Release files / quasseltui-0.9.1.tar.gz
| Download URL | quasseltui-0.9.1.tar.gz |
|---|---|
| Size | 294.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6e1ff141d9a963957c6675377bf0e0d44d3ae15a16aab0250288389c9571b23a
|
|
BLAKE2b-256 checksum How to use checksums |
e4bcd3d4a3bf5fbd2cdff8b0e15de3130784552f1572c8fea74bb45d5356f171
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.
Transparency logRelease files / quasseltui-0.9.1-py3-none-any.whl
| Download URL | quasseltui-0.9.1-py3-none-any.whl |
|---|---|
| Size | 137.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b6300bf6a13066b14935d1c93f0b4430a413d5773884de5b3cf287730cd17f0
|
|
BLAKE2b-256 checksum How to use checksums |
bbcbe7bc0d95387ee2461264956003c13e43bef5c726bb3e3bc05e49e438ab8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 2, 2026.
Transparency log