dnfseek
A TUI package browser for Fedora, built with Textual.
A Python port of my bash + fzf dnfseek script,
which is a fork of this project of the same name.
Prerequisites
- Fedora (or another dnf-based distro)
uv—curl -LsSf https://astral.sh/uv/install.sh | sh(recommended)
Test it out
You can test out dnfseek without having to install it, using uvx:
uvx dnfseek
Installation
From git
uv tool install git+https://github.com/Sam-Horry/dnfseek-tui
From PyPI (recommended)
uv tool install dnfseek
Either way you get a dnfseek command on your PATH. On first run the app
asks for your sudo password (via sudo -v) before the interface starts.
Usage
dnfseek
| Key | Action |
|---|---|
tab |
Switch between search and package list |
u |
Upgrade all packages |
r |
Refresh package cache |
i / x / e / g |
Install / remove / reinstall / update selected package |
d |
Show dependencies |
space |
Show package info |
Package lists are cached in ~/.cache/dnfseek and refreshed if older than
24 hours.
Using the built-in command palette (ctrl+p), you can change dnfseek's behaviour by searching all available packages, or only search packages currently installed on your system. All the above actions can be performed from the command palette, as well as:
| Command | Action |
|---|---|
| Search all | Search all available packages |
| Search installed | Search installed packages |
| Theme | Change the app theme |
| Keys | Shows a help widget with a summary of available keys |
Updating
uv tool upgrade dnfseek
Notes
- This tool is basically a wrapper for dnf, with only a few commands at the moment.
- This tool is provided as-is, use at your own risk. I am not liable if something goes
wrong - though in practice, dnf makes it pretty hard to brick your system.
Most mistakes are recoverable with a rollback or
dnf history undo - Installed as a tool, the binary lives in
~/.local/bin/dnfseek, which takes precedence over adnfseekscript elsewhere on your PATH. - Sudo authentication happens once, before the TUI starts. If your sudo session expires mid-session, restart the app to re-authenticate.
- Requires Python 3.12+;
uvdownloads a compatible interpreter if your system Python is older.
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 dnfseek-0.1.6.tar.gz.
File metadata
- Download URL: dnfseek-0.1.6.tar.gz
- Upload date:
- Size: 28.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3260d149264750f1398833132323b2bc64030ca1f67060e3ad8b8bd45bb6caf
|
|
| MD5 |
fd7abfc466da5d47e217a8d97acd496b
|
|
| BLAKE2b-256 |
01141f4745771a40bfb2681927bbf3dba5d8d47c71d2e11a8243ccc73cb31777
|
File details
Details for the file dnfseek-0.1.6-py3-none-any.whl.
File metadata
- Download URL: dnfseek-0.1.6-py3-none-any.whl
- Upload date:
- Size: 15.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
uv/0.12.8 {"installer":{"name":"uv","version":"0.12.8","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b11f6078d36e4a3dba0c4103da98a02069aefc8b3810679362eb1be88daa5fe4
|
|
| MD5 |
25f8406010745e33732af9d851220d18
|
|
| BLAKE2b-256 |
221bf80b92494d3282575762789d07fff29349250bc1d0bb92f11b8ccc45575b
|