Metadata-Version: 2.1
Name: dparse2
Version: 0.5.0.4
Summary: A parser for Python dependency files. Temp fork for Python 2 support.
Home-page: https://github.com/nexB/dparse
Author: Jannis Gebauer
Author-email: jay@pyup.io
License: MIT license
Keywords: dparse
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Requires-Dist: packaging
Requires-Dist: pyyaml
Requires-Dist: toml
Requires-Dist: six
Provides-Extra: pipenv
Requires-Dist: pipenv ; extra == 'pipenv'

=================
Dependency Parser
=================


.. image:: https://img.shields.io/pypi/v/dparse.svg
        :target: https://pypi.python.org/pypi/dparse

.. image:: https://img.shields.io/travis/pyupio/dparse.svg
        :target: https://travis-ci.org/pyupio/dparse

.. image:: https://codecov.io/gh/pyupio/dparse/branch/master/graph/badge.svg
  :target: https://codecov.io/gh/pyupio/dparse

.. image:: https://readthedocs.org/projects/dparse/badge/?version=latest
        :target: https://dparse.readthedocs.io/en/latest/?badge=latest
        :alt: Documentation Status

.. image:: https://pyup.io/repos/github/jayfk/dparse/shield.svg
     :target: https://pyup.io/repos/github/pyupio/dparse/
     :alt: Updates


A parser for Python dependency files


* Free software: MIT license
* Documentation: https://dparse.readthedocs.io.


Supported Files
---------------

+------------------+------------+-----------+
| File             | parse      | update    |
+==================+============+===========+
| requirements.txt | yes        | yes       |
+------------------+------------+-----------+
| conda.yml        | yes        | yes       |
+------------------+------------+-----------+
| tox.ini          | yes        | yes       |
+------------------+------------+-----------+
| Pipfile          | yes        | yes       |
+------------------+------------+-----------+
| Pipfile.lock     | yes        | yes       |
+------------------+------------+-----------+
| setup.py         | no (# 2_)  | no (# 2_) |
+------------------+------------+-----------+
| zc.buildout      | no (# 3_)  | no (# 3_) |
+------------------+------------+-----------+
| setup.cfg        | no (# 4_)  | no (# 4_) |
+------------------+------------+-----------+

.. _2: https://github.com/pyupio/dparse/issues/2
.. _3: https://github.com/pyupio/dparse/issues/3
.. _4: https://github.com/pyupio/dparse/issues/8

************
Installation
************

To install dparse, run:

.. code-block:: console

    $ pip install dparse

If you want to update Pipfiles, install the pipenv extra:

.. code-block:: console

    $ pip install dparse[pipenv]

*****
Usage
*****

To use dparse in a Python project::

    from dparse import parse, filetypes

    content = """
    South==1.0.1 --hash=sha256:abcdefghijklmno
    pycrypto>=2.6
    """

    df = parse(content, file_type=filetypes.requirements_txt)

    print(df.json())




    {
      "file_type": "requirements.txt",
      "content": "\nSouth==1.0.1 --hash=sha256:abcdefghijklmno\npycrypto>=2.6\n",
      "path": null,
      "sha": null,
      "dependencies": [
        {
          "name": "South",
          "specs": [
            [
              "==",
              "1.0.1"
            ]
          ],
          "line": "South==1.0.1 --hash=sha256:abcdefghijklmno",
          "source": "pypi",
          "meta": {},
          "line_numbers": null,
          "index_server": null,
          "hashes": [
            "--hash=sha256:abcdefghijklmno"
          ],
          "dependency_type": "requirements.txt",
          "extras": []
        },
        {
          "name": "pycrypto",
          "specs": [
            [
              ">=",
              "2.6"
            ]
          ],
          "line": "pycrypto>=2.6",
          "source": "pypi",
          "meta": {},
          "line_numbers": null,
          "index_server": null,
          "hashes": [],
          "dependency_type": "requirements.txt",
          "extras": []
        }
      ]
    }


=======
History
=======

0.5.0.3 (2020-08-25)
--------------------

* Reinstate Python 2.7 support


0.5.0 (2020-03-14)
------------------

* Dropped Python 2.7, 3.3, 3.4 support
* Removed six package
* Removed pinned dependencies of tests
* Dropped setup.py tests support in favor of tox

0.4.1 (2018-04-06)
------------------

* Fixed a packaging error.

0.4.0 (2018-04-06)
------------------

* pipenv is now an optional dependency that's only used when updating a Pipfile. Install it with dparse[pipenv]
* Added support for invalid toml Pipfiles (thanks @pombredanne)


0.3.0 (2018-03-01)
------------------

* Added support for setup.cfg files (thanks @kexepal)
* Dependencies from Pipfiles now include the section (thanks @paulortman)
* Multiline requirements are now ignored if they are marked
* Added experimental support for Pipfiles

0.2.1 (2017-07-19)
------------------

* Internal refactoring

0.2.0 (2017-07-19)
------------------

* Removed setuptools dependency


0.1.1 (2017-07-14)
------------------

* Fixed a bug that was causing the parser to throw errors on invalid requirements.

0.1.0 (2017-07-11)
------------------

* Initial, not much to see here.


