giturlparse


Namegiturlparse JSON
Version 0.12.0 PyPI version JSON
download
home_pagehttps://github.com/nephila/giturlparse
SummaryA Git URL parsing module (supports parsing and rewriting)
upload_time2023-09-24 07:22:36
maintainerIacopo Spalletti
docs_urlNone
authorAaron O Mullan
requires_python>=3.8
licenseApache v2
keywords giturlparse
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            ===========
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.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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nephila/giturlparse",
    "name": "giturlparse",
    "maintainer": "Iacopo Spalletti",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "i.spalletti@nephila.it",
    "keywords": "giturlparse",
    "author": "Aaron O Mullan",
    "author_email": "aaron@friendco.de",
    "download_url": "https://files.pythonhosted.org/packages/37/5f/543dc54c82842376139748226e5aa61eb95093992f63dd495af9c6b4f076/giturlparse-0.12.0.tar.gz",
    "platform": null,
    "description": "===========\ngiturlparse\n===========\n\nParse & rewrite git urls (supports GitHub, Bitbucket, FriendCode, Assembla, Gitlab ...)\n\nThis is a fork of giturlparse.py with updated parsers.\n\nOriginal project can be found at https://github.com/FriendCode/giturlparse.py\n\n************\nInstalling\n************\n\n::\n\n    pip install giturlparse\n\n******************\nExamples\n******************\n\nExposed attributes\n==================\n\n* ``platform``: platform codename\n* ``host``: server hostname\n* ``resource``: same as ``host``\n* ``port``: URL port (only if explicitly defined in URL)\n* ``protocol``: URL protocol (git, ssh, http/https)\n* ``protocols``: list of protocols explicitly defined in URL\n* ``user``: repository user\n* ``owner``: repository owner (user or organization)\n* ``repo``: repository name\n* ``name``: same as ``repo``\n* ``groups``: list of groups - gitlab only\n* ``path``: path to file or directory (includes the branch name) - gitlab / github only\n* ``path_raw``: raw path starting from the repo name (might include platform keyword) - gitlab / github only\n* ``branch``: branch name (when parseable) - gitlab / github only\n* ``username``: username from ``<username>:<access_token>@<url>`` gitlab / github urls\n* ``access_token``: access token from ``<username>:<access_token>@<url>`` gitlab / github urls\n\nParse\n==================\n\n::\n\n    from giturlparse import parse\n\n    p = parse('git@bitbucket.org:AaronO/some-repo.git')\n\n    p.host, p.owner, p.repo\n\n    # => ('bitbucket.org', 'AaronO', 'some-repo')\n\n\nRewrite\n==================\n\n::\n\n    from giturlparse import parse\n\n    url = 'git@github.com:Org/Private-repo.git'\n\n    p = parse(url)\n\n    p.url2ssh, p.url2https, p.url2git, p.url2http\n    # => ('git@github.com:Org/Private-repo.git', 'https://github.com/Org/Private-repo.git', 'git://github.com/Org/Private-repo.git', None)\n\nURLS\n==================\n\nAlternative URLs for same repo::\n\n    from giturlparse import parse\n\n    url = 'git@github.com:Org/Private-repo.git'\n\n    parse(url).urls\n    # => {\n    #     'ssh': 'git@github.com:Org/Private-repo.git',\n    #     'https': 'https://github.com/Org/Private-repo.git',\n    #     'git': 'git://github.com/Org/Private-repo.git'\n    # }\n\nValidate\n==================\n\n::\n\n    from giturlparse import parse, validate\n\n    url = 'git@github.com:Org/Private-repo.git'\n\n    parse(url).valid\n    # => True\n\n    # Or\n\n    validate(url)\n    # => True\n\nTests\n==================\n\n::\n\n    python -munittest\n\nLicense\n==================\n\nApache v2 (Check out LICENSE file)\n\n.. :changelog:\n\n*******\nHistory\n*******\n\n.. towncrier release notes start\n\n0.12.0 (2023-09-24)\n===================\n\nFeatures\n--------\n\n- Add github/gitlab username:access_token parse support (#21)\n- Migrate to bump-my-version (#79)\n\n\nBugfixes\n--------\n\n- Fix Gitlab URLs with branch (#42)\n- Align tox.ini with github actions (#71)\n\n\n0.11.1 (2023-08-04)\n===================\n\nBugfixes\n--------\n\n- Remove debug print statements (#66)\n\n\n0.11.0 (2023-08-03)\n===================\n\nFeatures\n--------\n\n- Add parsing variable for user to gitlab parser (#47)\n- Add support for Python 3.8+ (#48)\n\n\nBugfixes\n--------\n\n- Update tests invocation method to avoid future breakages (#29)\n- Update linting tools and fix code style (#34)\n- Add more github use cases (#43)\n- Fix parsing generic git url (#46)\n\n\n0.10.0 (2020-12-05)\n===================\n\nFeatures\n--------\n\n- General matching improvements (#18)\n- Update tooling, drop python2 (#10213)\n\n0.9.2 (2018-10-27)\n==================\n\n* Removed \"s\" from the base platform regex\n* Fix license classifier in setup.py\n* Update meta files\n\n0.9.1 (2018-01-20)\n==================\n\n* First fork release\n",
    "bugtrack_url": null,
    "license": "Apache v2",
    "summary": "A Git URL parsing module (supports parsing and rewriting)",
    "version": "0.12.0",
    "project_urls": {
        "Homepage": "https://github.com/nephila/giturlparse"
    },
    "split_keywords": [
        "giturlparse"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "dd94c6ff3388b8e3225a014e55aed957188639aa0966443e0408d38f0c9614a7",
                "md5": "89222d2c1220eb17387941da034bf4dc",
                "sha256": "412b74f2855f1da2fefa89fd8dde62df48476077a72fc19b62039554d27360eb"
            },
            "downloads": -1,
            "filename": "giturlparse-0.12.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "89222d2c1220eb17387941da034bf4dc",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 15752,
            "upload_time": "2023-09-24T07:22:35",
            "upload_time_iso_8601": "2023-09-24T07:22:35.465332Z",
            "url": "https://files.pythonhosted.org/packages/dd/94/c6ff3388b8e3225a014e55aed957188639aa0966443e0408d38f0c9614a7/giturlparse-0.12.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "375f543dc54c82842376139748226e5aa61eb95093992f63dd495af9c6b4f076",
                "md5": "1e19953533eab452548a304c3dac96b1",
                "sha256": "c0fff7c21acc435491b1779566e038757a205c1ffdcb47e4f81ea52ad8c3859a"
            },
            "downloads": -1,
            "filename": "giturlparse-0.12.0.tar.gz",
            "has_sig": false,
            "md5_digest": "1e19953533eab452548a304c3dac96b1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 14907,
            "upload_time": "2023-09-24T07:22:36",
            "upload_time_iso_8601": "2023-09-24T07:22:36.795624Z",
            "url": "https://files.pythonhosted.org/packages/37/5f/543dc54c82842376139748226e5aa61eb95093992f63dd495af9c6b4f076/giturlparse-0.12.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-09-24 07:22:36",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nephila",
    "github_project": "giturlparse",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "giturlparse"
}
        
Elapsed time: 0.11939s