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 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.
Metadata
Release files for gemfileparser2 0.9.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| gemfileparser2-0.9.4.tar.gz | 83.6 kB | Without provenance | Details for gemfileparser2-0.9.4.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| gemfileparser2-0.9.4-py3-none-any.whl | Python 3 | none | any | Details for gemfileparser2-0.9.4-py3-none-any.whl |
Total release size: 103.1 kB
Release files / gemfileparser2-0.9.4.tar.gz
| Download URL | gemfileparser2-0.9.4.tar.gz |
|---|---|
| Size | 83.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7b37e2a01c2564c19bd5c133cf06b569f5d4ad39f1b20a735f408d393c95ce06
|
|
BLAKE2b-256 checksum How to use checksums |
afbda64f1e4320b125a2685fec90c760339ba2da09d8a49d763a2e61ff4a592e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Release files / gemfileparser2-0.9.4-py3-none-any.whl
| Download URL | gemfileparser2-0.9.4-py3-none-any.whl |
|---|---|
| Size | 19.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
372e9dff807854a37cdc58c692e150a6bea31031e7d5ce8a2762dd63437b22c0
|
|
BLAKE2b-256 checksum How to use checksums |
ed69ee5b89373713a7a34222a8c71d5be1643935cdf06017f65aed2fb2f604f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.0 CPython/3.12.5
|
Security for gemfileparser2 0.9.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.