A CLI tool and also a Python library can print the url of a local file in a git repo so you can one-click to open it in web browser.
Project description
Welcome to git_web_url Documentation
git_web_url is a CLI tool and also a Python library that prints the URL of a local file in a git repo so you can one-click to open it in web browser.
Currently it supports:
Git Hosting Services:
GitHub
GitHub Enterprise
GitLab
GitLab Enterprise
BitBucket
BitBucket Enterprise
AWS CodeCommit
Git Clone Protocols:
https
ssh
aws_codecommit (git-remote-codecommit)
Claude Code Skill
A ready-to-use Claude Code skill is bundled at .claude/skills/git-web-url/. Copy it into your own project’s .claude/skills/ directory and Claude will automatically know how to invoke gwu (or via uvx) when you ask it to get the web URL of a file in your repo.
CLI Usage
General Syntax
gwu <subcommand> [options]
Available Subcommands
url: Print the web URL for a file or folder in the git repository.
relpath: Print the relative path from the git repository root.
The url Subcommand
Print the web URL you can one-click to open in a web browser.
Basic Usage
cd into your git repo directory, or any folder inside, then run gwu url (or gitweburl url). It prints the URL for the current branch and current directory:
$ gwu url
https://github.com/your_account/your_repo/tree/your_branch/path/to/current_directory
Specify a File or Folder
Provide the absolute path of the file or folder in your local git repo:
$ gwu url /path/to/your_repo/path/to/your_file.py
https://github.com/your_account/your_repo/blob/your_branch/path/to/your_file.py
Branch Options
Use the --branch (or -b) flag to control which branch appears in the URL:
# Use current branch (default behavior)
$ gwu url
https://github.com/your_account/your_repo/tree/feature-branch/
# Use default branch (main/master) - URL without explicit branch
$ gwu url --branch=default
https://github.com/your_account/your_repo
# Use a specific branch
$ gwu url --branch=main
https://github.com/your_account/your_repo/tree/main/
# Short form
$ gwu url -b develop
https://github.com/your_account/your_repo/tree/develop/
The relpath Subcommand
Print the relative path from the git repository root to the given file or folder.
Basic Usage
# At repository root, prints "."
$ cd /path/to/your_repo
$ gwu relpath
.
# In a subdirectory, prints relative path
$ cd /path/to/your_repo/src/module
$ gwu relpath
src/module
Specify a File or Folder
$ gwu relpath /path/to/your_repo/src/module/file.py
src/module/file.py
Python API Usage
You can also use git_web_url as a Python library:
from pathlib import Path
import git_web_url.api as gwu
# Get URL for a file using current branch
url = gwu.get_web_url(Path("/path/to/your_repo/file.py"))
# Get URL using default branch (main/master)
url = gwu.get_web_url(
Path("/path/to/your_repo/file.py"),
branch=gwu.DEFAULT_BRANCH,
)
# Get URL using a specific branch
url = gwu.get_web_url(
Path("/path/to/your_repo/file.py"),
branch="feature-branch",
)
Install
git_web_url is released on PyPI, so all you need is to:
$ pip install git-web-url
To upgrade to latest version:
$ pip install --upgrade git-web-url
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 git_web_url-1.0.2.tar.gz.
File metadata
- Download URL: git_web_url-1.0.2.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 |
098f20ee6244f4a76d42ae2263548e1055e3c552e74cb02dc8c5919e2c205a50
|
|
| MD5 |
e4d7cf1519b41a5a47f79deee9e440fb
|
|
| BLAKE2b-256 |
9418f03f450a7e8ad95c3e792708dd21bc169abc87e4a8f8dabab3dd8b63de18
|
File details
Details for the file git_web_url-1.0.2-py3-none-any.whl.
File metadata
- Download URL: git_web_url-1.0.2-py3-none-any.whl
- Upload date:
- Size: 16.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.3 {"installer":{"name":"uv","version":"0.11.3","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 |
578767b96ff3114a170e9c4f9c62cf21d06d7da34dd851bfad21a54f13146e12
|
|
| MD5 |
5abc61a58b6ba46c9e3effbb2fd6480f
|
|
| BLAKE2b-256 |
fd67011acdd3fb113bf666c592d59a7c0ed7897d8e68443f771b6f169cae46f6
|