Socket
Socket
Sign inDemoInstall

giturlparse2

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

giturlparse2

A Git URL parsing module (supports parsing and rewriting)


Maintainers
1

=========== giturlparse

Parse & rewrite git urls (supports GitHub, Bitbucket, FriendCode, Assembla, Gitlab ...)

This is again a fork, now fork of https://github.com/nephila/giturlparse. 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 -munittest

License

Apache v2 (Check out LICENSE file)

.. :changelog:


History


.. towncrier release notes start

1.0.0 (2023-07-22)

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

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc