freshcrate
Skin:/
Home > Frameworks > giturlparse

giturlparse

A Git URL parsing module (supports parsing and rewriting)

Why this rank:Strong adoptionRelease freshnessHealthy release cadence

Description

=========== 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 codename * ``host``: server hostname * ``resource``: same as ``host`` * ``port``: URL port (only if explicitly defined in URL) * ``protocol``: URL protocol (git, ssh, http/https) * ``protocols``: list of protocols explicitly defined in URL * ``user``: repository user * ``owner``: repository owner (user or organization) * ``repo``: repository name * ``name``: same as ``repo`` * ``groups``: list of groups - gitlab only * ``path``: path to file or directory (includes the branch name) - gitlab / github only * ``path_raw``: raw path starting from the repo name (might include platform keyword) - gitlab / github only * ``branch``: branch name (when parseable) - gitlab / github only * ``username``: username from ``<username>:<access_token>@<url>`` gitlab / github urls * ``access_token``: access token from ``<username>:<access_token>@<url>`` gitlab / github urls Parse ================== :: from giturlparse import parse p = parse('git@bitbucket.org:AaronO/some-repo.git') p.host, p.owner, p.repo # => ('bitbucket.org', 'AaronO', 'some-repo') Rewrite ================== :: from giturlparse import parse url = 'git@github.com:Org/Private-repo.git' p = parse(url) p.url2ssh, p.url2https, p.url2git, p.url2http # => ('git@github.com:Org/Private-repo.git', 'https://github.com/Org/Private-repo.git', 'git://github.com/Org/Private-repo.git', None) URLS ================== Alternative URLs for same repo:: from giturlparse import parse url = 'git@github.com:Org/Private-repo.git' parse(url).urls # => { # 'ssh': 'git@github.com:Org/Private-repo.git', # 'https': 'https://github.com/Org/Private-repo.git', # 'git': 'git://github.com/Org/Private-repo.git' # } Validate ================== :: from giturlparse import parse, validate url = 'git@github.com:Org/Private-repo.git' parse(url).valid # => True # Or validate(url) # => True Tests ================== :: python -munittest License ================== Apache v2 (Check out LICENSE file) .. :changelog: ******* History ******* .. towncrier release notes start 0.14.0 (2025-10-22) =================== Features -------- - Allow rewriting repo and owner (#0) 0.13.0 (2025-10-22) =================== Features -------- - Switch to Coveralls Github action (#88) Bugfixes -------- - Fix Bitbucket url parse and add bitbucket.com to recognized domains (#107) - Remove fix-encoding-pragma from pre-commit hooks as it is deprecated (#119) 0.12.0 (2023-09-24) =================== Features -------- - Add github/gitlab username:access_token parse support (#21) - Migrate to bump-my-version (#79) Bugfixes -------- - Fix Gitlab URLs with branch (#42) - Align tox.ini with github actions (#71) 0.11.1 (2023-08-04) =================== Bugfixes -------- - Remove debug print statements (#66) 0.11.0 (2023-08-03) =================== Features -------- - Add parsing variable for user to gitlab parser (#47) - Add support for Python 3.8+ (#48) Bugfixes -------- - Update tests invocation method to avoid future breakages (#29) - Update linting tools and fix code style (#34) - Add more github use cases (#43) - Fix parsing generic git url (#46) 0.10.0 (2020-12-05) =================== Features -------- - General matching improvements (#18) - Update tooling, drop python2 (#10213) 0.9.2 (2018-10-27) ================== * Removed "s" from the base platform regex * Fix license classifier in setup.py * Update meta files 0.9.1 (2018-01-20) ================== * First fork release

Release History

VersionChangesUrgencyDate
0.14.0Imported from PyPI (0.14.0)Low4/21/2026
0.13.0Features -------- - Switch to Coveralls Github action (#88) Bugfixes -------- - Fix Bitbucket url parse and add bitbucket.com to recognized domains (#107) - Remove fix-encoding-pragma from pre-commit hooks as it is deprecated (#119)Low10/22/2025
0.12.0Features -------- - Add github/gitlab username:access_token parse support (#21) - Migrate to bump-my-version (#79) Bugfixes -------- - Fix Gitlab URLs with branch (#42) - Align tox.ini with github actions (#71)Low9/24/2023
0.11.1Bugfixes -------- - Remove debug print statements (#66)Low8/4/2023
0.11.0Features -------- - Add parsing variable for user to gitlab parser (#47) - Add support for Python 3.8+ (#48) Bugfixes -------- - Update tests invocation method to avoid future breakages (#29) - Update linting tools and fix code style (#34) - Add more github use cases (#43) - Fix parsing generic git url (#46)Low8/3/2023
0.10.0Features -------- - General matching improvements (#18) - Update tooling, drop python2 (#10213)Low12/5/2020
0.9.1* First fork release Low10/27/2018
0.9.2* Removed "s" from the base platform regex * Fix license classifier in setup.py * Update meta files Low10/27/2018

Dependencies & License Audit

Loading dependencies...

Similar Packages

tqdmFast, Extensible Progress Meterv4.68.1
inspect-aiFramework for large language model evaluationsmain@2026-06-05
hypothesisThe property-based testing library for Pythonv6.155.2
bleachAn easy safelist-based HTML-sanitizing tool.main@2026-06-05
jupyter-clientJupyter protocol implementation and client librariesv8.9.0

More in Frameworks

langchainThe agent engineering platform
deer-flowAn open-source long-horizon SuperAgent harness that researches, codes, and creates. With the help of sandboxes, memories, tools, skill, subagents and message gateway, it handles different levels of ta
tqdmFast, Extensible Progress Meter
simBuild, deploy, and orchestrate AI agents. Sim is the central intelligence layer for your AI workforce.