giturlparse2


Namegiturlparse2 JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/godfryd/giturlparse2
SummaryA Git URL parsing module (supports parsing and rewriting)
upload_time2023-07-22 05:28:03
maintainerMichal Nowikowski
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 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

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/godfryd/giturlparse2",
    "name": "giturlparse2",
    "maintainer": "Michal Nowikowski",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "godfryd@gmail.com",
    "keywords": "giturlparse",
    "author": "Aaron O Mullan",
    "author_email": "aaron@friendco.de",
    "download_url": "https://files.pythonhosted.org/packages/78/37/3ad2adc1af952b86bed78dc3d4c4c42c0053ea2cbda861a33d0a063e62c4/giturlparse2-1.0.0.tar.gz",
    "platform": null,
    "description": "===========\ngiturlparse\n===========\n\nParse & rewrite git urls (supports GitHub, Bitbucket, FriendCode, Assembla, Gitlab ...)\n\nThis is again a fork, now fork of https://github.com/nephila/giturlparse.\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\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\n1.0.0 (2023-07-22)\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": "1.0.0",
    "project_urls": {
        "Homepage": "https://github.com/godfryd/giturlparse2"
    },
    "split_keywords": [
        "giturlparse"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "705c2e07ab859031372b9944c20601034be37ced6863f48495a80d3e7ec2352b",
                "md5": "8ac557baa8019829ecac0c7eb1bdad53",
                "sha256": "1e0fa714b30931546835b13a885f07fed84c5b8c5b985e25ab019c92d0ed6ecc"
            },
            "downloads": -1,
            "filename": "giturlparse2-1.0.0-py2.py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "8ac557baa8019829ecac0c7eb1bdad53",
            "packagetype": "bdist_wheel",
            "python_version": "py2.py3",
            "requires_python": ">=3.8",
            "size": 15433,
            "upload_time": "2023-07-22T05:28:02",
            "upload_time_iso_8601": "2023-07-22T05:28:02.611131Z",
            "url": "https://files.pythonhosted.org/packages/70/5c/2e07ab859031372b9944c20601034be37ced6863f48495a80d3e7ec2352b/giturlparse2-1.0.0-py2.py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "78373ad2adc1af952b86bed78dc3d4c4c42c0053ea2cbda861a33d0a063e62c4",
                "md5": "c0098f9cf9cf5a55e7dfe2da2fb53b46",
                "sha256": "773fc9ad2b031f7e4da21d14d8660a52c615aba081de162a48c65756c569d3f7"
            },
            "downloads": -1,
            "filename": "giturlparse2-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "c0098f9cf9cf5a55e7dfe2da2fb53b46",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 16095,
            "upload_time": "2023-07-22T05:28:03",
            "upload_time_iso_8601": "2023-07-22T05:28:03.679229Z",
            "url": "https://files.pythonhosted.org/packages/78/37/3ad2adc1af952b86bed78dc3d4c4c42c0053ea2cbda861a33d0a063e62c4/giturlparse2-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-07-22 05:28:03",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "godfryd",
    "github_project": "giturlparse2",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "requirements": [],
    "tox": true,
    "lcname": "giturlparse2"
}
        
Elapsed time: 1.05370s