A tool for converting between pip-style and pipfile requirements.
Project description
RequirementsLib: Requirement Management Library for Pip and Pipenv
===================================================================
.. image:: https://img.shields.io/pypi/v/requirementslib.svg
:target: https://pypi.python.org/pypi/requirementslib
.. image:: https://img.shields.io/pypi/l/pipenv.svg
:target: https://pypi.python.org/pypi/pipenv
.. image:: https://travis-ci.org/techalchemy/requirementslib.svg?branch=master
:target: https://travis-ci.org/techalchemy/requirementslib
.. image:: https://ci.appveyor.com/api/projects/status/n16s8fhn71o0v0tl/branch/master?svg=true
:target: https://ci.appveyor.com/project/techalchemy/requirementslib/branch/master
.. image:: https://img.shields.io/pypi/pyversions/requirementslib.svg
:target: https://pypi.python.org/pypi/requirementslib
.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg
:target: https://saythanks.io/to/techalchemy
Installation
*************
Install from `PyPI`_:
::
$ pipenv install --pre requirementslib
Install from `Github`_:
::
$ pipenv install -e git+https://github.com/techalchemy/requirementslib.git#egg=requirementslib
.. _PyPI: https://www.pypi.org/projects/requirementslib
.. _Github: https://github.com/techalchemy/requirementslib
.. _`Summary`:
Summary
********
RequirementsLib provides a simple layer for building and interacting with
requirements in both the `Pipfile <https://github.com/pypa/pipfile/>`_ format
and the `requirements.txt <https://github.com/pypa/pip/>`_ format. This library
was originally built for converting between these formats in `Pipenv <https://github.com/pypa/pipenv>`_.
.. _`Usage`:
Usage
******
Import the library and create a requirement object from *requirements.txt* format:
::
>>> from requirementslib import Requirement
>>> r = Requirement.from_line('-e git+https://github.com/pypa/pipenv.git@master#egg=pipenv')
>>> print(r)
Requirement(name='pipenv', vcs='git', req=VCSRequirement(editable=True, uri='git+https://github.com/pypa/pipenv.git', path=None, vcs='git', ref='master', subdirectory=None, name='pipenv', link=<Link git+https://github.com/pypa/pipenv.git@master#egg=pipenv>, req=<Requirement: "-e git+https://github.com/pypa/pipenv.git@master#egg=pipenv">), markers=None, specifiers=None, index=None, editable=True, hashes=[], extras=[])
>>> r.as_pipfile()
{'pipenv': {'editable': True, 'ref': 'master', 'git': 'https://github.com/pypa/pipenv.git'}}
Or move from *Pipfile* format to *requirements.txt*:
::
>>> r = Requirement.from_pipfile(name='pythonfinder', indexes=[], pipfile={'path': '../pythonfinder', 'editable': True})
>>> r.as_line()
'-e ../pythonfinder'
Integrations
*************
* `Pip <https://github.com/pypa/pip>`_
* `Pipenv <https://github.com/pypa/pipenv>`_
* `Pipfile <https://github.com/pypa/pipfile>`_
===================================================================
.. image:: https://img.shields.io/pypi/v/requirementslib.svg
:target: https://pypi.python.org/pypi/requirementslib
.. image:: https://img.shields.io/pypi/l/pipenv.svg
:target: https://pypi.python.org/pypi/pipenv
.. image:: https://travis-ci.org/techalchemy/requirementslib.svg?branch=master
:target: https://travis-ci.org/techalchemy/requirementslib
.. image:: https://ci.appveyor.com/api/projects/status/n16s8fhn71o0v0tl/branch/master?svg=true
:target: https://ci.appveyor.com/project/techalchemy/requirementslib/branch/master
.. image:: https://img.shields.io/pypi/pyversions/requirementslib.svg
:target: https://pypi.python.org/pypi/requirementslib
.. image:: https://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svg
:target: https://saythanks.io/to/techalchemy
Installation
*************
Install from `PyPI`_:
::
$ pipenv install --pre requirementslib
Install from `Github`_:
::
$ pipenv install -e git+https://github.com/techalchemy/requirementslib.git#egg=requirementslib
.. _PyPI: https://www.pypi.org/projects/requirementslib
.. _Github: https://github.com/techalchemy/requirementslib
.. _`Summary`:
Summary
********
RequirementsLib provides a simple layer for building and interacting with
requirements in both the `Pipfile <https://github.com/pypa/pipfile/>`_ format
and the `requirements.txt <https://github.com/pypa/pip/>`_ format. This library
was originally built for converting between these formats in `Pipenv <https://github.com/pypa/pipenv>`_.
.. _`Usage`:
Usage
******
Import the library and create a requirement object from *requirements.txt* format:
::
>>> from requirementslib import Requirement
>>> r = Requirement.from_line('-e git+https://github.com/pypa/pipenv.git@master#egg=pipenv')
>>> print(r)
Requirement(name='pipenv', vcs='git', req=VCSRequirement(editable=True, uri='git+https://github.com/pypa/pipenv.git', path=None, vcs='git', ref='master', subdirectory=None, name='pipenv', link=<Link git+https://github.com/pypa/pipenv.git@master#egg=pipenv>, req=<Requirement: "-e git+https://github.com/pypa/pipenv.git@master#egg=pipenv">), markers=None, specifiers=None, index=None, editable=True, hashes=[], extras=[])
>>> r.as_pipfile()
{'pipenv': {'editable': True, 'ref': 'master', 'git': 'https://github.com/pypa/pipenv.git'}}
Or move from *Pipfile* format to *requirements.txt*:
::
>>> r = Requirement.from_pipfile(name='pythonfinder', indexes=[], pipfile={'path': '../pythonfinder', 'editable': True})
>>> r.as_line()
'-e ../pythonfinder'
Integrations
*************
* `Pip <https://github.com/pypa/pip>`_
* `Pipenv <https://github.com/pypa/pipenv>`_
* `Pipfile <https://github.com/pypa/pipfile>`_
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
requirementslib-0.0.2.tar.gz
(13.0 kB
view details)
Built Distribution
File details
Details for the file requirementslib-0.0.2.tar.gz
.
File metadata
- Download URL: requirementslib-0.0.2.tar.gz
- Upload date:
- Size: 13.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d46e3c5b34b973b162cf46d30faf01d1c30db0c4bd9aab74e8017652e6032ed8 |
|
MD5 | 1eb194d057c0d0916351467d7146d5be |
|
BLAKE2b-256 | b2e02f8142e1868f2e500b66e46d2c9fc09bb654a5c9d0796c3567b132215d83 |
File details
Details for the file requirementslib-0.0.2-py2.py3-none-any.whl
.
File metadata
- Download URL: requirementslib-0.0.2-py2.py3-none-any.whl
- Upload date:
- Size: 11.9 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e5974abc30d0cb54720e08d3f7b9f65ab67c3a819e6d9511548372c0d119420c |
|
MD5 | 672ef69c97067853a0ce45c85c18faa3 |
|
BLAKE2b-256 | cade30ac3713428f3a82c1ecca68352f1f42a510a3711913018af3db8709f0c4 |