Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-httpcore for openSUSE:Factory 
checked in at 2024-04-03 17:18:27
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-httpcore (Old)
 and      /work/SRC/openSUSE:Factory/.python-httpcore.new.1905 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-httpcore"

Wed Apr  3 17:18:27 2024 rev:15 rq:1164272 version:1.0.5

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-httpcore/python-httpcore.changes  
2024-03-25 21:08:09.645100525 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-httpcore.new.1905/python-httpcore.changes    
    2024-04-03 17:18:44.689801730 +0200
@@ -1,0 +2,7 @@
+Wed Apr  3 07:04:47 UTC 2024 - Dirk Müller <dmuel...@suse.com>
+
+- update to 1.0.5:
+  * Handle `EndOfStream` exception for anyio backend.
+  * Allow trio `0.25.*` series in package dependancies.
+
+-------------------------------------------------------------------

Old:
----
  httpcore-1.0.4.tar.gz

New:
----
  httpcore-1.0.5.tar.gz

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

Other differences:
------------------
++++++ python-httpcore.spec ++++++
--- /var/tmp/diff_new_pack.uBxmW6/_old  2024-04-03 17:18:45.309824575 +0200
+++ /var/tmp/diff_new_pack.uBxmW6/_new  2024-04-03 17:18:45.309824575 +0200
@@ -27,7 +27,7 @@
 
 %{?sle15_python_module_pythons}
 Name:           python-httpcore%{psuffix}
-Version:        1.0.4
+Version:        1.0.5
 Release:        0
 Summary:        Minimal low-level Python HTTP client
 License:        BSD-3-Clause

++++++ httpcore-1.0.4.tar.gz -> httpcore-1.0.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/CHANGELOG.md 
new/httpcore-1.0.5/CHANGELOG.md
--- old/httpcore-1.0.4/CHANGELOG.md     2024-02-21 14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/CHANGELOG.md     2024-03-27 19:27:03.000000000 +0100
@@ -4,6 +4,11 @@
 
 The format is based on [Keep a 
Changelog](https://keepachangelog.com/en/1.0.0/).
 
+## 1.0.5 (March 27th, 2024)
+
+- Handle `EndOfStream` exception for anyio backend. (#899)
+- Allow trio `0.25.*` series in package dependancies. (#903)
+
 ## 1.0.4 (February 21st, 2024)
 
 - Add `target` request extension. (#888)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/httpcore/__init__.py 
new/httpcore-1.0.5/httpcore/__init__.py
--- old/httpcore-1.0.4/httpcore/__init__.py     2024-02-21 14:00:25.000000000 
+0100
+++ new/httpcore-1.0.5/httpcore/__init__.py     2024-03-27 19:27:03.000000000 
+0100
@@ -130,7 +130,7 @@
     "WriteError",
 ]
 
-__version__ = "1.0.4"
+__version__ = "1.0.5"
 
 
 __locals = locals()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/httpcore/_async/http2.py 
new/httpcore-1.0.5/httpcore/_async/http2.py
--- old/httpcore-1.0.4/httpcore/_async/http2.py 2024-02-21 14:00:25.000000000 
+0100
+++ new/httpcore-1.0.5/httpcore/_async/http2.py 2024-03-27 19:27:03.000000000 
+0100
@@ -75,9 +75,9 @@
 
         # Connection terminated events are stored as state since
         # we need to handle them for all streams.
-        self._connection_terminated: typing.Optional[
-            h2.events.ConnectionTerminated
-        ] = None
+        self._connection_terminated: 
typing.Optional[h2.events.ConnectionTerminated] = (
+            None
+        )
 
         self._read_exception: typing.Optional[Exception] = None
         self._write_exception: typing.Optional[Exception] = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/httpcore/_backends/anyio.py 
new/httpcore-1.0.5/httpcore/_backends/anyio.py
--- old/httpcore-1.0.4/httpcore/_backends/anyio.py      2024-02-21 
14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/httpcore/_backends/anyio.py      2024-03-27 
19:27:03.000000000 +0100
@@ -27,6 +27,7 @@
             TimeoutError: ReadTimeout,
             anyio.BrokenResourceError: ReadError,
             anyio.ClosedResourceError: ReadError,
+            anyio.EndOfStream: ReadError,
         }
         with map_exceptions(exc_map):
             with anyio.fail_after(timeout):
@@ -62,6 +63,7 @@
         exc_map = {
             TimeoutError: ConnectTimeout,
             anyio.BrokenResourceError: ConnectError,
+            anyio.EndOfStream: ConnectError,
         }
         with map_exceptions(exc_map):
             try:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/httpcore/_models.py 
new/httpcore-1.0.5/httpcore/_models.py
--- old/httpcore-1.0.4/httpcore/_models.py      2024-02-21 14:00:25.000000000 
+0100
+++ new/httpcore-1.0.5/httpcore/_models.py      2024-03-27 19:27:03.000000000 
+0100
@@ -339,7 +339,7 @@
             url: The request URL, either as a `URL` instance, or as a string 
or bytes.
                 For example: `"https://www.example.com".`
             headers: The HTTP request headers.
-            content: The content of the response body.
+            content: The content of the request body.
             extensions: A dictionary of optional extra information included on
                 the request. Possible keys include `"timeout"`, and `"trace"`.
         """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/httpcore/_sync/http2.py 
new/httpcore-1.0.5/httpcore/_sync/http2.py
--- old/httpcore-1.0.4/httpcore/_sync/http2.py  2024-02-21 14:00:25.000000000 
+0100
+++ new/httpcore-1.0.5/httpcore/_sync/http2.py  2024-03-27 19:27:03.000000000 
+0100
@@ -75,9 +75,9 @@
 
         # Connection terminated events are stored as state since
         # we need to handle them for all streams.
-        self._connection_terminated: typing.Optional[
-            h2.events.ConnectionTerminated
-        ] = None
+        self._connection_terminated: 
typing.Optional[h2.events.ConnectionTerminated] = (
+            None
+        )
 
         self._read_exception: typing.Optional[Exception] = None
         self._write_exception: typing.Optional[Exception] = None
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/pyproject.toml 
new/httpcore-1.0.5/pyproject.toml
--- old/httpcore-1.0.4/pyproject.toml   2024-02-21 14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/pyproject.toml   2024-03-27 19:27:03.000000000 +0100
@@ -41,7 +41,7 @@
     "socksio==1.*",
 ]
 trio = [
-    "trio>=0.22.0,<0.25.0",
+    "trio>=0.22.0,<0.26.0",
 ]
 asyncio = [
     "anyio>=4.0,<5.0",
@@ -106,16 +106,12 @@
     "httpcore/_sync",
     "tests/_sync",
 ]
-line-length = 88
-select = [
-    "E",
-    "F",
-    "W",
-    "I"
-]
 
-[tool.ruff.pycodestyle]
+[tool.ruff.lint]
+select = ["E", "F", "W", "I"]
+
+[tool.ruff.lint.pycodestyle]
 max-line-length = 120
 
-[tool.ruff.isort]
+[tool.ruff.lint.isort]
 combine-as-imports = true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/requirements.txt 
new/httpcore-1.0.5/requirements.txt
--- old/httpcore-1.0.4/requirements.txt 2024-02-21 14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/requirements.txt 2024-03-27 19:27:03.000000000 +0100
@@ -2,23 +2,23 @@
 
 # Docs
 mkdocs==1.5.3
-mkdocs-autorefs==0.5.0
-mkdocs-material==9.5.10
+mkdocs-autorefs==1.0.1
+mkdocs-material==9.5.12
 mkdocs-material-extensions==1.3.1
-mkdocstrings[python-legacy]==0.24.0
+mkdocstrings[python-legacy]==0.24.1
 jinja2==3.1.3
 
 # Packaging
-build==1.0.3
+build==1.1.1
 twine
 
 # Tests & Linting
-coverage[toml]==7.4.1
-ruff==0.2.2
+coverage[toml]==7.4.3
+ruff==0.3.0
 mypy==1.8.0
 trio-typing==0.10.0
 types-certifi==2021.10.8.3
-pytest==8.0.1
+pytest==8.0.2
 pytest-httpbin==2.0.0
 pytest-trio==0.8.0
 werkzeug<2.1  # See: https://github.com/postmanlabs/httpbin/issues/673
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/scripts/check 
new/httpcore-1.0.5/scripts/check
--- old/httpcore-1.0.4/scripts/check    2024-02-21 14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/scripts/check    2024-03-27 19:27:03.000000000 +0100
@@ -8,7 +8,7 @@
 
 set -x
 
-${PREFIX}ruff check --show-source $SOURCE_FILES
 ${PREFIX}ruff format $SOURCE_FILES --diff
 ${PREFIX}mypy $SOURCE_FILES
-scripts/unasync --check
+${PREFIX}ruff check $SOURCE_FILES
+${PREFIX}python scripts/unasync.py --check
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/scripts/lint 
new/httpcore-1.0.5/scripts/lint
--- old/httpcore-1.0.4/scripts/lint     2024-02-21 14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/scripts/lint     2024-03-27 19:27:03.000000000 +0100
@@ -13,4 +13,4 @@
 
 # Run unasync last because its `--check` mode is not aware of code formatters.
 # (This means sync code isn't prettified, and that's mostly okay.)
-scripts/unasync
+${PREFIX}python scripts/unasync.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/scripts/unasync 
new/httpcore-1.0.5/scripts/unasync
--- old/httpcore-1.0.4/scripts/unasync  2024-02-21 14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/scripts/unasync  1970-01-01 01:00:00.000000000 +0100
@@ -1,8 +0,0 @@
-#!/bin/sh -e
-
-export PREFIX=""
-if [ -d 'venv' ] ; then
-    export PREFIX="venv/bin/"
-fi
-
-${PREFIX}python unasync.py ${@}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/scripts/unasync.py 
new/httpcore-1.0.5/scripts/unasync.py
--- old/httpcore-1.0.4/scripts/unasync.py       1970-01-01 01:00:00.000000000 
+0100
+++ new/httpcore-1.0.5/scripts/unasync.py       2024-03-27 19:27:03.000000000 
+0100
@@ -0,0 +1,94 @@
+#!venv/bin/python
+import os
+import re
+import sys
+from pprint import pprint
+
+SUBS = [
+    ('from .._backends.auto import AutoBackend', 'from .._backends.sync import 
SyncBackend'),
+    ('import trio as concurrency', 'from tests import concurrency'),
+    ('AsyncIterator', 'Iterator'),
+    ('Async([A-Z][A-Za-z0-9_]*)', r'\2'),
+    ('async def', 'def'),
+    ('async with', 'with'),
+    ('async for', 'for'),
+    ('await ', ''),
+    ('handle_async_request', 'handle_request'),
+    ('aclose', 'close'),
+    ('aiter_stream', 'iter_stream'),
+    ('aread', 'read'),
+    ('asynccontextmanager', 'contextmanager'),
+    ('__aenter__', '__enter__'),
+    ('__aexit__', '__exit__'),
+    ('__aiter__', '__iter__'),
+    ('@pytest.mark.anyio', ''),
+    ('@pytest.mark.trio', ''),
+    ('AutoBackend', 'SyncBackend'),
+]
+COMPILED_SUBS = [
+    (re.compile(r'(^|\b)' + regex + r'($|\b)'), repl)
+    for regex, repl in SUBS
+]
+
+USED_SUBS = set()
+
+def unasync_line(line):
+    for index, (regex, repl) in enumerate(COMPILED_SUBS):
+        old_line = line
+        line = re.sub(regex, repl, line)
+        if old_line != line:
+            USED_SUBS.add(index)
+    return line
+
+
+def unasync_file(in_path, out_path):
+    with open(in_path, "r") as in_file:
+        with open(out_path, "w", newline="") as out_file:
+            for line in in_file.readlines():
+                line = unasync_line(line)
+                out_file.write(line)
+
+
+def unasync_file_check(in_path, out_path):
+    with open(in_path, "r") as in_file:
+        with open(out_path, "r") as out_file:
+            for in_line, out_line in zip(in_file.readlines(), 
out_file.readlines()):
+                expected = unasync_line(in_line)
+                if out_line != expected:
+                    print(f'unasync mismatch between {in_path!r} and 
{out_path!r}')
+                    print(f'Async code:         {in_line!r}')
+                    print(f'Expected sync code: {expected!r}')
+                    print(f'Actual sync code:   {out_line!r}')
+                    sys.exit(1)
+
+
+def unasync_dir(in_dir, out_dir, check_only=False):
+    for dirpath, dirnames, filenames in os.walk(in_dir):
+        for filename in filenames:
+            if not filename.endswith('.py'):
+                continue
+            rel_dir = os.path.relpath(dirpath, in_dir)
+            in_path = os.path.normpath(os.path.join(in_dir, rel_dir, filename))
+            out_path = os.path.normpath(os.path.join(out_dir, rel_dir, 
filename))
+            print(in_path, '->', out_path)
+            if check_only:
+                unasync_file_check(in_path, out_path)
+            else:
+                unasync_file(in_path, out_path)
+
+
+def main():
+    check_only = '--check' in sys.argv
+    unasync_dir("httpcore/_async", "httpcore/_sync", check_only=check_only)
+    unasync_dir("tests/_async", "tests/_sync", check_only=check_only)
+
+    if len(USED_SUBS) != len(SUBS):
+        unused_subs = [SUBS[i] for i in range(len(SUBS)) if i not in USED_SUBS]
+
+        print("These patterns were not used:")
+        pprint(unused_subs)
+        exit(1)   
+        
+
+if __name__ == '__main__':
+    main()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/tests/concurrency.py 
new/httpcore-1.0.5/tests/concurrency.py
--- old/httpcore-1.0.4/tests/concurrency.py     2024-02-21 14:00:25.000000000 
+0100
+++ new/httpcore-1.0.5/tests/concurrency.py     2024-03-27 19:27:03.000000000 
+0100
@@ -8,6 +8,7 @@
 We don't do any smarts around cancellations, or managing exceptions from
 childen, because we don't need that for our use-case.
 """
+
 import threading
 from types import TracebackType
 from typing import Any, Callable, List, Optional, Type
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/httpcore-1.0.4/unasync.py 
new/httpcore-1.0.5/unasync.py
--- old/httpcore-1.0.4/unasync.py       2024-02-21 14:00:25.000000000 +0100
+++ new/httpcore-1.0.5/unasync.py       1970-01-01 01:00:00.000000000 +0100
@@ -1,94 +0,0 @@
-#!venv/bin/python
-import os
-import re
-import sys
-from pprint import pprint
-
-SUBS = [
-    ('from .._backends.auto import AutoBackend', 'from .._backends.sync import 
SyncBackend'),
-    ('import trio as concurrency', 'from tests import concurrency'),
-    ('AsyncIterator', 'Iterator'),
-    ('Async([A-Z][A-Za-z0-9_]*)', r'\2'),
-    ('async def', 'def'),
-    ('async with', 'with'),
-    ('async for', 'for'),
-    ('await ', ''),
-    ('handle_async_request', 'handle_request'),
-    ('aclose', 'close'),
-    ('aiter_stream', 'iter_stream'),
-    ('aread', 'read'),
-    ('asynccontextmanager', 'contextmanager'),
-    ('__aenter__', '__enter__'),
-    ('__aexit__', '__exit__'),
-    ('__aiter__', '__iter__'),
-    ('@pytest.mark.anyio', ''),
-    ('@pytest.mark.trio', ''),
-    ('AutoBackend', 'SyncBackend'),
-]
-COMPILED_SUBS = [
-    (re.compile(r'(^|\b)' + regex + r'($|\b)'), repl)
-    for regex, repl in SUBS
-]
-
-USED_SUBS = set()
-
-def unasync_line(line):
-    for index, (regex, repl) in enumerate(COMPILED_SUBS):
-        old_line = line
-        line = re.sub(regex, repl, line)
-        if old_line != line:
-            USED_SUBS.add(index)
-    return line
-
-
-def unasync_file(in_path, out_path):
-    with open(in_path, "r") as in_file:
-        with open(out_path, "w", newline="") as out_file:
-            for line in in_file.readlines():
-                line = unasync_line(line)
-                out_file.write(line)
-
-
-def unasync_file_check(in_path, out_path):
-    with open(in_path, "r") as in_file:
-        with open(out_path, "r") as out_file:
-            for in_line, out_line in zip(in_file.readlines(), 
out_file.readlines()):
-                expected = unasync_line(in_line)
-                if out_line != expected:
-                    print(f'unasync mismatch between {in_path!r} and 
{out_path!r}')
-                    print(f'Async code:         {in_line!r}')
-                    print(f'Expected sync code: {expected!r}')
-                    print(f'Actual sync code:   {out_line!r}')
-                    sys.exit(1)
-
-
-def unasync_dir(in_dir, out_dir, check_only=False):
-    for dirpath, dirnames, filenames in os.walk(in_dir):
-        for filename in filenames:
-            if not filename.endswith('.py'):
-                continue
-            rel_dir = os.path.relpath(dirpath, in_dir)
-            in_path = os.path.normpath(os.path.join(in_dir, rel_dir, filename))
-            out_path = os.path.normpath(os.path.join(out_dir, rel_dir, 
filename))
-            print(in_path, '->', out_path)
-            if check_only:
-                unasync_file_check(in_path, out_path)
-            else:
-                unasync_file(in_path, out_path)
-
-
-def main():
-    check_only = '--check' in sys.argv
-    unasync_dir("httpcore/_async", "httpcore/_sync", check_only=check_only)
-    unasync_dir("tests/_async", "tests/_sync", check_only=check_only)
-
-    if len(USED_SUBS) != len(SUBS):
-        unused_subs = [SUBS[i] for i in range(len(SUBS)) if i not in USED_SUBS]
-
-        print("These patterns were not used:")
-        pprint(unused_subs)
-        exit(1)   
-        
-
-if __name__ == '__main__':
-    main()

Reply via email to