Metadata-Version: 2.1 Name: giturlparse Version: 0.10.0 Summary: A Git URL parsing module (supports parsing and rewriting) Home-page: https://github.com/nephila/giturlparse Author: Aaron O Mullan Author-email: aaron@friendco.de Maintainer: Iacopo Spalletti Maintainer-email: i.spalletti@nephila.it License: Apache v2 Keywords: giturlparse Platform: UNKNOWN Classifier: Development Status :: 5 - Production/Stable Classifier: Framework :: Django Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Apache Software License Classifier: Natural Language :: English Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 Requires-Python: >=3.6 Description-Content-Type: text/x-rst =========== 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 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 setup.py test License ================== Apache v2 (Check out LICENSE file) .. :changelog: ******* History ******* .. towncrier release notes start 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