Terminal UI for Snark Express — browse cryptography papers from the command line
Project description
Snark Express TUI
Terminal UI for Snark Express — browse cryptography papers from the command line.
Black & orange themed, vim-style navigation, post-quantum authentication.
Install
pip install snarkexpress-tui
Node.js 18+ is required for post-quantum crypto (login/register). Install the runtime dependency:
npm install -g @noble/post-quantum
Then launch:
snarkexpress
From Source
git clone https://github.com/kurtpan666/SnarkExpress-TUI.git
cd SnarkExpress-TUI
./start.sh
start.sh checks the environment, installs all dependencies, and launches the TUI.
Configuration
The TUI connects to https://snarkexpress.up.railway.app/api by default. Override with:
SNARKEXPRESS_API_URL=https://your-api.example.com/api snarkexpress
Keyboard Shortcuts
Global
| Key | Action |
|---|---|
q |
Quit |
h / l |
Prev / Next tab |
← / → |
Prev / Next tab |
Escape / Backspace |
Go back |
Paper List (Home)
| Key | Action |
|---|---|
j / k |
Move down / up |
g / G |
Jump to top / bottom |
Enter |
Open paper detail |
o |
Open paper URL in browser |
u / d |
Upvote / Downvote |
r |
Refresh |
Search
| Key | Action |
|---|---|
n / p |
Next / Prev page |
Enter |
Submit search |
Paper Detail
| Key | Action |
|---|---|
u |
Upvote |
o |
Open URL in browser |
r |
Refresh |
Features
- Browse papers with Hot / New / Top sorting and infinite scroll
- Search with quick and advanced filters (title, author, tag, sort by relevance/date/votes)
- Paper details with abstract, BibTeX, voting, comments, related papers
- Submit papers with URL auto-extraction (ePrint, arXiv, CiC, DOI)
- Comments — nested threads with reply/delete
- Vote on papers (upvote / downvote with toggle)
- User profiles with submissions, comments, votes, and badges
- Tags — clickable tag cloud sorted by popularity, wrapping to fill terminal width
- PQ Auth — ML-DSA + ML-KEM challenge-response login
- Key management — import/export encrypted key bundles with PIN encryption
Architecture
Standalone API client for the Snark Express backend. All communication happens via REST API. Post-quantum cryptography (ML-DSA-65 + ML-KEM-768) is handled by a bundled Node.js helper (crypto_helper.mjs) using @noble/post-quantum.
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 snarkexpress_tui-0.1.1.tar.gz.
File metadata
- Download URL: snarkexpress_tui-0.1.1.tar.gz
- Upload date:
- Size: 26.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7e702097d5b46c94e51f5aa1143a7cdb8da060149694e1b96703da9b12821ce3
|
|
| MD5 |
8c622506358c6c1703325e29d3428098
|
|
| BLAKE2b-256 |
7c9615082e4f7cad5226ad93480616a1b3a5e354d41ab8c7d774208266378a97
|
File details
Details for the file snarkexpress_tui-0.1.1-py3-none-any.whl.
File metadata
- Download URL: snarkexpress_tui-0.1.1-py3-none-any.whl
- Upload date:
- Size: 38.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.9.30 {"installer":{"name":"uv","version":"0.9.30","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ff369d35e2540d1d128da2eb81cc95c6eb0f7d1252efeb7d81cf42fb0eef092a
|
|
| MD5 |
142f265c4f387dbff414a27807e6912b
|
|
| BLAKE2b-256 |
86a25f72ac247ff79f07ac310e21aada435702bbe55d516053f70120727a846f
|