Sync from SUSE:ALP:Source:Standard:1.0 python-httpx revision ddf5c6ccd7faa398d57e289f0824e8d8
This commit is contained in:
commit
55ec55564b
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
## Default LFS
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
3
_multibuild
Normal file
3
_multibuild
Normal file
@ -0,0 +1,3 @@
|
||||
<multibuild>
|
||||
<package>test</package>
|
||||
</multibuild>
|
BIN
httpx-0.24.0.tar.gz
(Stored with Git LFS)
Normal file
BIN
httpx-0.24.0.tar.gz
(Stored with Git LFS)
Normal file
Binary file not shown.
332
python-httpx.changes
Normal file
332
python-httpx.changes
Normal file
@ -0,0 +1,332 @@
|
||||
-------------------------------------------------------------------
|
||||
Wed May 3 08:47:43 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- update to 0.24.0:
|
||||
* The logging behaviour has been changed to be more in-line
|
||||
with other standard Python logging usages. We no longer have
|
||||
a custom `TRACE` log level, and we no longer use the
|
||||
`HTTPX_LOG_LEVEL` environment variable to auto-configure
|
||||
logging. We now have a significant amount of `DEBUG` logging
|
||||
available at the network level. Full documentation is
|
||||
available at https://www.python-httpx.org/logging/ (#2547,
|
||||
encode/httpcore#648)
|
||||
* The `Response.iter_lines()` method now matches the stdlib
|
||||
behaviour and does not include the newline characters. It
|
||||
also resolves a performance issue. (#2423)
|
||||
* Query parameter encoding switches from using + for spaces and
|
||||
%2F for forward slash, to instead using %20 for spaces and
|
||||
treating forward slash as a safe, unescaped character. This
|
||||
differs from `requests`, but is in line with browser behavior
|
||||
in Chrome, Safari, and Firefox. Both options are RFC valid.
|
||||
(#2543)
|
||||
* NetRC authentication is no longer automatically handled, but
|
||||
is instead supported by an explicit `httpx.NetRCAuth()`
|
||||
authentication class. See the documentation at
|
||||
https://www.python-httpx.org/advanced/#netrc-support (#2525)
|
||||
* The `rfc3986` dependancy has been removed. (#2252)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 21 12:26:25 UTC 2023 - Dirk Müller <dmueller@suse.com>
|
||||
|
||||
- add sle15_python_module_pythons (jsc#PED-68)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Apr 13 22:41:55 UTC 2023 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Make calling of %{sle15modernpython} optional.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Jan 16 10:33:05 UTC 2023 - Daniel Garcia <daniel.garcia@suse.com>
|
||||
|
||||
- Update to 0.23.3
|
||||
* Version 0.23.2 accidentally included stricter type checking on query
|
||||
parameters. This shouldn've have been included in a minor version bump, and
|
||||
is now reverted. (#2523, #2539)
|
||||
- 0.23.2 (2nd Jan, 2023)
|
||||
* Support digest auth nonce counting to avoid multiple auth requests. (#2463)
|
||||
* Multipart file uploads where the file length cannot be determine now use
|
||||
chunked transfer encoding, rather than loading the entire file into memory
|
||||
in order to determine the `Content-Length`. (#2382)
|
||||
* Raise `TypeError` if content is passed a dict-instance. (#2495)
|
||||
* Partially revert the API breaking change in 0.23.1, which removed `RawURL`.
|
||||
We continue to expose a `url.raw` property which is now a plain
|
||||
named-tuple. This API is still expected to be deprecated, but we will do so
|
||||
with a major version bump. (#2481)
|
||||
- 0.23.1 (18th Nov, 2022)
|
||||
**Note**: The 0.23.1 release should have used a proper version bump, rather
|
||||
than a minor point release. There are API surface area changes
|
||||
that may affect some users. See the "Removed" section of these
|
||||
release notes for details.
|
||||
### Added
|
||||
* Support for Python 3.11. (#2420)
|
||||
* Allow setting an explicit multipart boundary in `Content-Type` header.
|
||||
(#2278)
|
||||
* Allow `tuple` or `list` for multipart values, not just `list`. (#2355)
|
||||
* Allow `str` content for multipart upload files. (#2400)
|
||||
* Support connection upgrades. See
|
||||
https://www.encode.io/httpcore/extensions/#upgrade-requests
|
||||
### Fixed
|
||||
* Don't drop empty query parameters. (#2354)
|
||||
### Removed
|
||||
* Upload files *must* always be opened in binary mode. (#2400)
|
||||
* Drop `.read`/`.aread` from `SyncByteStream`/`AsyncByteStream`. (#2407)
|
||||
* Drop `RawURL`. (#2241)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 5 10:25:32 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Drop transfer-encoding-lower-case.patch
|
||||
The headers are lowercase again with uvicorn 0.18
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 5 08:30:50 UTC 2022 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Add transfer-encoding-lower-case.patch to fix failing tests due
|
||||
to incorrect capitalization of the 'transfer-encoding' header
|
||||
(gh#encode/httpx!1735).
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Jul 19 15:45:42 UTC 2022 - Ben Greiner <code@bnavigator.de>
|
||||
|
||||
- Update to 0.23.0
|
||||
* Drop support for Python 3.6. (#2097)
|
||||
* Use utf-8 as the default character set, instead of falling back
|
||||
to charset-normalizer for auto-detection. To enable automatic
|
||||
character set detection, see the documentation. (#2165)
|
||||
* Fix URL.copy_with for some oddly formed URL cases. (#2185)
|
||||
* Digest authentication should use case-insensitive comparison
|
||||
for determining which algorithm is being used. (#2204)
|
||||
* Fix console markup escaping in command line client. (#1866)
|
||||
* When files are used in multipart upload, ensure we always seek
|
||||
to the start of the file. (#2065)
|
||||
* Ensure that iter_bytes never yields zero-length chunks. (#2068)
|
||||
* Preserve Authorization header for redirects that are to the
|
||||
same origin, but are an http-to-https upgrade. (#2074)
|
||||
* When responses have binary output, don't print the output to
|
||||
the console in the command line client. Use output like <16086
|
||||
bytes of binary data> instead. (#2076)
|
||||
* Fix display of --proxies argument in the command line client
|
||||
help. (#2125)
|
||||
* Close responses when task cancellations occur during stream
|
||||
reading. (#2156)
|
||||
* Fix type error on accessing .request on HTTPError exceptions.
|
||||
(#2158)
|
||||
- Drop CVE-2021-41945-copy_with-data-leak.patch fixed upstream
|
||||
(bsc#1199002)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon May 2 03:01:52 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Add patch CVE-2021-41945-copy_with-data-leak.patch:
|
||||
* Do not leak data in httpx.URL.copy_with (bsc#1199002, CVE-2021-41945)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Feb 11 19:31:34 UTC 2022 - Michael Ströder <michael@stroeder.com>
|
||||
|
||||
- Only recommend and not require the installation of python-h2 because it is
|
||||
seriously broken and prevents any other Python software to run correctly with -bb.
|
||||
(See also: https://github.com/python-hyper/h2/issues/1236)
|
||||
This also matches upstream's setup.py which lists h2 as optional
|
||||
dependency in extra_requires.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Feb 1 07:01:13 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
|
||||
|
||||
- Update to 0.22.0:
|
||||
* Add support for `Client(allow_redirects=<bool>)`. (Pull #1790)
|
||||
* Add automatic character set detection, when no `charset` is included in the response `Content-Type` header. (Pull #1791)
|
||||
* Added the `httpx` command-line client.
|
||||
* Response instances now include `.is_informational`, `.is_success`, `.is_redirect`, `.is_client_error`, and `.is_server_error`
|
||||
properties for checking 1xx, 2xx, 3xx, 4xx, and 5xx response types. Note that the behaviour of `.is_redirect` is slightly different in that it now returns True for all 3xx responses, in order to allow for a consistent set of properties onto the different HTTP status code types. The `response.has_redirect_location` location may be used to determine responses with properly formed URL redirects.
|
||||
* Support for [the SOCKS5 proxy protocol](https://www.python-httpx.org/advanced/#socks) via [the `socksio` package](https://github.com/sethmlarson/socksio). (#2034)
|
||||
* Support for custom headers in multipart/form-data requests (#1936)
|
||||
* Event hooks are now also called for any additional redirect or auth requests/responses. (Pull #1806)
|
||||
* Strictly enforce that upload files must be opened in binary mode. (Pull #1736)
|
||||
* Strictly enforce that client instances can only be opened and closed once, and cannot be re-opened. (Pull #1800)
|
||||
* Drop `mode` argument from `httpx.Proxy(..., mode=...)`. (Pull #1795)
|
||||
* The `allow_redirects` flag is now `follow_redirects` and defaults to `False`.
|
||||
* The `raise_for_status()` method will now raise an exception for any responses
|
||||
except those with 2xx status codes. Previously only 4xx and 5xx status codes
|
||||
would result in an exception.
|
||||
* The low-level transport API changes to the much simpler `response = transport.handle_request(request)`.
|
||||
* The `client.send()` method no longer accepts a `timeout=...` argument, but the
|
||||
`client.build_request()` does. This required by the signature change of the
|
||||
Transport API. The request timeout configuration is now stored on the request
|
||||
instance, as `request.extensions['timeout']`.
|
||||
* `response.iter_bytes()` no longer raises a ValueError when called on a response with no content. (Pull #1827)
|
||||
* The `'wsgi.error'` configuration now defaults to `sys.stderr`, and is corrected to be a `TextIO` interface, not a `BytesIO` interface. Additionally, the WSGITransport now accepts a `wsgi_error` configuration. (Pull #1828)
|
||||
* Follow the WSGI spec by properly closing the iterable returned by the application. (Pull #1830)
|
||||
* Don't perform unreliable close/warning on `__del__` with unclosed clients. (#2026)
|
||||
* Fix `Headers.update(...)` to correctly handle repeated headers (#2038)
|
||||
* Fix streaming uploads using `SyncByteStream` or `AsyncByteStream`. Regression in 0.21.2. (#2016)
|
||||
* HTTP/2 support for tunnelled proxy cases. (#2009)
|
||||
* Improved the speed of large file uploads. (#1948)
|
||||
* The `response.url` property is now correctly annotated as `URL`, instead of `Optional[URL]`. (#1940)
|
||||
- Inject multibuild to cut down a build loop.
|
||||
- Remove patch 0001-Add-a-network-pytest-mark-for-tests-that-use-the-network.patch:
|
||||
* Included upstream.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jun 18 07:56:56 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Update to 0.18.2
|
||||
* Added
|
||||
- Support for Python 3.10. (Pull #1687)
|
||||
- Expose httpx.USE_CLIENT_DEFAULT, used as the default to auth
|
||||
and timeout parameters in request methods.
|
||||
- Support HTTP/2 "prior knowledge", using
|
||||
httpx.Client(http1=False, http2=True).
|
||||
* Fixed
|
||||
- Clean up some cases where warnings were being issued.
|
||||
- Prefer Content-Length over Transfer-Encoding: chunked for
|
||||
content= cases.
|
||||
|
||||
- Update to 0.18.1
|
||||
* Changed
|
||||
- Update brotli support to use the brotlicffi package
|
||||
- Ensure that Request(..., stream=...) does not auto-generate
|
||||
any headers on the request instance.
|
||||
* Fixed
|
||||
- Pass through timeout=... in top-level httpx.stream()
|
||||
function.
|
||||
- Map httpcore transport close exceptions to httpx exceptions.
|
||||
|
||||
- Add patch (submitted to upstream at gh#encode/httpx#1669) to add
|
||||
a pytest marker so we can disable the tests that use the network
|
||||
in %check:
|
||||
* 0001-Add-a-network-pytest-mark-for-tests-that-use-the-network.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 3 15:15:51 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Enable tests (adding some missing dependencies and disabling
|
||||
test_async_proxy_close and test_sync_proxy_close since they
|
||||
access the network)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 3 08:58:20 UTC 2021 - Antonio Larrosa <alarrosa@suse.com>
|
||||
|
||||
- Update to 0.18.0
|
||||
* The 0.18.x release series formalises our low-level Transport
|
||||
API, introducing the base classes httpx.BaseTransport and
|
||||
httpx.AsyncBaseTransport.
|
||||
See the "Writing custom transports" documentation and the
|
||||
httpx.BaseTransport.handle_request() docstring for more
|
||||
complete details on implementing custom transports.
|
||||
Pull request #1522 includes a checklist of differences from
|
||||
the previous httpcore transport API, for developers
|
||||
implementing custom transports.
|
||||
The following API changes have been issuing deprecation
|
||||
warnings since 0.17.0 onwards, and are now fully deprecated...
|
||||
- You should now use httpx.codes consistently instead of
|
||||
httpx.StatusCodes.
|
||||
- Use limits=... instead of pool_limits=....
|
||||
- Use proxies={"http://": ...} instead of proxies={"http": ...}
|
||||
for scheme-specific mounting.
|
||||
* Changed
|
||||
- Transport instances now inherit from httpx.BaseTransport or
|
||||
httpx.AsyncBaseTransport, and should implement either the
|
||||
handle_request method or handle_async_request method.
|
||||
(Pull #1522, #1550)
|
||||
- The response.ext property and Response(ext=...) argument are
|
||||
now named extensions. (Pull #1522)
|
||||
- The recommendation to not use data=<bytes|str|bytes
|
||||
(a)iterator> in favour of content=<bytes|str|bytes
|
||||
(a)iterator> has now been escalated to a deprecation warning.
|
||||
(Pull #1573)
|
||||
- Drop Response(on_close=...) from API, since it was a bit of
|
||||
leaking implementation detail. (Pull #1572)
|
||||
- When using a client instance, cookies should always be set on
|
||||
the client, rather than on a per-request basis. We prefer
|
||||
enforcing a stricter API here because it provides clearer
|
||||
expectations around cookie persistence, particularly when
|
||||
redirects occur. (Pull #1574)
|
||||
- The runtime exception httpx.ResponseClosed is now named
|
||||
httpx.StreamClosed. (#1584)
|
||||
- The httpx.QueryParams model now presents an immutable
|
||||
interface. The is a discussion on the design and motivation
|
||||
here. Use client.params = client.params.merge(...) instead of
|
||||
client.params.update(...). The basic query manipulation
|
||||
methods are query.set(...), query.add(...), and
|
||||
query.remove(). (#1600)
|
||||
* Added
|
||||
- The Request and Response classes can now be serialized using
|
||||
pickle. (#1579)
|
||||
- Handle data={"key": [None|int|float|bool]} cases.
|
||||
(Pull #1539)
|
||||
- Support httpx.URL(**kwargs), for example
|
||||
httpx.URL(scheme="https", host="www.example.com", path="/'),
|
||||
or httpx.URL("https://www.example.com/",
|
||||
username="tom@gmail.com", password="123 456"). (Pull #1601)
|
||||
- Support url.copy_with(params=...). (Pull #1601)
|
||||
- Add url.params parameter, returning an immutable QueryParams
|
||||
instance. (Pull #1601)
|
||||
- Support query manipulation methods on the URL class. These
|
||||
are url.copy_set_param(), url.copy_add_param(),
|
||||
url.copy_remove_param(), url.copy_merge_params().
|
||||
(Pull #1601)
|
||||
- The httpx.URL class now performs port normalization, so :80
|
||||
ports are stripped from http URLs and :443 ports are stripped
|
||||
from https URLs. (Pull #1603)
|
||||
- The URL.host property returns unicode strings for
|
||||
internationalized domain names. The URL.raw_host property
|
||||
returns byte strings with IDNA escaping applied. (Pull #1590)
|
||||
* Fixed
|
||||
- Fix Content-Length for cases of files=... where unicode
|
||||
string is used as the file content. (Pull #1537)
|
||||
- Fix some cases of merging relative URLs against
|
||||
Client(base_url=...). (Pull #1532)
|
||||
- The request.content attribute is now always available except
|
||||
for streaming content, which requires an explicit .read().
|
||||
(Pull #1583)
|
||||
|
||||
- Update to v0.17.1
|
||||
* Fixed
|
||||
- Type annotation on CertTypes allows keyfile and password to
|
||||
be optional. (Pull #1503)
|
||||
- Fix httpcore pinned version. (Pull #1495)
|
||||
|
||||
- Update to v0.17.0
|
||||
* Added
|
||||
- Add httpx.MockTransport(), allowing to mock out a transport
|
||||
using pre-determined responses. (Pull #1401, Pull #1449)
|
||||
- Add httpx.HTTPTransport() and httpx.AsyncHTTPTransport()
|
||||
default transports. (Pull #1399)
|
||||
- Add mount API support, using httpx.Client(mounts=...).
|
||||
(Pull #1362)
|
||||
- Add chunk_size parameter to iter_raw(), iter_bytes(),
|
||||
iter_text(). (Pull #1277)
|
||||
- Add keepalive_expiry parameter to httpx.Limits()
|
||||
configuration. (Pull #1398)
|
||||
- Add repr to httpx.Cookies to display available cookies.
|
||||
(Pull #1411)
|
||||
- Add support for params=<tuple> (previously only
|
||||
params=<list> was supported). (Pull #1426)
|
||||
* Fixed
|
||||
- Add missing raw_path to ASGI scope. (Pull #1357)
|
||||
- Tweak create_ssl_context defaults to use trust_env=True.
|
||||
(Pull #1447)
|
||||
- Properly URL-escape WSGI PATH_INFO. (Pull #1391)
|
||||
- Properly set default ports in WSGI transport. (Pull #1469)
|
||||
- Properly encode slashes when using base_url. (Pull #1407)
|
||||
- Properly map exceptions in request.aclose(). (Pull #1465)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat May 1 20:37:24 UTC 2021 - Matej Cepl <mcepl@suse.com>
|
||||
|
||||
- Don't build on python36, because of missing dependencies.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sun Oct 11 14:35:52 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Update to v0.16.1
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 8 16:39:26 UTC 2020 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Update to v0.10.0
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Oct 8 08:15:47 AM UTC 2019 - John Vandenberg <jayvdb@gmail.com>
|
||||
|
||||
- Initial spec for v0.7.4
|
117
python-httpx.spec
Normal file
117
python-httpx.spec
Normal file
@ -0,0 +1,117 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
# upon. The license for this file, and modifications and additions to the
|
||||
# file, is the same license as for the pristine package itself (unless the
|
||||
# license for the pristine package is not an Open Source License, in which
|
||||
# case the license is the MIT License). An "Open Source License" is a
|
||||
# license that conforms to the Open Source Definition (Version 1.9)
|
||||
# published by the Open Source Initiative.
|
||||
|
||||
# Please submit bugfixes or comments via https://bugs.opensuse.org/
|
||||
#
|
||||
|
||||
|
||||
%global flavor @BUILD_FLAVOR@%{nil}
|
||||
%if "%{flavor}" == "test"
|
||||
%define psuffix -test
|
||||
%bcond_without test
|
||||
%else
|
||||
%define psuffix %{nil}
|
||||
%bcond_with test
|
||||
%endif
|
||||
|
||||
%{?sle15_python_module_pythons}
|
||||
Name: python-httpx%{psuffix}
|
||||
Version: 0.24.0
|
||||
Release: 0
|
||||
Summary: Python HTTP client with async support
|
||||
License: BSD-3-Clause
|
||||
URL: https://github.com/encode/httpx
|
||||
Source: https://github.com/encode/httpx/archive/%{version}.tar.gz#/httpx-%{version}.tar.gz
|
||||
BuildRequires: %{python_module base >= 3.7}
|
||||
BuildRequires: %{python_module hatch-fancy-pypi-readme}
|
||||
BuildRequires: %{python_module hatchling}
|
||||
BuildRequires: %{python_module pip}
|
||||
BuildRequires: %{python_module wheel}
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: python-rpm-macros
|
||||
Requires: python-certifi
|
||||
Requires: python-httpcore >= 0.15.0
|
||||
Requires: python-idna >= 2.0
|
||||
Requires: python-sniffio
|
||||
Recommends: python-Brotli
|
||||
Recommends: python-Pygments >= 2
|
||||
Recommends: python-click >= 8
|
||||
Recommends: python-h2 >= 3.0
|
||||
Recommends: python-rich >= 10
|
||||
Requires(post): update-alternatives
|
||||
Requires(postun):update-alternatives
|
||||
BuildArch: noarch
|
||||
# SECTION test requirements
|
||||
%if %{with test}
|
||||
BuildRequires: %{python_module Brotli}
|
||||
BuildRequires: %{python_module Pygments >= 2}
|
||||
BuildRequires: %{python_module chardet >= 5.0}
|
||||
BuildRequires: %{python_module click >= 8}
|
||||
BuildRequires: %{python_module h2 >= 3.0}
|
||||
BuildRequires: %{python_module httpx = %{version}}
|
||||
BuildRequires: %{python_module pytest-asyncio}
|
||||
BuildRequires: %{python_module pytest-trio}
|
||||
BuildRequires: %{python_module pytest}
|
||||
BuildRequires: %{python_module rich >= 10}
|
||||
BuildRequires: %{python_module trio}
|
||||
BuildRequires: %{python_module trustme}
|
||||
# uvicorn 0.18 fixed an issue in the test suite where http-headers wer not all lowercase as expected
|
||||
BuildRequires: %{python_module uvicorn >= 0.18}
|
||||
%endif
|
||||
# /SECTION
|
||||
%python_subpackages
|
||||
|
||||
%description
|
||||
Python HTTP client with async support.
|
||||
|
||||
%prep
|
||||
%autosetup -p1 -n httpx-%{version}
|
||||
# remove turning pytest warnings into error
|
||||
sed -i '/tool.pytest/,$ {/error/d}' setup.cfg
|
||||
|
||||
%build
|
||||
%pyproject_wheel
|
||||
|
||||
%install
|
||||
%if !%{with test}
|
||||
%pyproject_install
|
||||
%python_clone -a %{buildroot}%{_bindir}/httpx
|
||||
%python_expand %fdupes %{buildroot}%{$python_sitelib}
|
||||
%endif
|
||||
|
||||
%check
|
||||
%if %{with test}
|
||||
# obs builds offline
|
||||
donttest="network"
|
||||
# no socksio
|
||||
donttest="$donttest or socks"
|
||||
%pytest -vv -k "not ($donttest)" --asyncio-mode=strict
|
||||
%endif
|
||||
|
||||
%post
|
||||
%python_install_alternative httpx
|
||||
|
||||
%postun
|
||||
%python_uninstall_alternative httpx
|
||||
|
||||
%if !%{with test}
|
||||
%files %{python_files}
|
||||
%doc CHANGELOG.md README.md
|
||||
%license LICENSE.md
|
||||
%python_alternative %{_bindir}/httpx
|
||||
%{python_sitelib}/httpx
|
||||
%{python_sitelib}/httpx-%{version}*-info
|
||||
%endif
|
||||
|
||||
%changelog
|
Loading…
Reference in New Issue
Block a user