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)
In a virtualenv, use the command:
pip install gemfileparser2
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)
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)
Do this to run tests:
pip install -e . pip install pytest pytest -vvs tests
- Copyright (c) 2020 Gemfileparser authors (listed in AUTHORS file)
- Copyright (c) 2015-2018 Balasankar C <[email protected]>
gemfileparser2 is dual-licensed under your choice of the GNU GPL version 3 (or later) License or the MIT License.
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.