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.
Release files for gemfileparser 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| gemfileparser-0.8.0.tar.gz | 25.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gemfileparser-0.8.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 44.7 kB
Release files / gemfileparser-0.8.0.tar.gz
| Download URL | gemfileparser-0.8.0.tar.gz |
|---|---|
| Size | 25.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
839592e49ea3fd985cec003ef58f8e77009a69ed7644a0c0acc94cf6dd9b8d6e
|
|
BLAKE2b-256 checksum How to use checksums |
085f7277029065a98d7eef536e138a49edb4f551038e4d0ebc312bcf06ea086d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / gemfileparser-0.8.0-py2.py3-none-any.whl
| Download URL | gemfileparser-0.8.0-py2.py3-none-any.whl |
|---|---|
| Size | 19.2 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
aed669b729c1f850308d1c373fe425d0c1ce768fa5bdac593e05715c64e2bffc
|
|
BLAKE2b-256 checksum How to use checksums |
edb5c3f4d21e121a65172f43b08b2699e469e3853455b5def48097f40164bb44
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|