===============
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/nexB/gemfileparser2",
"name": "gemfileparser2",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6.*",
"maintainer_email": "",
"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/d3/39/2ad53fa5b9148632825aa28d1c7f9e96a092066779a097347e6941efcfc0/gemfileparser2-0.9.3.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.3",
"split_keywords": [
"ruby",
"rubygem",
"gemfile",
"gemspec",
"cocoapod",
"podspec"
],
"urls": [
{
"comment_text": "",
"digests": {
"md5": "26fb64102843258d3cf0404f7cc4ffa8",
"sha256": "6d19bd99a81dff98dafed4437f5194a383b4b22d6be1de2c92cb134a5a598152"
},
"downloads": -1,
"filename": "gemfileparser2-0.9.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "26fb64102843258d3cf0404f7cc4ffa8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6.*",
"size": 19463,
"upload_time": "2022-11-28T20:38:15",
"upload_time_iso_8601": "2022-11-28T20:38:15.605275Z",
"url": "https://files.pythonhosted.org/packages/c4/77/1478ebca9228029ba6df583704bc0f4bb05b8def0608f683bb09690819f9/gemfileparser2-0.9.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"md5": "0a20b9e8f5ff8181c724af7e8faf3a53",
"sha256": "04528964e7f45b66f460d6ca2309eb9a8286bed3fc03a47d3eb52dee4602fc39"
},
"downloads": -1,
"filename": "gemfileparser2-0.9.3.tar.gz",
"has_sig": false,
"md5_digest": "0a20b9e8f5ff8181c724af7e8faf3a53",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6.*",
"size": 87337,
"upload_time": "2022-11-28T20:38:17",
"upload_time_iso_8601": "2022-11-28T20:38:17.333062Z",
"url": "https://files.pythonhosted.org/packages/d3/39/2ad53fa5b9148632825aa28d1c7f9e96a092066779a097347e6941efcfc0/gemfileparser2-0.9.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2022-11-28 20:38:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"github_user": "nexB",
"github_project": "gemfileparser2",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "gemfileparser2"
}