gemfileparser2


Namegemfileparser2 JSON
Version 0.9.4 PyPI version JSON
download
home_pagehttps://github.com/aboutcode-org/gemfileparser2
SummaryParse Ruby Gemfile, .gemspec and Cocoapod .podspec files using Python.
upload_time2024-08-21 04:58:12
maintainerNone
docs_urlNone
authorBalasankar C, Rohit Potter, nexB. Inc. and others
requires_python>=3.7
licenseGPL-3.0-or-later OR MIT
keywords ruby rubygem gemfile gemspec cocoapod podspec
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ===============
gemfileparser2
===============

gemfileparser2 parses Ruby Gemfile using Python with supports Ruby Gemfiles
and .gemspec files as well as Cocoapod .podspec files.

This is a maintained fork of https://github.com/gemfileparser/gemfileparser
that is no longer active (even though it was maintained by the same folks)


Installation
~~~~~~~~~~~~

In a virtualenv, use the command::

    pip install gemfileparser2


Usage
~~~~~

::

    from gemfileparser2 import GemfileParser
    parser = GemfileParser(<path to Gemfile>, <name of the application (optional)>)
    dependency_dictionary = parser.parse()

The parse() method returns a dict object of the following format::

    {
        'development': [list of dependency objects inside group 'development'],
        'runtime': [list of runtime dependency objects],
        .
        .
    }

Each dependency object contains the following attributes:

- name - Name of the gem
- requirement - Version requirement
- autorequire - Autorequire value
- source - Source URL of the gem
- parent - Dependency of which gem
- group - Group that a gem is a member of (default : runtime)


Example
~~~~~~~

::

    from gemfileparser2 import GemfileParser
    n = GemfileParser('Gemfile', 'diaspora')
    deps = n.parse()
    for key in deps:
       if deps[key]:
           print key
           for dependency in deps[key]:
               print("\t", dependency)


Tests
~~~~~

Do this to run tests::

    pip install -e .
    pip install pytest
    pytest -vvs tests


Copyright
~~~~~~~~~
* Copyright (c) 2020 Gemfileparser authors (listed in AUTHORS file)
* Copyright (c) 2015-2018 Balasankar C <balasankarc@autistici.org>


License
~~~~~~~

gemfileparser2 is dual-licensed under your choice of the
`GNU GPL version 3 (or later) License <http://www.gnu.org/licenses/gpl>`_
or the `MIT License <https://opensource.org/licenses/MIT>`_.

It is preferred anyone using this project to respect the GPL-3+ license and use
that itself for derivative works - thus making them also Free Software. But,
your call.

When making contributions to gemfileparser2 you agree to license these contributions
under the same choice of licenses.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/aboutcode-org/gemfileparser2",
    "name": "gemfileparser2",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "Ruby Rubygem Gemfile gemspec Cocoapod podspec",
    "author": "Balasankar C, Rohit Potter, nexB. Inc. and others",
    "author_email": "info@aboutcode.org",
    "download_url": "https://files.pythonhosted.org/packages/af/bd/a64f1e4320b125a2685fec90c760339ba2da09d8a49d763a2e61ff4a592e/gemfileparser2-0.9.4.tar.gz",
    "platform": null,
    "description": "===============\ngemfileparser2\n===============\n\ngemfileparser2 parses Ruby Gemfile using Python with supports Ruby Gemfiles\nand .gemspec files as well as Cocoapod .podspec files.\n\nThis is a maintained fork of https://github.com/gemfileparser/gemfileparser\nthat is no longer active (even though it was maintained by the same folks)\n\n\nInstallation\n~~~~~~~~~~~~\n\nIn a virtualenv, use the command::\n\n    pip install gemfileparser2\n\n\nUsage\n~~~~~\n\n::\n\n    from gemfileparser2 import GemfileParser\n    parser = GemfileParser(<path to Gemfile>, <name of the application (optional)>)\n    dependency_dictionary = parser.parse()\n\nThe parse() method returns a dict object of the following format::\n\n    {\n        'development': [list of dependency objects inside group 'development'],\n        'runtime': [list of runtime dependency objects],\n        .\n        .\n    }\n\nEach dependency object contains the following attributes:\n\n- name - Name of the gem\n- requirement - Version requirement\n- autorequire - Autorequire value\n- source - Source URL of the gem\n- parent - Dependency of which gem\n- group - Group that a gem is a member of (default : runtime)\n\n\nExample\n~~~~~~~\n\n::\n\n    from gemfileparser2 import GemfileParser\n    n = GemfileParser('Gemfile', 'diaspora')\n    deps = n.parse()\n    for key in deps:\n       if deps[key]:\n           print key\n           for dependency in deps[key]:\n               print(\"\\t\", dependency)\n\n\nTests\n~~~~~\n\nDo this to run tests::\n\n    pip install -e .\n    pip install pytest\n    pytest -vvs tests\n\n\nCopyright\n~~~~~~~~~\n* Copyright (c) 2020 Gemfileparser authors (listed in AUTHORS file)\n* Copyright (c) 2015-2018 Balasankar C <balasankarc@autistici.org>\n\n\nLicense\n~~~~~~~\n\ngemfileparser2 is dual-licensed under your choice of the\n`GNU GPL version 3 (or later) License <http://www.gnu.org/licenses/gpl>`_\nor the `MIT License <https://opensource.org/licenses/MIT>`_.\n\nIt is preferred anyone using this project to respect the GPL-3+ license and use\nthat itself for derivative works - thus making them also Free Software. But,\nyour call.\n\nWhen making contributions to gemfileparser2 you agree to license these contributions\nunder the same choice of licenses.\n",
    "bugtrack_url": null,
    "license": "GPL-3.0-or-later OR MIT",
    "summary": "Parse Ruby Gemfile, .gemspec and Cocoapod .podspec files using Python.",
    "version": "0.9.4",
    "project_urls": {
        "Homepage": "https://github.com/aboutcode-org/gemfileparser2"
    },
    "split_keywords": [
        "ruby",
        "rubygem",
        "gemfile",
        "gemspec",
        "cocoapod",
        "podspec"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ed69ee5b89373713a7a34222a8c71d5be1643935cdf06017f65aed2fb2f604f9",
                "md5": "b1b09ac9ed0538f31d77ef61ae0118ed",
                "sha256": "372e9dff807854a37cdc58c692e150a6bea31031e7d5ce8a2762dd63437b22c0"
            },
            "downloads": -1,
            "filename": "gemfileparser2-0.9.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "b1b09ac9ed0538f31d77ef61ae0118ed",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 19504,
            "upload_time": "2024-08-21T04:58:10",
            "upload_time_iso_8601": "2024-08-21T04:58:10.741212Z",
            "url": "https://files.pythonhosted.org/packages/ed/69/ee5b89373713a7a34222a8c71d5be1643935cdf06017f65aed2fb2f604f9/gemfileparser2-0.9.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "afbda64f1e4320b125a2685fec90c760339ba2da09d8a49d763a2e61ff4a592e",
                "md5": "84d54c934867bd9018425c6876c9b371",
                "sha256": "7b37e2a01c2564c19bd5c133cf06b569f5d4ad39f1b20a735f408d393c95ce06"
            },
            "downloads": -1,
            "filename": "gemfileparser2-0.9.4.tar.gz",
            "has_sig": false,
            "md5_digest": "84d54c934867bd9018425c6876c9b371",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 83607,
            "upload_time": "2024-08-21T04:58:12",
            "upload_time_iso_8601": "2024-08-21T04:58:12.190367Z",
            "url": "https://files.pythonhosted.org/packages/af/bd/a64f1e4320b125a2685fec90c760339ba2da09d8a49d763a2e61ff4a592e/gemfileparser2-0.9.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-08-21 04:58:12",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "aboutcode-org",
    "github_project": "gemfileparser2",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "requirements": [],
    "lcname": "gemfileparser2"
}
        
Elapsed time: 0.29492s