Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-apiron for openSUSE:Factory 
checked in at 2022-12-20 20:21:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-apiron (Old)
 and      /work/SRC/openSUSE:Factory/.python-apiron.new.1835 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-apiron"

Tue Dec 20 20:21:08 2022 rev:5 rq:1043910 version:7.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-apiron/python-apiron.changes      
2022-01-03 10:50:45.543611227 +0100
+++ /work/SRC/openSUSE:Factory/.python-apiron.new.1835/python-apiron.changes    
2022-12-20 20:21:50.530323821 +0100
@@ -1,0 +2,9 @@
+Mon Dec 19 21:25:05 UTC 2022 - Axel Braun <axel.br...@gmx.de>
+
+- version 7.0.0
+  * Fixed: Ensure py.typed files end up in binary wheel distribution, which 
may break type checking for consumers
+  * Added:
+    Run tests against Python 3.11
+    Stop ignoring imports during type checking
+
+-------------------------------------------------------------------

Old:
----
  apiron-6.1.0.tar.gz

New:
----
  apiron-7.0.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-apiron.spec ++++++
--- /var/tmp/diff_new_pack.FNvyJZ/_old  2022-12-20 20:21:51.014326473 +0100
+++ /var/tmp/diff_new_pack.FNvyJZ/_new  2022-12-20 20:21:51.018326495 +0100
@@ -22,18 +22,18 @@
 %define skip_python36 1
 %define modname apiron
 Name:           python-%{modname}
-Version:        6.1.0
+Version:        7.0.0
 Release:        0
 Summary:        Apiron helps you cook a tasty client for RESTful APIs
 License:        MIT
 URL:            https://github.com/ithaka/apiron
 Source:         
https://files.pythonhosted.org/packages/source/a/apiron/%{modname}-%{version}.tar.gz
-BuildRequires:  python-rpm-macros
 BuildRequires:  %{python_module pytest-cov}
 BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module requests >= 2.11.1}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  fdupes
+BuildRequires:  python-rpm-macros
 Requires:       python-requests >= 2.11.1
 BuildArch:      noarch
 %python_subpackages

++++++ apiron-6.1.0.tar.gz -> apiron-7.0.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/LICENSE new/apiron-7.0.0/LICENSE
--- old/apiron-6.1.0/LICENSE    2021-12-22 18:00:44.000000000 +0100
+++ new/apiron-7.0.0/LICENSE    2022-12-08 00:32:05.000000000 +0100
@@ -1,4 +1,4 @@
-Copyright 2018-2021 Ithaka Harbors, Inc.
+Copyright 2018-2022 Ithaka Harbors, Inc.
 
 Permission is hereby granted, free of charge, to any person obtaining a copy 
of this software and associated documentation files (the "Software"),
 to deal in the Software without restriction,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/PKG-INFO new/apiron-7.0.0/PKG-INFO
--- old/apiron-6.1.0/PKG-INFO   2021-12-22 18:00:57.761685100 +0100
+++ new/apiron-7.0.0/PKG-INFO   2022-12-08 00:32:14.067115500 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: apiron
-Version: 6.1.0
+Version: 7.0.0
 Summary: apiron helps you cook a tasty client for RESTful APIs. Just don't 
wash it with SOAP.
 Home-page: https://github.com/ithaka/apiron
 Author: Ithaka Harbors, Inc.
@@ -9,7 +9,6 @@
 Project-URL: Documentation, https://apiron.readthedocs.io
 Project-URL: Source, https://github.com/ithaka/apiron
 Project-URL: Tracker, https://github.com/ithaka/apiron/issues
-Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
 Classifier: Topic :: Internet :: WWW/HTTP
@@ -19,6 +18,7 @@
 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
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: License :: OSI Approved :: MIT License
@@ -91,6 +91,4 @@
 This package is available under the MIT license.
 For more information, [view the full license and copyright notice](./LICENSE).
 
-Copyright 2018-2021 Ithaka Harbors, Inc.
-
-
+Copyright 2018-2022 Ithaka Harbors, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/README.md new/apiron-7.0.0/README.md
--- old/apiron-6.1.0/README.md  2021-12-22 18:00:44.000000000 +0100
+++ new/apiron-7.0.0/README.md  2022-12-08 00:32:05.000000000 +0100
@@ -63,4 +63,4 @@
 This package is available under the MIT license.
 For more information, [view the full license and copyright notice](./LICENSE).
 
-Copyright 2018-2021 Ithaka Harbors, Inc.
+Copyright 2018-2022 Ithaka Harbors, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/pyproject.toml 
new/apiron-7.0.0/pyproject.toml
--- old/apiron-6.1.0/pyproject.toml     2021-12-22 18:00:44.000000000 +0100
+++ new/apiron-7.0.0/pyproject.toml     2022-12-08 00:32:05.000000000 +0100
@@ -4,4 +4,4 @@
 
 [tool.black]
 line-length = 120
-target-version = ['py37', 'py38']
+target-version = ['py37', 'py38', 'py39', 'py310', 'py311']
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/setup.cfg new/apiron-7.0.0/setup.cfg
--- old/apiron-6.1.0/setup.cfg  2021-12-22 18:00:57.761685100 +0100
+++ new/apiron-7.0.0/setup.cfg  2022-12-08 00:32:14.067115500 +0100
@@ -1,12 +1,12 @@
 [metadata]
 name = apiron
-version = 6.1.0
+version = 7.0.0
 description = apiron helps you cook a tasty client for RESTful APIs. Just 
don't wash it with SOAP.
 author = Ithaka Harbors, Inc.
 author_email = opensou...@ithaka.org
 url = https://github.com/ithaka/apiron
 license = MIT
-license_file = LICENSE
+license_files = LICENSE
 long_description = file: README.md
 long_description_content_type = text/markdown
 project_urls = 
@@ -23,6 +23,7 @@
        Programming Language :: Python :: 3.8
        Programming Language :: Python :: 3.9
        Programming Language :: Python :: 3.10
+       Programming Language :: Python :: 3.11
        Programming Language :: Python :: 3
        Programming Language :: Python :: 3 :: Only
        License :: OSI Approved :: MIT License
@@ -30,8 +31,10 @@
 [options]
 package_dir = =src
 packages = find:
+include_package_data = True
 install_requires = 
        requests>=2.11.1,<3
+       urllib3>=1.26.13,<2
 
 [options.packages.find]
 where = src
@@ -45,6 +48,14 @@
        sphinx-autodoc-typehints>=1.12.0,<2
        sphinx-autobuild>=2021.3.14
 
+[mypy]
+python_version = 3.7
+warn_unused_configs = True
+show_error_context = True
+pretty = True
+namespace_packages = True
+check_untyped_defs = True
+
 [coverage:run]
 branch = True
 source = apiron
@@ -57,13 +68,18 @@
 show_missing = True
 skip_covered = True
 
+[coverage:paths]
+source = 
+       src
+       .tox/*/site-packages
+
 [tool:pytest]
 testpaths = tests
 addopts = -ra --strict-markers --cov
 xfail_strict = True
 
 [tox:tox]
-envlist = py37,py38,py39,py310
+envlist = py37,py38,py39,py310,py311
 isolated_build = True
 
 [testenv]
@@ -91,10 +107,14 @@
 
 [testenv:typecheck]
 deps = 
+       {[testenv]deps}
        mypy
+       typing_extensions
        types-requests
 commands = 
-       mypy --ignore-missing-imports {posargs:src tests}
+       mypy {posargs:src tests}
+passenv = 
+       TERM
 
 [egg_info]
 tag_build = 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/src/apiron/client.py 
new/apiron-7.0.0/src/apiron/client.py
--- old/apiron-6.1.0/src/apiron/client.py       2021-12-22 18:00:44.000000000 
+0100
+++ new/apiron-7.0.0/src/apiron/client.py       2022-12-08 00:32:05.000000000 
+0100
@@ -7,7 +7,7 @@
 
 import requests
 from requests import adapters
-from requests.packages.urllib3.util import retry
+from urllib3.util import retry
 
 if TYPE_CHECKING:
     import apiron  # pragma: no cover
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/src/apiron/endpoint/endpoint.py 
new/apiron-7.0.0/src/apiron/endpoint/endpoint.py
--- old/apiron-6.1.0/src/apiron/endpoint/endpoint.py    2021-12-22 
18:00:44.000000000 +0100
+++ new/apiron-7.0.0/src/apiron/endpoint/endpoint.py    2022-12-08 
00:32:05.000000000 +0100
@@ -1,8 +1,22 @@
+from __future__ import annotations
+
 import logging
 import string
+import sys
 import warnings
 from functools import partial, update_wrapper
-from typing import Any, Dict, Iterable, List, Union
+from typing import Optional, Any, Callable, Dict, Iterable, List, TypeVar, 
Union, TYPE_CHECKING
+
+if TYPE_CHECKING:
+    if sys.version_info >= (3, 10):
+        from typing import Concatenate, ParamSpec
+    else:
+        from typing_extensions import Concatenate, ParamSpec
+
+    from apiron.service import Service
+
+    P = ParamSpec("P")
+    R = TypeVar("R")
 
 import requests
 
@@ -13,13 +27,21 @@
 LOGGER = logging.getLogger(__name__)
 
 
+def _create_caller(
+    call_fn: Callable["Concatenate[Service, Endpoint, P]", "R"],
+    instance: Any,
+    owner: Any,
+) -> Callable["P", "R"]:
+    return partial(call_fn, instance, owner)
+
+
 class Endpoint:
     """
     A basic service endpoint that responds with the default ``Content-Type`` 
for that endpoint
     """
 
     def __get__(self, instance, owner):
-        caller = partial(client.call, owner, self)
+        caller = _create_caller(client.call, owner, self)
         update_wrapper(caller, client.call)
         return caller
 
@@ -30,8 +52,8 @@
         self,
         path: str = "/",
         default_method: str = "GET",
-        default_params: Dict[str, Any] = None,
-        required_params: Iterable[str] = None,
+        default_params: Optional[Dict[str, Any]] = None,
+        required_params: Optional[Iterable[str]] = None,
         return_raw_response_object: bool = False,
     ):
         """
@@ -149,7 +171,7 @@
         self._check_for_empty_params(params)
         self._check_for_unfulfilled_params(params)
 
-    def get_merged_params(self, supplied_params: Dict[str, Any] = None) -> 
Dict[str, Any]:
+    def get_merged_params(self, supplied_params: Optional[Dict[str, Any]] = 
None) -> Dict[str, Any]:
         """
         Merge this endpoint's default parameters with the supplied parameters
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/src/apiron/endpoint/stub.py 
new/apiron-7.0.0/src/apiron/endpoint/stub.py
--- old/apiron-6.1.0/src/apiron/endpoint/stub.py        2021-12-22 
18:00:44.000000000 +0100
+++ new/apiron-7.0.0/src/apiron/endpoint/stub.py        2022-12-08 
00:32:05.000000000 +0100
@@ -1,4 +1,4 @@
-from typing import Any
+from typing import Optional, Any
 
 from apiron.endpoint import Endpoint
 
@@ -14,7 +14,7 @@
     def __get__(self, instance, owner):
         return self.stub_response
 
-    def __init__(self, stub_response: Any = None, **kwargs):
+    def __init__(self, stub_response: Optional[Any] = None, **kwargs):
         """
         :param stub_response:
             A pre-baked response or response-determining function.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/src/apiron.egg-info/PKG-INFO 
new/apiron-7.0.0/src/apiron.egg-info/PKG-INFO
--- old/apiron-6.1.0/src/apiron.egg-info/PKG-INFO       2021-12-22 
18:00:57.000000000 +0100
+++ new/apiron-7.0.0/src/apiron.egg-info/PKG-INFO       2022-12-08 
00:32:14.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: apiron
-Version: 6.1.0
+Version: 7.0.0
 Summary: apiron helps you cook a tasty client for RESTful APIs. Just don't 
wash it with SOAP.
 Home-page: https://github.com/ithaka/apiron
 Author: Ithaka Harbors, Inc.
@@ -9,7 +9,6 @@
 Project-URL: Documentation, https://apiron.readthedocs.io
 Project-URL: Source, https://github.com/ithaka/apiron
 Project-URL: Tracker, https://github.com/ithaka/apiron/issues
-Platform: UNKNOWN
 Classifier: Development Status :: 5 - Production/Stable
 Classifier: Intended Audience :: Developers
 Classifier: Topic :: Internet :: WWW/HTTP
@@ -19,6 +18,7 @@
 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
 Classifier: Programming Language :: Python :: 3 :: Only
 Classifier: License :: OSI Approved :: MIT License
@@ -91,6 +91,4 @@
 This package is available under the MIT license.
 For more information, [view the full license and copyright notice](./LICENSE).
 
-Copyright 2018-2021 Ithaka Harbors, Inc.
-
-
+Copyright 2018-2022 Ithaka Harbors, Inc.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/src/apiron.egg-info/requires.txt 
new/apiron-7.0.0/src/apiron.egg-info/requires.txt
--- old/apiron-6.1.0/src/apiron.egg-info/requires.txt   2021-12-22 
18:00:57.000000000 +0100
+++ new/apiron-7.0.0/src/apiron.egg-info/requires.txt   2022-12-08 
00:32:14.000000000 +0100
@@ -1,4 +1,5 @@
 requests<3,>=2.11.1
+urllib3<2,>=1.26.13
 
 [docs]
 importlib-metadata<5,>=4.5.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/apiron-6.1.0/tests/test_client.py 
new/apiron-7.0.0/tests/test_client.py
--- old/apiron-6.1.0/tests/test_client.py       2021-12-22 18:00:44.000000000 
+0100
+++ new/apiron-7.0.0/tests/test_client.py       2022-12-08 00:32:05.000000000 
+0100
@@ -1,4 +1,3 @@
-import io
 from unittest import mock
 
 import pytest
@@ -62,8 +61,8 @@
 
     params = {"baz": "qux"}
     mock_endpoint.get_merged_params.return_value = params
-    data = "I am a data"
-    files = {"file_name": io.BytesIO(b"this is a test")}
+    data = {"data": "I am a data"}
+    files = {"file_name": "this is a test"}
     json = {"raw": "data"}
     headers = {"Accept": "stuff"}
     cookies = {"chocolate-chip": "yes"}
@@ -240,7 +239,7 @@
     service.get_hosts.return_value = []
 
     with pytest.raises(NoHostsAvailableException):
-        client._build_request_object(None, service, None)
+        client._build_request_object(mock.Mock(), service, mock.Mock())
 
 
 def test_choose_host_returns_one_of_the_available_hosts():

Reply via email to