Linman - Manage your Linux applications across all formats.
Project description
linman
linman is a terminal-based application manager for Linux. It provides a unified CLI to work with multiple package formats from one place.
Features
- Multi-backend support — manage apps across:
apt(Debian packages)snapflatpak(Flathub)appimage
- System app detection — identify and categorize system utilities and libraries
- Application manifests — consistent view of versions, publishers, sizes, and categories
- Categorization — group software into
system,cli, anddesktop
Installation
Requires Python 3.11+.
pipx (recommended)
pipx install linman
uv
uv tool install linman
After install, the CLI is available as:
linman --help
linman --version
Upgrade
pipx upgrade linman
# or
uv tool upgrade linman
Usage
Common options
| Flag | Short | Description | Commands |
|---|---|---|---|
--json |
Output results as JSON | list, search, inspect, info, storage, history |
|
--format |
-f |
Filter by package format (snap, apt, flatpak, appimage) |
list, search, install, storage, history |
--sort |
-s |
Sort by field (e.g. name, version, format, timestamp) | list, history |
--count |
-n |
Print only the number of matching items | list, search |
Commands
linman list
List installed applications (name, format, version, publisher).
linman list # List all applications
linman list <query> # Filter installed apps by name
linman list -e # Exclude system/default packages
linman list -f snap # Filter by format (repeatable)
linman list -s version # Sort by field (name, version, format)
linman search
Search available applications across supported registries.
linman search <query>
linman search <query> -f flatpak
linman search <query> -n
linman inspect
Inspect a local package file (e.g. .AppImage, .deb) and print its manifest.
linman inspect <path_to_file>
linman inspect <path_to_file> --json
linman install
Install from a registry name or a local file. Format is auto-detected for local files.
linman install <name_or_path>
linman install <name_or_path> -y # Auto-confirm
linman install <name_or_path> -l # Launch after install
linman install <name> -f snap # Restrict search to a format
linman uninstall
Remove an installed application.
linman uninstall <application_name>
linman uninstall <application_name> -y # Auto-confirm
linman uninstall <application_name> -c # Clean uninstall (associated data)
linman info
Show detailed metadata for an application.
linman info <application_name>
linman info <application_name> --json
linman storage
Disk usage by installed applications.
linman storage
linman storage -f snap
linman storage -t 10
linman storage --json
linman history
Installation / upgrade / uninstall history.
linman history
linman history -f flatpak
linman history -a installed # installed | upgraded | uninstalled
linman history -s timestamp -d
linman history -t 10
Contributing
Contributions are welcome. Open an issue for larger changes, or submit a pull request.
License
MIT
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 linman-0.0.1.tar.gz.
File metadata
- Download URL: linman-0.0.1.tar.gz
- Upload date:
- Size: 29.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26d371670b52523594b1a45ace57c95be8d59b27c8c4a9c3bf7502c9ee0e8a4e
|
|
| MD5 |
aea7089440c72542fb56be6060b1e7ab
|
|
| BLAKE2b-256 |
02adc4278c36c8acff933626a714dbe48efe56939282e8704fa19bdba1b81039
|
Provenance
The following attestation bundles were made for linman-0.0.1.tar.gz:
Publisher:
ci.yml on omseervi098/linux-app-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
linman-0.0.1.tar.gz -
Subject digest:
26d371670b52523594b1a45ace57c95be8d59b27c8c4a9c3bf7502c9ee0e8a4e - Sigstore transparency entry: 2169646085
- Sigstore integration time:
-
Permalink:
omseervi098/linux-app-manager@ad4fc1123adefbb1dfd237fdd20edf5eff71748d -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/omseervi098
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@ad4fc1123adefbb1dfd237fdd20edf5eff71748d -
Trigger Event:
push
-
Statement type:
File details
Details for the file linman-0.0.1-py3-none-any.whl.
File metadata
- Download URL: linman-0.0.1-py3-none-any.whl
- Upload date:
- Size: 29.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8364c5d55c60bb358cf64eef105df954e79f289a35a886941ed10081b207afd3
|
|
| MD5 |
4a9eaa2bc5f7630277f1ab60d9c0aa38
|
|
| BLAKE2b-256 |
158a449b298bfe8a35fe10fc9df2758b79a08f280eee6b91dc8398722f78b0f5
|
Provenance
The following attestation bundles were made for linman-0.0.1-py3-none-any.whl:
Publisher:
ci.yml on omseervi098/linux-app-manager
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
linman-0.0.1-py3-none-any.whl -
Subject digest:
8364c5d55c60bb358cf64eef105df954e79f289a35a886941ed10081b207afd3 - Sigstore transparency entry: 2169646098
- Sigstore integration time:
-
Permalink:
omseervi098/linux-app-manager@ad4fc1123adefbb1dfd237fdd20edf5eff71748d -
Branch / Tag:
refs/tags/v0.0.1 - Owner: https://github.com/omseervi098
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci.yml@ad4fc1123adefbb1dfd237fdd20edf5eff71748d -
Trigger Event:
push
-
Statement type: