Hello community,
here is the log from the commit of package python-requirements-parser for
openSUSE:Factory checked in at 2019-05-21 10:41:02
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-requirements-parser (Old)
and /work/SRC/openSUSE:Factory/.python-requirements-parser.new.5148 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-requirements-parser"
Tue May 21 10:41:02 2019 rev:4 rq:704268 version:0.2.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/python-requirements-parser/python-requirements-parser.changes
2015-05-16 19:01:52.000000000 +0200
+++
/work/SRC/openSUSE:Factory/.python-requirements-parser.new.5148/python-requirements-parser.changes
2019-05-21 10:41:11.291055781 +0200
@@ -1,0 +2,9 @@
+Mon May 20 10:35:59 UTC 2019 - [email protected]
+
+- version update to 0.2.0
+ * Support multiple hashing algorithms at the end of the URL (#24)
+ * Preserve login info in requirement URI (#33)
+ * Support subdirectory fragments (#32)
+ * Support version control URLs with extras (#30)
+
+-------------------------------------------------------------------
Old:
----
requirements-parser-0.1.0.tar.gz
New:
----
requirements-parser-0.2.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-requirements-parser.spec ++++++
--- /var/tmp/diff_new_pack.t7hmcS/_old 2019-05-21 10:41:13.131054586 +0200
+++ /var/tmp/diff_new_pack.t7hmcS/_new 2019-05-21 10:41:13.135054583 +0200
@@ -1,7 +1,7 @@
#
# spec file for package python-requirements-parser
#
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -12,47 +12,48 @@
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
-# Please submit bugfixes or comments via http://bugs.opensuse.org/
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-requirements-parser
-Version: 0.1.0
+Version: 0.2.0
Release: 0
Summary: Parses Pip requirement files
License: BSD-2-Clause
Group: Development/Languages/Python
Url: https://github.com/davidfischer/requirements-parser
-Source:
https://pypi.python.org/packages/source/r/requirements-parser/requirements-parser-%{version}.tar.gz
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-# Test requirements:
-BuildRequires: python-nose
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitelib: %global python_sitelib %(python -c "from
distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%else
+Source:
https://files.pythonhosted.org/packages/source/r/requirements-parser/requirements-parser-%{version}.tar.gz
+BuildRequires: %{python_module setuptools}
+BuildRequires: python-rpm-macros
+# SECTION test requirements
+BuildRequires: %{python_module nose}
+# /SECTION
+BuildRequires: fdupes
BuildArch: noarch
-%endif
+
+%python_subpackages
%description
-This is a small Python module for parsing Pip requirement files.
+Parses Pip requirement files
%prep
%setup -q -n requirements-parser-%{version}
%build
-python setup.py build
+%python_build
%install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
%check
-python setup.py test
+%python_exec setup.py test
-%files
-%defattr(-,root,root,-)
-%doc LICENSE.rst README.rst
+%files %{python_files}
+%doc AUTHORS.rst README.rst
+%license LICENSE.rst
%{python_sitelib}/*
%changelog
++++++ requirements-parser-0.1.0.tar.gz -> requirements-parser-0.2.0.tar.gz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/requirements-parser-0.1.0/AUTHORS.rst
new/requirements-parser-0.2.0/AUTHORS.rst
--- old/requirements-parser-0.1.0/AUTHORS.rst 1970-01-01 01:00:00.000000000
+0100
+++ new/requirements-parser-0.2.0/AUTHORS.rst 2017-09-09 05:16:04.000000000
+0200
@@ -0,0 +1,11 @@
+AUTHORS
+=======
+
+- David Fischer (@davidfischer)
+- Trey Hunner (@treyhunner)
+- Dima Veselov (@dveselov)
+- Sascha Peilicke (@saschpe)
+- Jayson Reis (@jaysonsantos)
+- Max Shenfield (@mshenfield)
+- Nicolas Delaby (@ticosax)
+- Stéphane Bidoul (@sbidoul)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/requirements-parser-0.1.0/PKG-INFO
new/requirements-parser-0.2.0/PKG-INFO
--- old/requirements-parser-0.1.0/PKG-INFO 2015-05-03 03:36:14.000000000
+0200
+++ new/requirements-parser-0.2.0/PKG-INFO 2018-01-12 05:45:19.000000000
+0100
@@ -1,23 +1,30 @@
Metadata-Version: 1.1
Name: requirements-parser
-Version: 0.1.0
+Version: 0.2.0
Summary: Parses Pip requirement files
Home-page: https://github.com/davidfischer/requirements-parser
Author: David Fischer
Author-email: [email protected]
License: BSD
+Description-Content-Type: UNKNOWN
Description: Requirements Parser
===================
- .. image::
https://secure.travis-ci.org/davidfischer/requirements-parser.png?branch=master
+ .. image::
https://travis-ci.org/davidfischer/requirements-parser.svg?branch=master
:target: https://travis-ci.org/davidfischer/requirements-parser
- .. image::
https://coveralls.io/repos/davidfischer/requirements-parser/badge.png
- :target: https://coveralls.io/r/davidfischer/requirements-parser
+ .. image::
https://coveralls.io/repos/github/davidfischer/requirements-parser/badge.svg?branch=master
+ :target:
https://coveralls.io/github/davidfischer/requirements-parser?branch=master
+ .. image::
http://readthedocs.org/projects/requirements-parser/badge/?version=latest
+ :target:
http://requirements-parser.readthedocs.io/en/latest/?badge=latest
+ :alt: Documentation Status
This is a small Python module for parsing Pip_ requirement files.
+ The goal is to parse everything in the `Pip requirement file format`_
spec.
+
.. _Pip: http://www.pip-installer.org/
+ .. _Pip requirement file format:
https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
Installation
@@ -33,18 +40,30 @@
Requirements parser can parse a file-like object or a text string.
- ::
+ .. code-block:: python
>>> import requirements
- >>> reqfile = """
- ... Django>=1.5,<1.6
- ... DocParser[PDF]==1.0.0
- ... """
- >>> for req in requirements.parse(reqfile):
- ... print(req.name, req.specs, req.extras)
- ...
- ('Django', [('>=', '1.5'), ('<', '1.6')], [])
- ('DocParser', [('==', '1.0.0')], ['pdf'])
+ >>> with open('requirements.txt', 'r') as fd:
+ ... for req in requirements.parse(fd):
+ ... print(req.name, req.specs)
+ Django [('>=', '1.11'), ('<', '1.12')]
+ six [('==', '1.10.0')]
+
+ It can handle most if not all of the options in requirement files that
do
+ not involve traversing the local filesystem. These include:
+
+ * editables (`-e
git+https://github.com/toastdriven/pyelasticsearch.git`)
+ * version control URIs
+ * egg hashes and subdirectories
(`#egg=django-haystack&subdirectory=setup`)
+ * extras (`DocParser[PDF]`)
+ * URLs
+
+
+ Documentation
+ =============
+
+ For more details and examples, the documentation is available at:
+ http://requirements-parser.readthedocs.io.
Platform: OS Independent
Classifier: Development Status :: 4 - Beta
@@ -52,9 +71,10 @@
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/requirements-parser-0.1.0/README.rst
new/requirements-parser-0.2.0/README.rst
--- old/requirements-parser-0.1.0/README.rst 2013-08-16 17:56:26.000000000
+0200
+++ new/requirements-parser-0.2.0/README.rst 2017-09-09 06:03:04.000000000
+0200
@@ -2,14 +2,20 @@
===================
-.. image::
https://secure.travis-ci.org/davidfischer/requirements-parser.png?branch=master
+.. image::
https://travis-ci.org/davidfischer/requirements-parser.svg?branch=master
:target: https://travis-ci.org/davidfischer/requirements-parser
-.. image::
https://coveralls.io/repos/davidfischer/requirements-parser/badge.png
- :target: https://coveralls.io/r/davidfischer/requirements-parser
+.. image::
https://coveralls.io/repos/github/davidfischer/requirements-parser/badge.svg?branch=master
+ :target:
https://coveralls.io/github/davidfischer/requirements-parser?branch=master
+.. image::
http://readthedocs.org/projects/requirements-parser/badge/?version=latest
+ :target: http://requirements-parser.readthedocs.io/en/latest/?badge=latest
+ :alt: Documentation Status
This is a small Python module for parsing Pip_ requirement files.
+The goal is to parse everything in the `Pip requirement file format`_ spec.
+
.. _Pip: http://www.pip-installer.org/
+.. _Pip requirement file format:
https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
Installation
@@ -25,15 +31,27 @@
Requirements parser can parse a file-like object or a text string.
-::
+.. code-block:: python
>>> import requirements
- >>> reqfile = """
- ... Django>=1.5,<1.6
- ... DocParser[PDF]==1.0.0
- ... """
- >>> for req in requirements.parse(reqfile):
- ... print(req.name, req.specs, req.extras)
- ...
- ('Django', [('>=', '1.5'), ('<', '1.6')], [])
- ('DocParser', [('==', '1.0.0')], ['pdf'])
+ >>> with open('requirements.txt', 'r') as fd:
+ ... for req in requirements.parse(fd):
+ ... print(req.name, req.specs)
+ Django [('>=', '1.11'), ('<', '1.12')]
+ six [('==', '1.10.0')]
+
+It can handle most if not all of the options in requirement files that do
+not involve traversing the local filesystem. These include:
+
+* editables (`-e git+https://github.com/toastdriven/pyelasticsearch.git`)
+* version control URIs
+* egg hashes and subdirectories (`#egg=django-haystack&subdirectory=setup`)
+* extras (`DocParser[PDF]`)
+* URLs
+
+
+Documentation
+=============
+
+For more details and examples, the documentation is available at:
+http://requirements-parser.readthedocs.io.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/requirements-parser-0.1.0/requirements/__init__.py
new/requirements-parser-0.2.0/requirements/__init__.py
--- old/requirements-parser-0.1.0/requirements/__init__.py 2015-05-03
02:13:02.000000000 +0200
+++ new/requirements-parser-0.2.0/requirements/__init__.py 2018-01-12
05:35:20.000000000 +0100
@@ -1,7 +1,7 @@
from .parser import parse # noqa
_MAJOR = 0
-_MINOR = 1
+_MINOR = 2
_PATCH = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/requirements-parser-0.1.0/requirements/fragment.py
new/requirements-parser-0.2.0/requirements/fragment.py
--- old/requirements-parser-0.1.0/requirements/fragment.py 1970-01-01
01:00:00.000000000 +0100
+++ new/requirements-parser-0.2.0/requirements/fragment.py 2017-09-09
04:58:41.000000000 +0200
@@ -0,0 +1,44 @@
+import re
+
+# Copied from pip
+#
https://github.com/pypa/pip/blob/281eb61b09d87765d7c2b92f6982b3fe76ccb0af/pip/index.py#L947
+HASH_ALGORITHMS = set(['sha1', 'sha224', 'sha384', 'sha256', 'sha512', 'md5'])
+
+extras_require_search = re.compile(
+ r'(?P<name>.+)\[(?P<extras>[^\]]+)\]').search
+
+
+def parse_fragment(fragment_string):
+ """Takes a fragment string nd returns a dict of the components"""
+ fragment_string = fragment_string.lstrip('#')
+
+ try:
+ return dict(
+ key_value_string.split('=')
+ for key_value_string in fragment_string.split('&')
+ )
+ except ValueError:
+ raise ValueError(
+ 'Invalid fragment string {fragment_string}'.format(
+ fragment_string=fragment_string
+ )
+ )
+
+
+def get_hash_info(d):
+ """Returns the first matching hashlib name and value from a dict"""
+ for key in d.keys():
+ if key.lower() in HASH_ALGORITHMS:
+ return key, d[key]
+
+ return None, None
+
+
+def parse_extras_require(egg):
+ if egg is not None:
+ match = extras_require_search(egg)
+ if match is not None:
+ name = match.group('name')
+ extras = match.group('extras')
+ return name, [extra.strip() for extra in extras.split(',')]
+ return egg, []
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/requirements-parser-0.1.0/requirements/requirement.py
new/requirements-parser-0.2.0/requirements/requirement.py
--- old/requirements-parser-0.1.0/requirements/requirement.py 2013-09-24
03:21:21.000000000 +0200
+++ new/requirements-parser-0.2.0/requirements/requirement.py 2018-01-12
05:25:47.000000000 +0100
@@ -2,12 +2,13 @@
import re
from pkg_resources import Requirement as Req
+from .fragment import get_hash_info, parse_fragment, parse_extras_require
from .vcs import VCS, VCS_SCHEMES
URI_REGEX = re.compile(
r'^(?P<scheme>https?|file|ftps?)://(?P<path>[^#]+)'
- r'(#egg=(?P<name>[^&]+))?$'
+ r'(#(?P<fragment>\S+))?'
)
VCS_REGEX = re.compile(
@@ -16,14 +17,14 @@
r'((?P<login>[^/@]+)@)?'
r'(?P<path>[^#@]+)'
r'(@(?P<revision>[^#]+))?'
- r'(#egg=(?P<name>[^&]+))?$'
+ r'(#(?P<fragment>\S+))?'
)
# This matches just about everyting
LOCAL_REGEX = re.compile(
r'^((?P<scheme>file)://)?'
- r'(?P<path>[^#]+)'
- r'(#egg=(?P<name>[^&]+))?$'
+ r'(?P<path>[^#]+)' +
+ r'(#(?P<fragment>\S+))?'
)
@@ -48,7 +49,10 @@
* ``revision`` - a version control system specifier
* ``name`` - the name of the requirement
* ``uri`` - the URI if this requirement was specified by URI
+ * ``subdirectory`` - the subdirectory fragment of the URI
* ``path`` - the local path to the requirement
+ * ``hash_name`` - the type of hashing algorithm indicated in the line
+ * ``hash`` - the hash value indicated by the requirement line
* ``extras`` - a list of extras for this requirement
(eg. "mymodule[extra1, extra2]")
* ``specs`` - a list of specs for this requirement
@@ -63,9 +67,12 @@
self.specifier = False
self.vcs = None
self.name = None
+ self.subdirectory = None
self.uri = None
self.path = None
self.revision = None
+ self.hash_name = None
+ self.hash = None
self.extras = []
self.specs = []
@@ -98,9 +105,17 @@
if vcs_match is not None:
groups = vcs_match.groupdict()
- req.uri = '{scheme}://{path}'.format(**groups)
+ if groups.get('login'):
+ req.uri = '{scheme}://{login}@{path}'.format(**groups)
+ else:
+ req.uri = '{scheme}://{path}'.format(**groups)
req.revision = groups['revision']
- req.name = groups['name']
+ if groups['fragment']:
+ fragment = parse_fragment(groups['fragment'])
+ egg = fragment.get('egg')
+ req.name, req.extras = parse_extras_require(egg)
+ req.hash_name, req.hash = get_hash_info(fragment)
+ req.subdirectory = fragment.get('subdirectory')
for vcs in VCS:
if req.uri.startswith(vcs):
req.vcs = vcs
@@ -108,7 +123,12 @@
assert local_match is not None, 'This should match everything'
groups = local_match.groupdict()
req.local_file = True
- req.name = groups['name']
+ if groups['fragment']:
+ fragment = parse_fragment(groups['fragment'])
+ egg = fragment.get('egg')
+ req.name, req.extras = parse_extras_require(egg)
+ req.hash_name, req.hash = get_hash_info(fragment)
+ req.subdirectory = fragment.get('subdirectory')
req.path = groups['path']
return req
@@ -133,16 +153,29 @@
if vcs_match is not None:
groups = vcs_match.groupdict()
- req.uri = '{scheme}://{path}'.format(**groups)
+ if groups.get('login'):
+ req.uri = '{scheme}://{login}@{path}'.format(**groups)
+ else:
+ req.uri = '{scheme}://{path}'.format(**groups)
req.revision = groups['revision']
- req.name = groups['name']
+ if groups['fragment']:
+ fragment = parse_fragment(groups['fragment'])
+ egg = fragment.get('egg')
+ req.name, req.extras = parse_extras_require(egg)
+ req.hash_name, req.hash = get_hash_info(fragment)
+ req.subdirectory = fragment.get('subdirectory')
for vcs in VCS:
if req.uri.startswith(vcs):
req.vcs = vcs
elif uri_match is not None:
groups = uri_match.groupdict()
req.uri = '{scheme}://{path}'.format(**groups)
- req.name = groups['name']
+ if groups['fragment']:
+ fragment = parse_fragment(groups['fragment'])
+ egg = fragment.get('egg')
+ req.name, req.extras = parse_extras_require(egg)
+ req.hash_name, req.hash = get_hash_info(fragment)
+ req.subdirectory = fragment.get('subdirectory')
if groups['scheme'] == 'file':
req.local_file = True
elif '#egg=' in line:
@@ -150,7 +183,13 @@
assert local_match is not None, 'This should match everything'
groups = local_match.groupdict()
req.local_file = True
- req.name = groups['name']
+ if groups['fragment']:
+ fragment = parse_fragment(groups['fragment'])
+ egg = fragment.get('egg')
+ name, extras = parse_extras_require(egg)
+ req.name = fragment.get('egg')
+ req.hash_name, req.hash = get_hash_info(fragment)
+ req.subdirectory = fragment.get('subdirectory')
req.path = groups['path']
else:
# This is a requirement specifier.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/requirements-parser-0.1.0/requirements_parser.egg-info/PKG-INFO
new/requirements-parser-0.2.0/requirements_parser.egg-info/PKG-INFO
--- old/requirements-parser-0.1.0/requirements_parser.egg-info/PKG-INFO
2015-05-03 03:36:14.000000000 +0200
+++ new/requirements-parser-0.2.0/requirements_parser.egg-info/PKG-INFO
2018-01-12 05:45:19.000000000 +0100
@@ -1,23 +1,30 @@
Metadata-Version: 1.1
Name: requirements-parser
-Version: 0.1.0
+Version: 0.2.0
Summary: Parses Pip requirement files
Home-page: https://github.com/davidfischer/requirements-parser
Author: David Fischer
Author-email: [email protected]
License: BSD
+Description-Content-Type: UNKNOWN
Description: Requirements Parser
===================
- .. image::
https://secure.travis-ci.org/davidfischer/requirements-parser.png?branch=master
+ .. image::
https://travis-ci.org/davidfischer/requirements-parser.svg?branch=master
:target: https://travis-ci.org/davidfischer/requirements-parser
- .. image::
https://coveralls.io/repos/davidfischer/requirements-parser/badge.png
- :target: https://coveralls.io/r/davidfischer/requirements-parser
+ .. image::
https://coveralls.io/repos/github/davidfischer/requirements-parser/badge.svg?branch=master
+ :target:
https://coveralls.io/github/davidfischer/requirements-parser?branch=master
+ .. image::
http://readthedocs.org/projects/requirements-parser/badge/?version=latest
+ :target:
http://requirements-parser.readthedocs.io/en/latest/?badge=latest
+ :alt: Documentation Status
This is a small Python module for parsing Pip_ requirement files.
+ The goal is to parse everything in the `Pip requirement file format`_
spec.
+
.. _Pip: http://www.pip-installer.org/
+ .. _Pip requirement file format:
https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
Installation
@@ -33,18 +40,30 @@
Requirements parser can parse a file-like object or a text string.
- ::
+ .. code-block:: python
>>> import requirements
- >>> reqfile = """
- ... Django>=1.5,<1.6
- ... DocParser[PDF]==1.0.0
- ... """
- >>> for req in requirements.parse(reqfile):
- ... print(req.name, req.specs, req.extras)
- ...
- ('Django', [('>=', '1.5'), ('<', '1.6')], [])
- ('DocParser', [('==', '1.0.0')], ['pdf'])
+ >>> with open('requirements.txt', 'r') as fd:
+ ... for req in requirements.parse(fd):
+ ... print(req.name, req.specs)
+ Django [('>=', '1.11'), ('<', '1.12')]
+ six [('==', '1.10.0')]
+
+ It can handle most if not all of the options in requirement files that
do
+ not involve traversing the local filesystem. These include:
+
+ * editables (`-e
git+https://github.com/toastdriven/pyelasticsearch.git`)
+ * version control URIs
+ * egg hashes and subdirectories
(`#egg=django-haystack&subdirectory=setup`)
+ * extras (`DocParser[PDF]`)
+ * URLs
+
+
+ Documentation
+ =============
+
+ For more details and examples, the documentation is available at:
+ http://requirements-parser.readthedocs.io.
Platform: OS Independent
Classifier: Development Status :: 4 - Beta
@@ -52,9 +71,10 @@
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 3.3
+Classifier: Programming Language :: Python :: 3.4
+Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/requirements-parser-0.1.0/requirements_parser.egg-info/SOURCES.txt
new/requirements-parser-0.2.0/requirements_parser.egg-info/SOURCES.txt
--- old/requirements-parser-0.1.0/requirements_parser.egg-info/SOURCES.txt
2015-05-03 03:36:14.000000000 +0200
+++ new/requirements-parser-0.2.0/requirements_parser.egg-info/SOURCES.txt
2018-01-12 05:45:19.000000000 +0100
@@ -1,8 +1,10 @@
+AUTHORS.rst
LICENSE.rst
MANIFEST.in
README.rst
setup.py
requirements/__init__.py
+requirements/fragment.py
requirements/parser.py
requirements/requirement.py
requirements/vcs.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/requirements-parser-0.1.0/setup.cfg
new/requirements-parser-0.2.0/setup.cfg
--- old/requirements-parser-0.1.0/setup.cfg 2015-05-03 03:36:14.000000000
+0200
+++ new/requirements-parser-0.2.0/setup.cfg 2018-01-12 05:45:19.000000000
+0100
@@ -1,5 +1,4 @@
[egg_info]
tag_build =
tag_date = 0
-tag_svn_revision = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/requirements-parser-0.1.0/setup.py
new/requirements-parser-0.2.0/setup.py
--- old/requirements-parser-0.1.0/setup.py 2015-05-03 02:13:07.000000000
+0200
+++ new/requirements-parser-0.2.0/setup.py 2018-01-12 05:35:29.000000000
+0100
@@ -16,7 +16,7 @@
setup(
name='requirements-parser',
- version='0.1.0',
+ version='0.2.0',
description='Parses Pip requirement files',
long_description=long_description,
author='David Fischer',
@@ -31,11 +31,12 @@
'License :: OSI Approved :: BSD License',
'Operating System :: OS Independent',
'Programming Language :: Python',
- 'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Programming Language :: Python :: 3',
- 'Programming Language :: Python :: 3.2',
'Programming Language :: Python :: 3.3',
+ 'Programming Language :: Python :: 3.4',
+ 'Programming Language :: Python :: 3.5',
+ 'Programming Language :: Python :: 3.6',
'Topic :: Software Development :: Libraries :: Python Modules',
],
tests_require=['nose'],