Parse Ruby Gemfile, .gemspec and Cocoapod .podspec files using Python.
Project description
gemfileparser parses Ruby Gemfile using Python with supports Ruby Gemfiles and .gemspec files as well as Cocoapod .podspec files.
Installation
In a virtualenv, use the command:
pip install gemfileparser
Otherwise from a git clone, use the following commands in a virtualenv:
git clone https://github.com/gemfileparser/gemfileparser.git cd gemfileparser python setup.py install
Usage
from gemfileparser 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 gemfileparser 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
gemfileparser 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 gemfileparser you agree to license these contributions under the same choice of licenses.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gemfileparser-0.8.0.tar.gz
.
File metadata
- Download URL: gemfileparser-0.8.0.tar.gz
- Upload date:
- Size: 25.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 839592e49ea3fd985cec003ef58f8e77009a69ed7644a0c0acc94cf6dd9b8d6e |
|
MD5 | 670b8e9dbbfa7a27f06b5de5a84b855b |
|
BLAKE2b-256 | 085f7277029065a98d7eef536e138a49edb4f551038e4d0ebc312bcf06ea086d |
File details
Details for the file gemfileparser-0.8.0-py2.py3-none-any.whl
.
File metadata
- Download URL: gemfileparser-0.8.0-py2.py3-none-any.whl
- Upload date:
- Size: 19.2 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | aed669b729c1f850308d1c373fe425d0c1ce768fa5bdac593e05715c64e2bffc |
|
MD5 | 454742bbde04b8b2ccef9da84fbb43d1 |
|
BLAKE2b-256 | edb5c3f4d21e121a65172f43b08b2699e469e3853455b5def48097f40164bb44 |