Skip to main content

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

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)

Source distribution for gemfileparser2 0.9.4
File Size Uploaded
gemfileparser2-0.9.4.tar.gz 83.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gemfileparser2 0.9.4
File Interpreter ABI Platform
gemfileparser2-0.9.4-py3-none-any.whl Python 3 none any Details

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

Release history Release notifications | RSS feed

This release

0.9.4 This release

2 release files

0.9.3

2 release files

0.9.2

2 release files

0.9.1

2 release files

0.9.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page