Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-yarg for openSUSE:Factory checked in at 2024-11-12 19:20:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-yarg (Old) and /work/SRC/openSUSE:Factory/.python-yarg.new.2017 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-yarg" Tue Nov 12 19:20:59 2024 rev:6 rq:1223386 version:0.1.10 Changes: -------- --- /work/SRC/openSUSE:Factory/python-yarg/python-yarg.changes 2024-02-13 22:43:15.558166166 +0100 +++ /work/SRC/openSUSE:Factory/.python-yarg.new.2017/python-yarg.changes 2024-11-12 19:21:43.608237515 +0100 @@ -1,0 +2,9 @@ +Mon Nov 11 14:36:47 UTC 2024 - Dirk Müller <[email protected]> + +- update to 0.1.10: + * Python 3.12 support + * Added `decode` call on the response object for Python 3 in + :meth:`yarg.newest_packages` and + :meth:`yarg.latest_updated_packages`. + +------------------------------------------------------------------- Old: ---- yarg-0.1.9.tar.gz New: ---- yarg-0.1.10.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-yarg.spec ++++++ --- /var/tmp/diff_new_pack.LgA2GE/_old 2024-11-12 19:21:44.308266857 +0100 +++ /var/tmp/diff_new_pack.LgA2GE/_new 2024-11-12 19:21:44.312267024 +0100 @@ -18,7 +18,7 @@ %{?sle15_python_module_pythons} Name: python-yarg -Version: 0.1.9 +Version: 0.1.10 Release: 0 Summary: A PyPI client License: MIT @@ -53,7 +53,7 @@ %install %pyproject_install %python_expand %fdupes %{buildroot}%{$python_sitelib} -%python_expand rm -r %{buildroot}%{$python_sitelib}/tests +#python_expand rm -r %{buildroot}%{$python_sitelib}/tests %check ++++++ yarg-0.1.9.tar.gz -> yarg-0.1.10.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/CHANGES.rst new/yarg-0.1.10/CHANGES.rst --- old/yarg-0.1.9/CHANGES.rst 2014-08-11 16:52:05.000000000 +0200 +++ new/yarg-0.1.10/CHANGES.rst 2024-08-09 23:39:23.000000000 +0200 @@ -1,6 +1,18 @@ Release History =============== +0.1.10 (2024-08-09) +- Python 3.12 support + +0.1.9 (2014-08-11) +------------------ + +Splatting bugs +~~~~~~~~~~~~~~ + +- Added `decode` call on the response object for Python 3 in + :meth:`yarg.newest_packages` and :meth:`yarg.latest_updated_packages`. + 0.1.8 (2014-08-10) ------------------ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/PKG-INFO new/yarg-0.1.10/PKG-INFO --- old/yarg-0.1.9/PKG-INFO 2014-08-12 00:01:36.000000000 +0200 +++ new/yarg-0.1.10/PKG-INFO 2024-08-09 23:40:53.513563400 +0200 @@ -1,149 +1,13 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: yarg -Version: 0.1.9 +Version: 0.1.10 Summary: A semi hard Cornish cheese, also queries PyPI (PyPI client) Home-page: https://yarg.readthedocs.org/ Author: Kura Author-email: [email protected] +Maintainer: Kura +Maintainer-email: [email protected] License: MIT -Description: yarg(1) -- A semi hard Cornish cheese, also queries PyPI - ======================================================== - - .. image:: https://img.shields.io/travis/kura/yarg.svg?style=flat - - .. image:: https://img.shields.io/coveralls/kura/yarg.svg?style=flat - - .. image:: https://pypip.in/version/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/download/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/py_versions/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/implementation/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/status/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/wheel/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/license/yarg/badge.svg?style=flat - - Yarg is a PyPI client. - - .. code-block:: python - - >>> import yarg - >>> package = yarg.get("yarg") - >>> package.name - u'yarg' - >>> package.author - Author(name=u'Kura', email=u'[email protected]') - - Full documentation is at <https://yarg.readthedocs.org>. - - Yarg is released under the `MIT license - <https://github.com/kura/yarg/blob/master/LICENSE>`_. The `source code is on - GitHub <https://github.com/kura/yarg>`_ and `issues are also tracked on - GitHub <https://github.com/kura/yarg/issues>`_. - - - Release History - =============== - - 0.1.8 (2014-08-10) - ------------------ - - Splatting bugs - ~~~~~~~~~~~~~~ - - - Integration issue with Python 3, requests, yarg and JSON. Attempt to decode - requests response if decode attribute exists. - - 0.1.6 & 0.1.7 (2014-08-10) - -------------------------- - - Splatting bugs - ~~~~~~~~~~~~~~ - - - Bug in setup.py causing installs to fail for sdist (source) releases. - - 0.1.5 (2014-08-10) - ------------------ - - API changes - ~~~~~~~~~~~ - - - Changed sort order of `yarg.package.Package.release_ids` to sort - based on the upload time of the release ID. - - Splatting bugs - ~~~~~~~~~~~~~~ - - - `yarg.package.Package.latest_release_id` will now return the latest - release ID from the PyPI info source, rather than the final list item in - `yarg.package.Package.release_ids`. - - Addtionally `yarg.package.Package.latest_release` will do the same as - it gets the latest release information from - `yarg.package.Package.latest_release_id`. - - 0.1.4 (2014-08-09) - ------------------ - - API changes - ~~~~~~~~~~~ - - - New method `yarg.newest_packages` for querying new packages - from the PyPI RSS feed. - - New method `yarg.latest_updated_packages` for querying - the latest updated packages from the PyPI RSS feed. - - Other - ~~~~~ - - - Additional test coverage - - Additional documentation coverage - - 0.1.2 (2014-08-08) - ------------------ - - Bug fixes - ~~~~~~~~~ - - - `yarg.get` will now raise an Exception for errors **including** - 300 and above. Previously only raised for above 300. - - Fix an issue on Python 3.X and PyPy3 where - `yarg.exceptions.HTTPError` was using a method that was - removed in Python 3. - - Added dictionary key lookups for `home_page`, `bugtrack_url` - and `docs_url`. Caused `KeyError` exceptions if they were not - returned by PyPI. - - Other - ~~~~~ - - - More test coverage. - - 0.1.1 (2014-08-08) - ------------------ - - API changes - ~~~~~~~~~~~ - - - New `yarg.package.Package` property `has_wheel`. - - New `yarg.package.Package` property `has_egg`. - - New `yarg.package.Package` property `has_source`. - - New `yarg.package.Package` property `python_versions`. - - New `yarg.package.Package` property `python_implementations`. - - Added `yarg.exceptions.HTTPError` to `yarg.__init__` - for easier access. - - Added `yarg.json2package` to `yarg.__init__` to expose it for - use. - - 0.1.0 (2014-08-08) - ------------------ - - - Initial release - Keywords: pypi,client,packages Platform: linux Classifier: Development Status :: 4 - Beta @@ -151,14 +15,153 @@ Classifier: Natural Language :: English Classifier: License :: OSI Approved :: MIT License 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.3 -Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: System :: Archiving :: Packaging Requires: requests Provides: yarg +License-File: LICENSE +License-File: LICENSE-REQUESTS + +yarg(1) -- A semi hard Cornish cheese, also queries PyPI +======================================================== + +.. image:: https://img.shields.io/travis/kura/yarg.svg?style=flat + +.. image:: https://img.shields.io/coveralls/kura/yarg.svg?style=flat + +Yarg is a PyPI client. + +.. code-block:: python + + >>> import yarg + >>> package = yarg.get("yarg") + >>> package.name + u'yarg' + >>> package.author + Author(name=u'Kura', email=u'[email protected]') + +Full documentation is at <https://yarg.readthedocs.org>. + +Yarg is released under the `MIT license +<https://github.com/kura/yarg/blob/master/LICENSE>`_. The `source code is on +GitHub <https://github.com/kura/yarg>`_ and `issues are also tracked on +GitHub <https://github.com/kura/yarg/issues>`_. + + +Release History +=============== + +0.1.10 (2024-08-09) +- Python 3.12 support + +0.1.9 (2014-08-11) +------------------ + +Splatting bugs +~~~~~~~~~~~~~~ + +- Added `decode` call on the response object for Python 3 in + `yarg.newest_packages` and `yarg.latest_updated_packages`. + +0.1.8 (2014-08-10) +------------------ + +Splatting bugs +~~~~~~~~~~~~~~ + +- Integration issue with Python 3, requests, yarg and JSON. Attempt to decode + requests response if decode attribute exists. + +0.1.6 & 0.1.7 (2014-08-10) +-------------------------- + +Splatting bugs +~~~~~~~~~~~~~~ + +- Bug in setup.py causing installs to fail for sdist (source) releases. + +0.1.5 (2014-08-10) +------------------ + +API changes +~~~~~~~~~~~ + +- Changed sort order of `yarg.package.Package.release_ids` to sort + based on the upload time of the release ID. + +Splatting bugs +~~~~~~~~~~~~~~ + +- `yarg.package.Package.latest_release_id` will now return the latest + release ID from the PyPI info source, rather than the final list item in + `yarg.package.Package.release_ids`. + + Addtionally `yarg.package.Package.latest_release` will do the same as + it gets the latest release information from + `yarg.package.Package.latest_release_id`. + +0.1.4 (2014-08-09) +------------------ + +API changes +~~~~~~~~~~~ + +- New method `yarg.newest_packages` for querying new packages + from the PyPI RSS feed. +- New method `yarg.latest_updated_packages` for querying + the latest updated packages from the PyPI RSS feed. + +Other +~~~~~ + +- Additional test coverage +- Additional documentation coverage + +0.1.2 (2014-08-08) +------------------ + +Bug fixes +~~~~~~~~~ + +- `yarg.get` will now raise an Exception for errors **including** + 300 and above. Previously only raised for above 300. +- Fix an issue on Python 3.X and PyPy3 where + `yarg.exceptions.HTTPError` was using a method that was + removed in Python 3. +- Added dictionary key lookups for `home_page`, `bugtrack_url` + and `docs_url`. Caused `KeyError` exceptions if they were not + returned by PyPI. + +Other +~~~~~ + +- More test coverage. + +0.1.1 (2014-08-08) +------------------ + +API changes +~~~~~~~~~~~ + +- New `yarg.package.Package` property `has_wheel`. +- New `yarg.package.Package` property `has_egg`. +- New `yarg.package.Package` property `has_source`. +- New `yarg.package.Package` property `python_versions`. +- New `yarg.package.Package` property `python_implementations`. +- Added `yarg.exceptions.HTTPError` to `yarg.__init__` + for easier access. +- Added `yarg.json2package` to `yarg.__init__` to expose it for + use. + +0.1.0 (2014-08-08) +------------------ + +- Initial release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/README.rst new/yarg-0.1.10/README.rst --- old/yarg-0.1.9/README.rst 2014-08-10 21:50:33.000000000 +0200 +++ new/yarg-0.1.10/README.rst 2021-10-12 19:42:07.000000000 +0200 @@ -5,20 +5,6 @@ .. image:: https://img.shields.io/coveralls/kura/yarg.svg?style=flat -.. image:: https://pypip.in/version/yarg/badge.svg?style=flat - -.. image:: https://pypip.in/download/yarg/badge.svg?style=flat - -.. image:: https://pypip.in/py_versions/yarg/badge.svg?style=flat - -.. image:: https://pypip.in/implementation/yarg/badge.svg?style=flat - -.. image:: https://pypip.in/status/yarg/badge.svg?style=flat - -.. image:: https://pypip.in/wheel/yarg/badge.svg?style=flat - -.. image:: https://pypip.in/license/yarg/badge.svg?style=flat - Yarg is a PyPI client. .. code-block:: python diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/setup.cfg new/yarg-0.1.10/setup.cfg --- old/yarg-0.1.9/setup.cfg 2014-08-12 00:01:36.000000000 +0200 +++ new/yarg-0.1.10/setup.cfg 2024-08-09 23:40:53.513563400 +0200 @@ -4,5 +4,4 @@ [egg_info] tag_build = tag_date = 0 -tag_svn_revision = 0 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/setup.py new/yarg-0.1.10/setup.py --- old/yarg-0.1.9/setup.py 2014-08-11 23:55:01.000000000 +0200 +++ new/yarg-0.1.10/setup.py 2024-07-16 14:56:18.000000000 +0200 @@ -21,7 +21,7 @@ long_description=long_desc, license=__license__, platforms=['linux'], - packages=find_packages(exclude=["*.tests"]), + packages=find_packages(exclude=["tests"]), install_requires=['requests', ], requires=['requests', ], provides=[__title__, ], @@ -32,11 +32,12 @@ 'Natural Language :: English', 'License :: OSI Approved :: MIT License', 'Programming Language :: Python', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', - 'Programming Language :: Python :: 3.4', + 'Programming Language :: Python :: 3.8', + 'Programming Language :: Python :: 3.9', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', 'Programming Language :: Python :: Implementation :: CPython', 'Programming Language :: Python :: Implementation :: PyPy', 'Topic :: Software Development :: Libraries :: Python Modules', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/tests/test_client.py new/yarg-0.1.10/tests/test_client.py --- old/yarg-0.1.9/tests/test_client.py 2014-08-10 22:58:41.000000000 +0200 +++ new/yarg-0.1.10/tests/test_client.py 2021-10-12 19:47:45.000000000 +0200 @@ -1,7 +1,7 @@ import os import unittest -from mock import call, MagicMock, patch +from unittest.mock import call, MagicMock, patch from yarg import get, HTTPError @@ -20,7 +20,7 @@ class TestClient(unittest.TestCase): - @patch('requests.get', return_value=BadResponse) + @patch('requests.Session.get', return_value=BadResponse) def test_get(self, get_mock): # Python 2.6.... try: @@ -30,7 +30,7 @@ self.assertEqual(e.status_code, e.errno) self.assertEqual(e.reason, e.message) - @patch('requests.get', return_value=GoodResponse) + @patch('requests.Session.get', return_value=GoodResponse) def test_end_slash(self, get_mock): get("test", pypi_server="https://mock.test.mock/test") self.assertEqual(call('https://mock.test.mock/test/test/json'), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/tests/test_package.py new/yarg-0.1.10/tests/test_package.py --- old/yarg-0.1.9/tests/test_package.py 2014-08-10 21:05:48.000000000 +0200 +++ new/yarg-0.1.10/tests/test_package.py 2024-07-16 14:56:18.000000000 +0200 @@ -15,59 +15,59 @@ self.package = json2package(open(package).read()) def test_repr(self): - self.assertEquals(u'<Package yarg>', self.package.__repr__()) + self.assertEqual(u'<Package yarg>', self.package.__repr__()) def test_name(self): - self.assertEquals(u'yarg', self.package.name) + self.assertEqual(u'yarg', self.package.name) def test_pypi_url(self): - self.assertEquals(u'http://pypi.python.org/pypi/yarg', + self.assertEqual(u'http://pypi.python.org/pypi/yarg', self.package.pypi_url) def test_summary(self): - self.assertEquals(u'This is the short summary.', self.package.summary) + self.assertEqual(u'This is the short summary.', self.package.summary) def test_description(self): - self.assertEquals(u'This is the long description.', + self.assertEqual(u'This is the long description.', self.package.description) def test_homepage(self): - self.assertEquals(u'https://kura.io/yarg/', + self.assertEqual(u'https://kura.io/yarg/', self.package.homepage) def test_bugtracker(self): - self.assertEquals(u'https://github.com/kura/yarg/issues', + self.assertEqual(u'https://github.com/kura/yarg/issues', self.package.bugtracker) def test_docs(self): - self.assertEquals(u'http://yarg.readthedocs.org/', + self.assertEqual(u'http://yarg.readthedocs.org/', self.package.docs) def test_author(self): author = namedtuple('Author', 'name email') - self.assertEquals(author(name='Kura', email='[email protected]'), + self.assertEqual(author(name='Kura', email='[email protected]'), self.package.author) def test_maintainer(self): maintainer = namedtuple('Maintainer', 'name email') - self.assertEquals(maintainer(name='Kura', email='[email protected]'), + self.assertEqual(maintainer(name='Kura', email='[email protected]'), self.package.maintainer) def test_license(self): - self.assertEquals(u'MIT', + self.assertEqual(u'MIT', self.package.license) def test_license_from_classifiers(self): - self.assertEquals(u'MIT License', + self.assertEqual(u'MIT License', self.package.license_from_classifiers) def test_downloads(self): downloads = namedtuple('Downloads', 'day week month') - self.assertEquals(downloads(day=34001, week=72700, month=510000), + self.assertEqual(downloads(day=34001, week=72700, month=510000), self.package.downloads) def test_classifiers(self): - self.assertEquals([u'Development Status :: 5 - Production/Stable', + self.assertEqual([u'Development Status :: 5 - Production/Stable', u'Intended Audience :: Developers', u'License :: OSI Approved :: MIT License', u'Programming Language :: Python', @@ -82,27 +82,27 @@ self.package.classifiers) def test_release_ids(self): - self.assertEquals([u'0.0.0', u'0.0.2', u'0.0.15'], + self.assertEqual([u'0.0.0', u'0.0.2', u'0.0.15'], self.package.release_ids) def test_latest_release_id(self): - self.assertEquals(u'0.0.15', self.package.latest_release_id) + self.assertEqual(u'0.0.15', self.package.latest_release_id) def test_has_wheel(self): - self.assertEquals(True, self.package.has_wheel) + self.assertEqual(True, self.package.has_wheel) def test_has_egg(self): - self.assertEquals(False, self.package.has_egg) + self.assertEqual(False, self.package.has_egg) def test_has_source(self): - self.assertEquals(True, self.package.has_source) + self.assertEqual(True, self.package.has_source) def test_python_versions(self): - self.assertEquals([u'2.6', u'2.7', u'3.1', u'3.2', u'3.3'], + self.assertEqual([u'2.6', u'2.7', u'3.1', u'3.2', u'3.3'], self.package.python_versions) def test_python_implementations(self): - self.assertEquals([u'CPython', u'PyPy'], + self.assertEqual([u'CPython', u'PyPy'], self.package.python_implementations) @@ -116,22 +116,22 @@ def test_homepage(self): - self.assertEquals(None, self.package.homepage) + self.assertEqual(None, self.package.homepage) def test_bugtracker(self): - self.assertEquals(None, self.package.bugtracker) + self.assertEqual(None, self.package.bugtracker) def test_docs(self): - self.assertEquals(None, self.package.docs) + self.assertEqual(None, self.package.docs) def test_latest_release_id(self): - self.assertEquals(u'0.0.0', self.package.latest_release_id) + self.assertEqual(u'0.0.0', self.package.latest_release_id) def test_has_wheel(self): - self.assertEquals(False, self.package.has_wheel) + self.assertEqual(False, self.package.has_wheel) def test_has_egg(self): - self.assertEquals(True, self.package.has_egg) + self.assertEqual(True, self.package.has_egg) def test_has_source(self): - self.assertEquals(False, self.package.has_source) + self.assertEqual(False, self.package.has_source) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/tests/test_parse.py new/yarg-0.1.10/tests/test_parse.py --- old/yarg-0.1.9/tests/test_parse.py 2014-08-11 16:54:10.000000000 +0200 +++ new/yarg-0.1.10/tests/test_parse.py 2021-10-12 19:47:45.000000000 +0200 @@ -2,7 +2,7 @@ import os import unittest -from mock import call, MagicMock, patch +from unittest.mock import call, MagicMock, patch from yarg import newest_packages, latest_updated_packages, HTTPError from yarg.parse import _get, Package diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/tests/test_release.py new/yarg-0.1.10/tests/test_release.py --- old/yarg-0.1.9/tests/test_release.py 2014-08-10 21:05:31.000000000 +0200 +++ new/yarg-0.1.10/tests/test_release.py 2024-07-16 14:56:18.000000000 +0200 @@ -1,4 +1,3 @@ -from collections import namedtuple from datetime import datetime import json import os @@ -17,100 +16,100 @@ self.package = json2package(open(package).read()) def test_release_ids(self): - self.assertEquals([u'0.0.0', u'0.0.2', u'0.0.15'], + self.assertEqual([u'0.0.0', u'0.0.2', u'0.0.15'], self.package.release_ids) def test_release(self): release_id = '0.0.2' release = self.json['releases'][release_id] release_list = [Release(release_id, r) for r in release] - self.assertEquals(release_list[0].md5_digest, + self.assertEqual(release_list[0].md5_digest, self.package.release(release_id)[0].md5_digest) - self.assertEquals(release_list[1].md5_digest, + self.assertEqual(release_list[1].md5_digest, self.package.release(release_id)[1].md5_digest) - self.assertEquals('3e3098611177c34706de2e10476b3e50', + self.assertEqual('3e3098611177c34706de2e10476b3e50', self.package.release(release_id)[0].md5_digest) - self.assertEquals('be198baa95116c1c9d17874428e3a0c6', + self.assertEqual('be198baa95116c1c9d17874428e3a0c6', self.package.release(release_id)[1].md5_digest) def test_repr(self): release_id = '0.0.2' release = self.package.release(release_id)[0] - self.assertEquals(u'<Release 0.0.2>', release.__repr__()) + self.assertEqual(u'<Release 0.0.2>', release.__repr__()) def test_release_id(self): release_id = '0.0.2' release = self.package.release(release_id)[0] - self.assertEquals(release_id, release.release_id) + self.assertEqual(release_id, release.release_id) def test_release_id(self): release_id = '0.0.3' release = self.package.release(release_id) - self.assertEquals(None, release) + self.assertEqual(None, release) def test_release_uploaded(self): release_id = '0.0.2' release = self.package.release(release_id)[0] - self.assertEquals(datetime.strptime("2014-08-16T12:21:20", + self.assertEqual(datetime.strptime("2014-08-16T12:21:20", "%Y-%m-%dT%H:%M:%S"), release.uploaded) def test_release_python_version(self): release_id = '0.0.2' release = self.package.release(release_id)[0] - self.assertEquals(u'2.7', release.python_version) + self.assertEqual(u'2.7', release.python_version) def test_release_url(self): release_id = '0.0.2' release = self.package.release(release_id)[0] url = u'https://pypi.python.org/packages/2.7/y/yarg/yarg-0.0.2-py2.py3-none-any.whl' - self.assertEquals(url, release.url) + self.assertEqual(url, release.url) def test_release_md5(self): release_id = '0.0.2' release = self.package.release(release_id)[0] md5 = u'3e3098611177c34706de2e10476b3e50' - self.assertEquals(md5, release.md5_digest) + self.assertEqual(md5, release.md5_digest) def test_release_filename(self): release_id = '0.0.2' release = self.package.release(release_id)[0] filename = u'yarg-0.0.2-py2.py3-none-any.whl' - self.assertEquals(filename, release.filename) + self.assertEqual(filename, release.filename) def test_release_size(self): release_id = '0.0.2' release = self.package.release(release_id)[0] size = 21596 - self.assertEquals(size, release.size) + self.assertEqual(size, release.size) def test_release_unknown_package_type(self): release_id = '0.0.0' release = self.package.release(release_id)[0] - self.assertEquals(u'wheeeel', release.package_type) + self.assertEqual(u'wheeeel', release.package_type) def test_release_package_type(self): release_id = '0.0.2' release = self.package.release(release_id)[0] - self.assertEquals(u'wheel', release.package_type) + self.assertEqual(u'wheel', release.package_type) def test_release_has_sig(self): release_id = '0.0.2' release = self.package.release(release_id)[0] - self.assertEquals(True, release.has_sig) + self.assertEqual(True, release.has_sig) def test_latest_release_id(self): - self.assertEquals(u'0.0.15', self.package.latest_release_id) + self.assertEqual(u'0.0.15', self.package.latest_release_id) def test_latest_release(self): release_id = '0.0.15' release = self.json['releases'][release_id] release_list = [Release(release_id, r) for r in release] - self.assertEquals(release_list[0].md5_digest, + self.assertEqual(release_list[0].md5_digest, self.package.latest_release[0].md5_digest) - self.assertEquals(release_list[1].md5_digest, + self.assertEqual(release_list[1].md5_digest, self.package.latest_release[1].md5_digest) - self.assertEquals('3e3098611177c34706de2e10476b3e51', + self.assertEqual('3e3098611177c34706de2e10476b3e51', self.package.latest_release[0].md5_digest) - self.assertEquals('be198baa95116c1c9d17874428e3a0c7', + self.assertEqual('be198baa95116c1c9d17874428e3a0c7', self.package.latest_release[1].md5_digest) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg/__about__.py new/yarg-0.1.10/yarg/__about__.py --- old/yarg-0.1.9/yarg/__about__.py 2014-08-11 23:59:13.000000000 +0200 +++ new/yarg-0.1.10/yarg/__about__.py 2024-08-09 23:38:26.000000000 +0200 @@ -1,5 +1,5 @@ __title__ = 'yarg' -__version__ = '0.1.9' +__version__ = '0.1.10' __author__ = 'Kura' __email__ = '[email protected]' __url__ = 'https://yarg.readthedocs.org/' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg/__init__.py new/yarg-0.1.10/yarg/__init__.py --- old/yarg-0.1.9/yarg/__init__.py 2014-08-10 22:35:44.000000000 +0200 +++ new/yarg-0.1.10/yarg/__init__.py 2021-10-12 19:42:07.000000000 +0200 @@ -32,9 +32,9 @@ >>> >>> package = yarg.get("yarg") >>> package.name - u'yarg' + 'yarg' >>> package.author - Author(name=u'Kura', email=u'[email protected]') + Author(name='Kura', email='[email protected]') >>> >>> yarg.newest_packages() [<Package yarg>, <Package gray>, <Package ragy>] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg/client.py new/yarg-0.1.10/yarg/client.py --- old/yarg-0.1.9/yarg/client.py 2014-08-10 23:17:00.000000000 +0200 +++ new/yarg-0.1.10/yarg/client.py 2021-10-12 19:42:07.000000000 +0200 @@ -29,9 +29,12 @@ from .package import json2package +session = requests.Session() + + def get(package_name, pypi_server="https://pypi.python.org/pypi/"): """ - Constructs a request to the PyPI server and returns a + Construct a request to the PyPI server and returns an instance of :class:`yarg.package.Package`. :param package_name: case sensitive name of the package on the PyPI server. @@ -43,8 +46,8 @@ """ if not pypi_server.endswith("/"): pypi_server = pypi_server + "/" - response = requests.get("{0}{1}/json".format(pypi_server, - package_name)) + response = session.get("{0}{1}/json".format(pypi_server, + package_name)) if response.status_code >= 300: raise HTTPError(status_code=response.status_code, reason=response.reason) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg/package.py new/yarg-0.1.10/yarg/package.py --- old/yarg-0.1.9/yarg/package.py 2014-08-10 23:17:24.000000000 +0200 +++ new/yarg-0.1.10/yarg/package.py 2021-10-12 19:42:07.000000000 +0200 @@ -52,7 +52,7 @@ """ >>> package = yarg.get('yarg') >>> package.name - u'yarg' + 'yarg' """ return self._package['name'] @@ -61,7 +61,7 @@ """ >>> package = yarg.get('yarg') >>> package.url - u'https://pypi.python.org/pypi/yarg' + 'https://pypi.python.org/pypi/yarg' """ return self._package['package_url'] @@ -70,7 +70,7 @@ """ >>> package = yarg.get('yarg') >>> package.summary - u'Some random summary stuff' + 'Some random summary stuff' """ return self._package['summary'] @@ -79,7 +79,7 @@ """ >>> package = yarg.get('yarg') >>> package.description - u'A super long description, usually uploaded from the README' + 'A super long description, usually uploaded from the README' """ return self._package['description'] @@ -88,7 +88,7 @@ """ >>> package = yarg.get('yarg') >>> package.homepage - u'https://kura.io/yarg/' + 'https://kura.io/yarg/' """ if ('home_page' not in self._package or self._package['home_page'] == ""): @@ -100,7 +100,7 @@ """ >>> package = yarg.get('yarg') >>> package.bugtracker - u'https://github.com/kura/yarg/issues' + 'https://github.com/kura/yarg/issues' """ if ('bugtrack_url' not in self._package or self._package['bugtrack_url'] == ""): @@ -112,7 +112,7 @@ """ >>> package = yarg.get('yarg') >>> package.docs - u'https://yarg.readthedocs.org/en/latest' + 'https://yarg.readthedocs.org/en/latest' """ if ('docs_url' not in self._package or self._package['docs_url'] == ""): @@ -124,7 +124,7 @@ """ >>> package = yarg.get('yarg') >>> package.author - Author(name=u'Kura', email=u'[email protected]') + Author(name='Kura', email='[email protected]') """ author = namedtuple('Author', 'name email') return author(name=self._package['author'], @@ -135,7 +135,7 @@ """ >>> package = yarg.get('yarg') >>> package.maintainer - Maintainer(name=u'Kura', email=u'[email protected]') + Maintainer(name='Kura', email='[email protected]') """ maintainer = namedtuple('Maintainer', 'name email') return maintainer(name=self._package['maintainer'], @@ -146,7 +146,7 @@ """ >>> package = yarg.get('yarg') >>> package.license - u'MIT' + 'MIT' """ return self._package['license'] @@ -155,7 +155,7 @@ """ >>> package = yarg.get('yarg') >>> package.license_from_classifiers - u'MIT License' + 'MIT License' """ if len(self.classifiers) > 0: for c in self.classifiers: @@ -180,9 +180,9 @@ """ >>> package = yarg.get('yarg') >>> package.classifiers - [u'License :: OSI Approved :: MIT License', - u'Programming Language :: Python :: 2.7', - u'Programming Language :: Python :: 3.4'] + ['License :: OSI Approved :: MIT License', + 'Programming Language :: Python :: 2.7', + 'Programming Language :: Python :: 3.4'] """ return self._package['classifiers'] @@ -194,7 +194,7 @@ >>> package = yarg.get('yarg') >>> package.python_versions - [u'2.6', u'2.7', u'3.3', u'3.4'] + ['2.6', '2.7', '3.3', '3.4'] """ version_re = re.compile(r"""Programming Language \:\: """ """Python \:\: \d\.\d""") @@ -209,7 +209,7 @@ >>> package = yarg.get('yarg') >>> package.python_implementations - [u'CPython', u'PyPy'] + ['CPython', 'PyPy'] """ return [c.split(' :: ')[-1] for c in self.classifiers if c.startswith("""Programming Language :: """ @@ -220,7 +220,7 @@ """ >>> package = yarg.get('yarg') >>> package.latest_release_id - u'0.1.0' + '0.1.0' """ return self._package['version'] @@ -290,7 +290,7 @@ """ >>> package = yarg.get('yarg') >>> package.release_ids - [u'0.0.1', u'0.0.5', u'0.1.0'] + ['0.0.1', '0.0.5', '0.1.0'] """ r = [(k, self._releases[k][0]['upload_time']) for k in self._releases.keys() diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg/parse.py new/yarg-0.1.10/yarg/parse.py --- old/yarg-0.1.9/yarg/parse.py 2014-08-11 23:58:23.000000000 +0200 +++ new/yarg-0.1.10/yarg/parse.py 2021-10-12 19:42:07.000000000 +0200 @@ -113,10 +113,10 @@ """ >>> package = yarg.newest_packages()[0] >>> package.name - u'yarg' + 'yarg' >>> package = yarg.latest_updated_packages()[0] >>> package.name - u'yarg' + 'yarg' """ return self._content['name'] @@ -125,10 +125,10 @@ """ >>> package = yarg.newest_packages()[0] >>> package.name - u'yarg' + 'yarg' >>> package = yarg.latest_updated_packages()[0] >>> package.name - u'yarg' + 'yarg' """ if 'version' not in self._content: return None @@ -142,7 +142,7 @@ >>> package = yarg.latest_updated_packages()[0] >>> package.url - u'http://pypi.python.org/pypi/yarg' + 'http://pypi.python.org/pypi/yarg' """ return self._content['url'] @@ -164,9 +164,9 @@ """ >>> package = yarg.newest_packages()[0] >>> package.description - u'Some random summary stuff' + 'Some random summary stuff' >>> package = yarg.latest_updated_packages()[0] >>> package.description - u'Some random summary stuff' + 'Some random summary stuff' """ return self._content['description'] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg/release.py new/yarg-0.1.10/yarg/release.py --- old/yarg-0.1.9/yarg/release.py 2014-08-09 13:43:30.000000000 +0200 +++ new/yarg-0.1.10/yarg/release.py 2021-10-12 19:42:07.000000000 +0200 @@ -48,7 +48,7 @@ >>> v = "0.1.0" >>> r = package.release(v) >>> r[0].release_id - u'0.1.0' + '0.1.0' """ return self._release['release_id'] @@ -71,7 +71,7 @@ >>> v = "0.1.0" >>> r = package.release(v) >>> r.python_version - u'2.7' + '2.7' """ return self._release['python_version'] @@ -82,7 +82,7 @@ >>> v = "0.1.0" >>> r = package.release(v) >>> r.url - u'https://pypi.python.org/packages/2.7/y/yarg/yarg...' + 'https://pypi.python.org/packages/2.7/y/yarg/yarg...' """ return self._release['url'] @@ -93,7 +93,7 @@ >>> v = "0.1.0" >>> r = package.release(v) >>> r.md5_digest - u'bec88e1c1765ca6177360e8f37b44c5c' + 'bec88e1c1765ca6177360e8f37b44c5c' """ return self._release['md5_digest'] @@ -104,7 +104,7 @@ >>> v = "0.1.0" >>> r = package.release(v) >>> r.filename - u'yarg-0.1.0-py27-none-any.whl' + 'yarg-0.1.0-py27-none-any.whl' """ return self._release['filename'] @@ -126,10 +126,10 @@ >>> v = "0.1.0" >>> r = package.release(v) >>> r.package_type - u'wheel' + 'wheel' """ - mapping = {'bdist_egg': u'egg', 'bdist_wheel': u'wheel', - 'sdist': u'source'} + mapping = {'bdist_egg': 'egg', 'bdist_wheel': 'wheel', + 'sdist': 'source'} ptype = self._release['packagetype'] if ptype in mapping.keys(): return mapping[ptype] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg.egg-info/PKG-INFO new/yarg-0.1.10/yarg.egg-info/PKG-INFO --- old/yarg-0.1.9/yarg.egg-info/PKG-INFO 2014-08-12 00:01:35.000000000 +0200 +++ new/yarg-0.1.10/yarg.egg-info/PKG-INFO 2024-08-09 23:40:53.000000000 +0200 @@ -1,149 +1,13 @@ -Metadata-Version: 1.1 +Metadata-Version: 2.1 Name: yarg -Version: 0.1.9 +Version: 0.1.10 Summary: A semi hard Cornish cheese, also queries PyPI (PyPI client) Home-page: https://yarg.readthedocs.org/ Author: Kura Author-email: [email protected] +Maintainer: Kura +Maintainer-email: [email protected] License: MIT -Description: yarg(1) -- A semi hard Cornish cheese, also queries PyPI - ======================================================== - - .. image:: https://img.shields.io/travis/kura/yarg.svg?style=flat - - .. image:: https://img.shields.io/coveralls/kura/yarg.svg?style=flat - - .. image:: https://pypip.in/version/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/download/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/py_versions/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/implementation/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/status/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/wheel/yarg/badge.svg?style=flat - - .. image:: https://pypip.in/license/yarg/badge.svg?style=flat - - Yarg is a PyPI client. - - .. code-block:: python - - >>> import yarg - >>> package = yarg.get("yarg") - >>> package.name - u'yarg' - >>> package.author - Author(name=u'Kura', email=u'[email protected]') - - Full documentation is at <https://yarg.readthedocs.org>. - - Yarg is released under the `MIT license - <https://github.com/kura/yarg/blob/master/LICENSE>`_. The `source code is on - GitHub <https://github.com/kura/yarg>`_ and `issues are also tracked on - GitHub <https://github.com/kura/yarg/issues>`_. - - - Release History - =============== - - 0.1.8 (2014-08-10) - ------------------ - - Splatting bugs - ~~~~~~~~~~~~~~ - - - Integration issue with Python 3, requests, yarg and JSON. Attempt to decode - requests response if decode attribute exists. - - 0.1.6 & 0.1.7 (2014-08-10) - -------------------------- - - Splatting bugs - ~~~~~~~~~~~~~~ - - - Bug in setup.py causing installs to fail for sdist (source) releases. - - 0.1.5 (2014-08-10) - ------------------ - - API changes - ~~~~~~~~~~~ - - - Changed sort order of `yarg.package.Package.release_ids` to sort - based on the upload time of the release ID. - - Splatting bugs - ~~~~~~~~~~~~~~ - - - `yarg.package.Package.latest_release_id` will now return the latest - release ID from the PyPI info source, rather than the final list item in - `yarg.package.Package.release_ids`. - - Addtionally `yarg.package.Package.latest_release` will do the same as - it gets the latest release information from - `yarg.package.Package.latest_release_id`. - - 0.1.4 (2014-08-09) - ------------------ - - API changes - ~~~~~~~~~~~ - - - New method `yarg.newest_packages` for querying new packages - from the PyPI RSS feed. - - New method `yarg.latest_updated_packages` for querying - the latest updated packages from the PyPI RSS feed. - - Other - ~~~~~ - - - Additional test coverage - - Additional documentation coverage - - 0.1.2 (2014-08-08) - ------------------ - - Bug fixes - ~~~~~~~~~ - - - `yarg.get` will now raise an Exception for errors **including** - 300 and above. Previously only raised for above 300. - - Fix an issue on Python 3.X and PyPy3 where - `yarg.exceptions.HTTPError` was using a method that was - removed in Python 3. - - Added dictionary key lookups for `home_page`, `bugtrack_url` - and `docs_url`. Caused `KeyError` exceptions if they were not - returned by PyPI. - - Other - ~~~~~ - - - More test coverage. - - 0.1.1 (2014-08-08) - ------------------ - - API changes - ~~~~~~~~~~~ - - - New `yarg.package.Package` property `has_wheel`. - - New `yarg.package.Package` property `has_egg`. - - New `yarg.package.Package` property `has_source`. - - New `yarg.package.Package` property `python_versions`. - - New `yarg.package.Package` property `python_implementations`. - - Added `yarg.exceptions.HTTPError` to `yarg.__init__` - for easier access. - - Added `yarg.json2package` to `yarg.__init__` to expose it for - use. - - 0.1.0 (2014-08-08) - ------------------ - - - Initial release - Keywords: pypi,client,packages Platform: linux Classifier: Development Status :: 4 - Beta @@ -151,14 +15,153 @@ Classifier: Natural Language :: English Classifier: License :: OSI Approved :: MIT License 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.3 -Classifier: Programming Language :: Python :: 3.4 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Software Development :: Libraries :: Python Modules Classifier: Topic :: System :: Archiving :: Packaging Requires: requests Provides: yarg +License-File: LICENSE +License-File: LICENSE-REQUESTS + +yarg(1) -- A semi hard Cornish cheese, also queries PyPI +======================================================== + +.. image:: https://img.shields.io/travis/kura/yarg.svg?style=flat + +.. image:: https://img.shields.io/coveralls/kura/yarg.svg?style=flat + +Yarg is a PyPI client. + +.. code-block:: python + + >>> import yarg + >>> package = yarg.get("yarg") + >>> package.name + u'yarg' + >>> package.author + Author(name=u'Kura', email=u'[email protected]') + +Full documentation is at <https://yarg.readthedocs.org>. + +Yarg is released under the `MIT license +<https://github.com/kura/yarg/blob/master/LICENSE>`_. The `source code is on +GitHub <https://github.com/kura/yarg>`_ and `issues are also tracked on +GitHub <https://github.com/kura/yarg/issues>`_. + + +Release History +=============== + +0.1.10 (2024-08-09) +- Python 3.12 support + +0.1.9 (2014-08-11) +------------------ + +Splatting bugs +~~~~~~~~~~~~~~ + +- Added `decode` call on the response object for Python 3 in + `yarg.newest_packages` and `yarg.latest_updated_packages`. + +0.1.8 (2014-08-10) +------------------ + +Splatting bugs +~~~~~~~~~~~~~~ + +- Integration issue with Python 3, requests, yarg and JSON. Attempt to decode + requests response if decode attribute exists. + +0.1.6 & 0.1.7 (2014-08-10) +-------------------------- + +Splatting bugs +~~~~~~~~~~~~~~ + +- Bug in setup.py causing installs to fail for sdist (source) releases. + +0.1.5 (2014-08-10) +------------------ + +API changes +~~~~~~~~~~~ + +- Changed sort order of `yarg.package.Package.release_ids` to sort + based on the upload time of the release ID. + +Splatting bugs +~~~~~~~~~~~~~~ + +- `yarg.package.Package.latest_release_id` will now return the latest + release ID from the PyPI info source, rather than the final list item in + `yarg.package.Package.release_ids`. + + Addtionally `yarg.package.Package.latest_release` will do the same as + it gets the latest release information from + `yarg.package.Package.latest_release_id`. + +0.1.4 (2014-08-09) +------------------ + +API changes +~~~~~~~~~~~ + +- New method `yarg.newest_packages` for querying new packages + from the PyPI RSS feed. +- New method `yarg.latest_updated_packages` for querying + the latest updated packages from the PyPI RSS feed. + +Other +~~~~~ + +- Additional test coverage +- Additional documentation coverage + +0.1.2 (2014-08-08) +------------------ + +Bug fixes +~~~~~~~~~ + +- `yarg.get` will now raise an Exception for errors **including** + 300 and above. Previously only raised for above 300. +- Fix an issue on Python 3.X and PyPy3 where + `yarg.exceptions.HTTPError` was using a method that was + removed in Python 3. +- Added dictionary key lookups for `home_page`, `bugtrack_url` + and `docs_url`. Caused `KeyError` exceptions if they were not + returned by PyPI. + +Other +~~~~~ + +- More test coverage. + +0.1.1 (2014-08-08) +------------------ + +API changes +~~~~~~~~~~~ + +- New `yarg.package.Package` property `has_wheel`. +- New `yarg.package.Package` property `has_egg`. +- New `yarg.package.Package` property `has_source`. +- New `yarg.package.Package` property `python_versions`. +- New `yarg.package.Package` property `python_implementations`. +- Added `yarg.exceptions.HTTPError` to `yarg.__init__` + for easier access. +- Added `yarg.json2package` to `yarg.__init__` to expose it for + use. + +0.1.0 (2014-08-08) +------------------ + +- Initial release diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg.egg-info/requires.txt new/yarg-0.1.10/yarg.egg-info/requires.txt --- old/yarg-0.1.9/yarg.egg-info/requires.txt 2014-08-12 00:01:35.000000000 +0200 +++ new/yarg-0.1.10/yarg.egg-info/requires.txt 2024-08-09 23:40:53.000000000 +0200 @@ -1 +1 @@ -requests \ No newline at end of file +requests diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/yarg-0.1.9/yarg.egg-info/top_level.txt new/yarg-0.1.10/yarg.egg-info/top_level.txt --- old/yarg-0.1.9/yarg.egg-info/top_level.txt 2014-08-12 00:01:35.000000000 +0200 +++ new/yarg-0.1.10/yarg.egg-info/top_level.txt 2024-08-09 23:40:53.000000000 +0200 @@ -1,2 +1 @@ -tests yarg
