Skip to main content

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

Documentation Status https://github.com/MacHu-GWU/git_web_url-project/actions/workflows/main.yml/badge.svg https://codecov.io/gh/MacHu-GWU/git_web_url-project/branch/main/graph/badge.svg https://img.shields.io/pypi/v/git-web-url.svg https://img.shields.io/pypi/l/git-web-url.svg https://img.shields.io/pypi/pyversions/git-web-url.svg https://img.shields.io/badge/✍️_Release_History!--None.svg?style=social&logo=github https://img.shields.io/badge/⭐_Star_me_on_GitHub!--None.svg?style=social&logo=github
https://img.shields.io/badge/Link-API-blue.svg https://img.shields.io/badge/Link-Install-blue.svg https://img.shields.io/badge/Link-GitHub-blue.svg https://img.shields.io/badge/Link-Submit_Issue-blue.svg https://img.shields.io/badge/Link-Request_Feature-blue.svg https://img.shields.io/badge/Link-Download-blue.svg

Welcome to git_web_url Documentation

https://git-web-url.readthedocs.io/en/latest/_static/git_web_url-logo.png

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:

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

git_web_url-1.0.1.tar.gz (13.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

git_web_url-1.0.1-py3-none-any.whl (15.6 kB view details)

Uploaded Python 3

File details

Details for the file git_web_url-1.0.1.tar.gz.

File metadata

  • Download URL: git_web_url-1.0.1.tar.gz
  • Upload date:
  • Size: 13.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for git_web_url-1.0.1.tar.gz
Algorithm Hash digest
SHA256 7af6363c9469b4e7b9982bf4f1a62f2e790dbfbd925c69e01c32086e58a64665
MD5 b061ced9acfcf9d040aad02e5ef6fdcb
BLAKE2b-256 b926c1033cc6cc1df13a2065b50bbb2773085470c69c1065c28ae04937d7f5e6

See more details on using hashes here.

File details

Details for the file git_web_url-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: git_web_url-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 15.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.8

File hashes

Hashes for git_web_url-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6a5a179d362469bb05f5a3a38bebed5d2ad0cbb92782b5e1ff437cf1f248c109
MD5 ae938699ad88c820eb0086531e1d6339
BLAKE2b-256 c502f1e9f8786d06694c02b8eb53f4937fbec673bbe905272667eb74fe27cb77

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page