UniRun
Run Anything. Anywhere.
UniRun is a universal application runtime orchestration layer for Linux. It automatically detects what kind of file you're trying to run and routes it to the correct runtime — no more remembering wine, waydroid, xdg-open, or chmod +x.
unirun setup.exe # Automatically runs via Wine
unirun game.apk # Installs via Waydroid
unirun app.AppImage # Makes executable and launches
unirun document.pdf # Opens with system default
unirun firefox # Finds and launches system binary
unirun https://example.com # Opens in browser
Install
PyPI (recommended)
pip install unirun
Arch Linux (AUR)
yay -S unirun-git
From Source
git clone https://github.com/KasishStar/UniRun.git
cd UniRun
pip install -e .
Usage
unirun <command> [arguments]
unirun <file_path_or_command_name>
Commands
| Command | Description |
|---|---|
run <file> |
Explicitly run a file with auto-detected runtime |
search <query> |
Search filesystem for matching files |
install <package> |
Install a runtime or package |
doctor |
Check installed runtimes status |
history |
Show recently launched files |
config |
Show current configuration |
version |
Show version |
help |
Show help |
Options
| Flag | Description |
|---|---|
--verbose, -v |
Enable detailed logging |
Direct Launch
You can skip the run command entirely:
unirun setup.exe
unirun game.apk
unirun firefox
Configuration
Config file: ~/.config/unirun/config.json
{
"search_dirs": ["~/Downloads", "~/Documents"],
"history_file": "~/.local/share/unirun/history.log"
}
Set UNIRUN_CONFIG environment variable for a custom config path.
How It Works
- Detect — UniRun checks the file extension and type
- Route — It hands off to the correct runtime:
.exe,.msi→ Wine.apk→ Waydroid.AppImage→ Native execution.pdf,.png,.mp4,.mp3, etc. → XDG default apphttp://,https://→ Web browser- Everything else → Native execution
- Fallback — If the file isn't found, UniRun searches common directories
Supported Runtimes
- Wine — Windows executables
- Waydroid — Android applications
- AppImage — Portable Linux packages
- XDG — Documents, images, videos, audio
- Native — System binaries and scripts
- Web — URLs opened in browser
Development
git clone https://github.com/KasishStar/UniRun.git
cd UniRun
pip install -e .
python tests/test_all.py
License
MIT — Created by Kasish
Metadata
Release files for unirun-cli 0.4.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| unirun_cli-0.4.2.tar.gz | 15.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| unirun_cli-0.4.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 32.2 kB
Release files / unirun_cli-0.4.2.tar.gz
| Download URL | unirun_cli-0.4.2.tar.gz |
|---|---|
| Size | 15.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
fcba2dc605e72989a84112c6073cc5f197f5f47b6639ead48e58f845f36e7206
|
|
BLAKE2b-256 checksum How to use checksums |
78e4242e70c679614998f9bf478b89ca81c98acba726f1925d63d671a4a0ed7e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|
Release files / unirun_cli-0.4.2-py3-none-any.whl
| Download URL | unirun_cli-0.4.2-py3-none-any.whl |
|---|---|
| Size | 17.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6b957911c3d2f61565a03ec0c1a8fda1183da5ffb6f54d9b3b4f5e6f8b7c66b9
|
|
BLAKE2b-256 checksum How to use checksums |
4dc8291e6ab864d119068c812a7ce87e6abf7f6f1b5db15736e6cd3de2fde59e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.6
|