14
0
Files
python-requests/python-requests.spec
Dirk Mueller 66136dfc9c - update to 2.27.0:
* Officially added support for Python 3.10. (#5928)
* Added a `requests.exceptions.JSONDecodeError` to unify JSON exceptions between
  Python 2 and 3. This gets raised in the `response.json()` method, and is
  backwards compatible as it inherits from previously thrown exceptions.
  Can be caught from `requests.exceptions.RequestException` as well. (#5856)
* Improved error text for misnamed `InvalidSchema` and `MissingSchema`
  exceptions. This is a temporary fix until exceptions can be renamed
  (Schema->Scheme). (#6017)
* Improved proxy parsing for proxy URLs missing a scheme. This will address
  recent changes to `urlparse` in Python 3.9+. (#5917)
* Fixed defect in `extract_zipped_paths` which could result in an infinite loop
  for some paths. (#5851)
* Fixed handling for `AttributeError` when calculating length of files obtained
  by `Tarfile.extractfile()`. (#5239)
* Fixed urllib3 exception leak, wrapping `urllib3.exceptions.InvalidHeader` with
  `requests.exceptions.InvalidHeader`. (#5914)
* Fixed bug where two Host headers were sent for chunked requests. (#5391)
* Fixed regression in Requests 2.26.0 where `Proxy-Authorization` was
  incorrectly stripped from all requests sent with `Session.send`. (#5924)
* Fixed performance regression in 2.26.0 for hosts with a large number of
  proxies available in the environment. (#5924)
* Fixed idna exception leak, wrapping `UnicodeError` with
  `requests.exceptions.InvalidURL` for URLs with a leading dot (.) in the
  domain. (#5414)
* Requests support for Python 2.7 and 3.6 will be ending in 2022. While we
  don't have exact dates, Requests 2.27.x is likely to be the last release
  series providing support.

OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-requests?expand=0&rev=156
2022-01-04 16:22:38 +00:00

132 lines
4.1 KiB
RPMSpec

#
# spec file
#
# Copyright (c) 2022 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
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-requests%{psuffix}
Version: 2.27.0
Release: 0
Summary: Python HTTP Library
License: Apache-2.0
Group: Development/Languages/Python
URL: https://docs.python-requests.org/
Source: https://files.pythonhosted.org/packages/source/r/requests/requests-%{version}.tar.gz
# PATCH-FIX-SUSE: do not hardcode versions in setup.py/requirements
Patch0: requests-no-hardcoded-version.patch
BuildRequires: %{python_module setuptools}
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: ca-certificates
Requires: python
Requires: python-certifi >= 2017.4.17
Requires: python-charset-normalizer >= 2.0.0
Requires: python-idna >= 2.5
Requires: python-py
Requires: python-urllib3 >= 1.21.1
BuildArch: noarch
%if 0%{?_no_weakdeps}
Requires: ca-certificates-mozilla
Requires: python-PySocks >= 1.5.6
Requires: python-cryptography >= 1.3.4
Requires: python-pyOpenSSL >= 0.14
%else
Recommends: ca-certificates-mozilla
Recommends: python-PySocks >= 1.5.6
Recommends: python-cryptography >= 1.3.4
Recommends: python-pyOpenSSL >= 0.14
%endif
%if %{with test}
BuildRequires: %{python_module PySocks >= 1.5.6}
BuildRequires: %{python_module brotlipy}
BuildRequires: %{python_module charset-normalizer >= 2.0.0}
BuildRequires: %{python_module idna >= 2.5}
BuildRequires: %{python_module pytest-httpbin >= 0.0.7}
BuildRequires: %{python_module pytest-mock}
BuildRequires: %{python_module pytest}
BuildRequires: %{python_module requests >= %{version}}
BuildRequires: %{python_module trustme}
%endif
%python_subpackages
%description
Requests is an HTTP library, written in Python, as an alternative
to Python's builtin urllib2 which requires work (even
method overrides) to perform basic tasks.
Features of Requests:
- GET, HEAD, POST, PUT, DELETE Requests:
+ HTTP Header Request Attachment.
+ Data/Params Request Attachment.
+ Multipart File Uploads.
+ CookieJar Support.
+ Redirection History.
+ Redirection Recursion Urllib Fix.
+ Automatic Decompression of GZipped Content.
+ Unicode URL Support.
- Authentication:
+ URL + HTTP Auth Registry.
%prep
%setup -q -n requests-%{version}
%autopatch -p1
# drop shebang from certs.py
sed -i '1s/^#!.*$//' requests/certs.py
# remove 'never' default parameter from digest-auth check
# requires httpbin 0.6.0
sed -i "s#\(httpbin.*\), 'never'#\1#" tests/test_requests.py
%build
%python_build
%install
%if !%{with test}
%python_install
# check that urllib3 is not installed
test ! -e %{buildroot}%{python3_sitelib}/requests/packages/urllib3
%python_expand %fdupes %{buildroot}%{$python_sitelib}
%endif
# NOTE(aplanas) If we do not have the certificates, we some of the
# tests will fail, so for now we only run the tests in openSUSE
%if 0%{?suse_version} && %{with test}
%check
touch Pipfile
# exclude tests connecting to TARPIT
# exclude test_https_warnings as is flaky
%python_exec -m pytest -v tests -k "not (TestTimeout or connect or test_https_warnings or test_pyopenssl_redirect)"
%endif
%if !%{with test}
%files %{python_files}
%license LICENSE
%doc HISTORY.md README.md
%{python_sitelib}/requests/
%{python_sitelib}/requests-*
%endif
%changelog