unseenet-tui
The Unseenet terminal client. Groups and threads read one post at a time, chats, private posts, feeds and sites, your people and your nodes - in a terminal, over Tor. Built on the unseenet core library like every other client; this repository is only the user interface (Textual).
Status: pre-alpha, like the rest of Unseenet. Not security reviewed.
Use it
- Portable or bootable, with Tor inside: the Portable · Terminal and Bootable · Terminal builds.
- With Python (3.11+, and
torinstalled):pipx install unseenet-tui, thenunseenet-tui.
How to use it: Using the terminal client
(from docs/client.md).
Develop
pip install -e ".[dev]" # the core comes from PyPI; for its main:
pip install "unseenet @ git+https://github.com/unseenet/unseenet@main"
pytest -q # headless, against a local node, no Tor
mkdocs serve # the docs page, alone
src/unseenet_tui/app.py |
the client: the app, its screens and dialogs |
tests/ |
headless tests against a node on localhost (tuihelp.py: helpers) |
docs/ |
the manual, gathered into unseenet.org by unseenet-docs |
tools/docs_screenshots.py, tools/docs_recording.py |
the screenshots and the recording in the docs |
Everything that is not the user interface belongs in the core: when the client needs something the core lacks, it gets an issue in unseenet, and changes in the core that the client must follow get an issue here.
Versions and releases
This client numbers its own releases, on the
Unseenet conventions;
each release names the minor version of the core it needs
(unseenet>=0.5,<0.6). Tags vX.Y.Z on main; release.yml checks the
tag against __version__ and CHANGELOG.md, publishes to PyPI and makes
the GitHub release.
Part of Unseenet
Unseenet is made in several repositories, each released on its own:
| Repository | What it is |
|---|---|
| unseenet | The protocol (UN-RFCs), the core library, the node and the command-line client |
| unseenet-tui | The terminal client (moving here from unseenet, unseenet#548) |
| unseenet-gui | The graphical client - in a window, booted, or in a browser |
| unseenet-portable | Builds the portable clients, Terminal and Graphical, with Tor inside (unseenet#549) |
| unseenet-bootable | Builds the bootable images, Terminal and Graphical, and later a node image (unseenet#550) |
| unseenet-docs | The site unseenet.org, gathering the docs of every repository (unseenet#547) |
| unseenet-entrance | Web entrances: the graphical client in an ordinary browser |
| unseenet-gateway | Gateways to other networks: Usenet, Nostr, Matrix |
| unseenet-bots | Bots that keep channels filled with current content |
| unseenet-helpbot | The bot that answers questions in unseenet.help |
| unseenet-stats | Statistics for the network |
| unseenet-mcp | An MCP server, so a language model can read and post as you (planning) |
| unseenet-demo | Demo people, feeds and sites, made with the command-line client |
License
Metadata
Release files for unseenet-tui 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| unseenet_tui-0.1.0.tar.gz | 104.9 kB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unseenet_tui-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 182.9 kB
Release files / unseenet_tui-0.1.0.tar.gz
| Download URL | unseenet_tui-0.1.0.tar.gz |
|---|---|
| Size | 104.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
283cd0430e99c1880e994f11de85a7b766d171da5e2b558c05efce0f8d3c8817
|
|
BLAKE2b-256 checksum How to use checksums |
d1e6567c72fbfa24400c47d58e7b60b160c7a428b4a2ad21eb725c5cc560c3f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 25, 2026.
Transparency logRelease files / unseenet_tui-0.1.0-py3-none-any.whl
| Download URL | unseenet_tui-0.1.0-py3-none-any.whl |
|---|---|
| Size | 78.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
b03ac526107bb0e384beb0a9da8dfc7ca3825aa9f7d094622948ddca7091e619
|
|
BLAKE2b-256 checksum How to use checksums |
56bc961605d7c08cf9a673eb2e013388c0060b5fbd6dbf86b7dfb77f79615281
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Oct 25, 2026.
Transparency logSecurity for unseenet-tui 0.1.0
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.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for unseenet_tui-0.1.0.tar.gz
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 Oct 25, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.