giturlparse
A Git URL parsing module (supports parsing and rewriting)
Install
giturlparse on PyPI
pip
pip install giturlparseuv
uv add giturlparsepoetry
poetry add giturlparsePackage facts
| License | Apache v2 (permissive) |
| Python support | supports the current Python release (>=3.8) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | none |
| Maintenance | actively maintained — 58 days since the last release |
| Last repo commit | |
| First released | |
| Popularity | one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-13) |
Evidence: giturlparse-0.15.0-py2.py3-none-any.whl
Keywords: giturlparse
About giturlparse
from the package's own PyPI description — quoted content, verbatim
=========== giturlparse ===========
Parse & rewrite git urls (supports GitHub, Bitbucket, FriendCode, Assembla, Gitlab ...)
This is a fork of giturlparse.py with updated parsers.
Original project can be found at https://github.com/FriendCode/giturlparse.py
Installing
::
pip install giturlparse
Examples
Exposed attributes
platform: platform codenamehost: server hostnameresource: same ashostport: URL port (only if explicitly defined in URL)protocol: URL protocol (git, ssh, http/https)protocols: list of protocols explicitly defined in URLuser: repository userowner: repository owner (user or organization)repo: repository namename: same asrepogroups: list of groups - gitlab onlypath: path to file or directory (includes the branch name) - gitlab / github onlypath_raw: raw path starting from the repo name (might include platform keyword) - gitlab / github onlybranch: branch name (when parseable) - gitlab / github onlyusername: username from<username>:<access_token>@<url>...
Read as markdown · JSON record · Source repository · Homepage
AI interpretation — verify before relying
AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page
Parses and rewrites Git repository URLs across multiple platforms (GitHub, GitLab, Bitbucket, and others), extracting components like owner, repo name, branch, and protocol while supporting format conversion between SSH, HTTPS, and git protocols.
Installs cleanly with zero runtime dependencies and a pure-Python wheel distribution. Actively maintained with a recent release (58 days old) and steady commit activity.
Licensed under Apache v2 (permissive), allowing commercial and private use with minimal restrictions—suitable for most integration scenarios.
Usage
from giturlparse import parse
url = 'git@github.com:owner/repo.git'
p = parse(url)
print(p.host, p.owner, p.repo) # github.com, owner, repo
print(p.url2https) # https://github.com/owner/repo.git
Requires Python 3.8 or later.
Verdict: A lightweight, actively maintained URL parser with no external dependencies, strong platform coverage, and a permissive license. Suitable for CI/CD pipelines, repository management tools, and any system needing to normalize or extract metadata from Git URLs.
Needs verification
- Whether the package handles edge cases like non-standard ports or custom Git hosting platforms beyond those explicitly listed.
- Performance characteristics when parsing large batches of URLs or malformed input.
Similar packages
permissive · top 1,000 on PyPI
idnapermissive · top 100 on PyPI
databricks-labs-blueprintunclear · top 1,000 on PyPI
msalpermissive · top 1,000 on PyPI
sshtunnelpermissive · top 1,000 on PyPI
pytest-metadatacopyleft · top 1,000 on PyPI
pre-commitpermissive · top 1,000 on PyPI
idpermissive · top 1,000 on PyPI
google-pastapermissive · top 1,000 on PyPI
trove-classifierspermissive · top 100 on PyPI