Metadata-Version: 2.1 Name: giturlparse Version: 0.12.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 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.8 Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: 3.10 Classifier: Programming Language :: Python :: 3.11 Requires-Python: >=3.8 Description-Content-Type: text/x-rst License-File: LICENSE =========== 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 ``:@`` gitlab / github urls * ``access_token``: access token from ``:@`` 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.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