Handle gracefully openning links that are inside text files. Simple as that.
Project description
Linksopen
linksopen is a lightweight command-line tool installed locally
into your user environment. It is designed to be simple, portable,
and shell-friendly, without relying on system-wide package managers.
The project ships with an installer and uninstaller that manage
everything inside ~/.local/bin.
Features
- Local user installation (no root required)
- Automatic PATH configuration
- Supports Bash, Zsh, and Fish
- Clean uninstall process
- Zero external Python dependencies
Requirements
- Unix-like system (Linux, macOS, WSL)
- Python 3.14+
- A POSIX-compatible shell (
bash,zsh, orfish)
Install
Via pipx
pipx install linksopen
Option 2: Manual
Clone the repository and from the project root, run:
./install.sh
Usage
Once installed, you can run linksopen directly from your terminal. Example usage:
# Open text file links with default browser.
linksopen textfile_with_link.txt
# It can handle multiple urls.
linksopen my_links.md
Uninstall
./uninstall.sh
This deletes the executable from ~/.local/bin and leaves shell configuration files untouched.
Restart your shell after uninstalling.
Project Structure
├── linksopen.py # Main Python executable
├── install.sh # Installer script
├── uninstall.sh # Uninstaller script
├── pyproject.toml # Project metadata
├── README.md # Documentation
└── LICENSE # MIT License
Python Metadata
[project]
name = "linksopen"
version = "0.1.0"
description = "Handle gracefully openning links that are inside text files. Simple as that."
readme = "README.md"
requires-python = ">=3.14"
dependencies = []
The project currently has no external dependencies.
Notes on Implementation
- PATH entries are added only if missing for bash, zsh and fish. Others posix compliant shells must add ~/.local/bin/ to path manually.
License
MIT License
Copyright (c) 2026 Rodolfo Souza
Permission is granted to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software.
The Software is provided “as is”, without warranty of any kind.
Project details
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 linksopen-0.1.4.tar.gz.
File metadata
- Download URL: linksopen-0.1.4.tar.gz
- Upload date:
- Size: 5.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0cdaca0456e5aa65a0c0dfa63ba2bf38d61d19b61722f70c0b149ed478922d54
|
|
| MD5 |
a56821e6e79fb47b69971d2979376e48
|
|
| BLAKE2b-256 |
8a0a5a03e2301c38c54295a2c1cf62f9f88c5dde33a3b786776e12231ae9f665
|
File details
Details for the file linksopen-0.1.4-py3-none-any.whl.
File metadata
- Download URL: linksopen-0.1.4-py3-none-any.whl
- Upload date:
- Size: 5.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ae8746063c94d6a55e830ce0bb2481aaf7ff4a6d6343a31ff67dd3d933b61811
|
|
| MD5 |
23aa1f321a9555219d87ca5170f8dfec
|
|
| BLAKE2b-256 |
30f4c14ec4db70085d1a73a92f367fcdee52b5bf768d9243931890e0c09fd860
|