Parse & rewrite git urls (supports GitHub, Bitbucket, FriendCode, Assembla ...)
pip install giturlparse.pyfrom giturlparse import parse
p = parse('git@bitbucket.org:AaronO/some-repo.git')
p.host, p.owner, p.repo
# => ('bitbucket.org', 'AaronO', 'some-repo')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)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'
# }from giturlparse import parse, validate
url = 'git@github.com:Org/Private-repo.git'
parse(url).valid
# => True
# Or
validate(url)
# => Truepython -m giturlparse.testsApache v2 (Check out LICENSE file)