3 %bcond_with tests # pytest tests (one test fails with pytest-httpbin 1.0.0)
4 %bcond_without python2 # CPython 2.x module
5 %bcond_without python3 # CPython 3.x module
7 %define urllib3_ver 1.21.1
8 %define module requests
9 %define egg_name requests
10 Summary: HTTP library for Python 2
11 Summary(pl.UTF-8): Biblioteka HTTP dla Pythona 2
12 Name: python-%{module}
16 Group: Development/Languages/Python
17 #Source0Download: https://pypi.org/simple/requests/
18 Source0: https://files.pythonhosted.org/packages/source/r/requests/%{module}-%{version}.tar.gz
19 # Source0-md5: 8c745949ad3e9ae83d9927fed213db8a
20 Patch0: system-cert.patch
21 Patch1: %{name}-reqs.patch
22 Patch2: %{name}-disable-xdist.patch
23 URL: https://docs.python-requests.org/
24 BuildRequires: rpm-pythonprov
25 BuildRequires: rpmbuild(macros) >= 1.713
27 BuildRequires: python-modules >= 1:2.7
28 BuildRequires: python-setuptools
30 BuildRequires: python-PySocks >= 1.5.8
31 BuildRequires: python-certifi >= 2017.4.17
32 BuildRequires: python-chardet >= 3.0.2
33 BuildRequires: python-chardet < 5
34 # idna 3 not supported for python2
35 BuildRequires: python-idna >= 2.5
36 BuildRequires: python-idna < 3
37 BuildRequires: python-pytest >= 3
38 BuildRequires: python-pytest-cov
39 BuildRequires: python-pytest-httpbin >= 0.0.7
40 BuildRequires: python-pytest-mock >= 2.0.0
41 BuildRequires: python-pytest-xdist
42 BuildRequires: python-urllib3 >= %{urllib3_ver}
43 BuildRequires: python-urllib3 < 1.27
47 BuildRequires: python3-modules >= 1:3.6
48 BuildRequires: python3-setuptools
50 BuildRequires: python3-PySocks >= 1.5.8
51 BuildRequires: python3-certifi >= 2017.4.17
52 BuildRequires: python3-chardet >= 3.0.2
53 BuildRequires: python3-chardet < 5
54 BuildRequires: python3-idna >= 2.5
55 BuildRequires: python3-pytest >= 3
56 BuildRequires: python3-pytest-cov
57 BuildRequires: python3-pytest-httpbin >= 0.0.7
58 BuildRequires: python3-pytest-mock >= 2.0.0
59 BuildRequires: python3-pytest-xdist
60 BuildRequires: python3-urllib3 >= %{urllib3_ver}
61 BuildRequires: python3-urllib3 < 1.27
64 Suggests: ca-certificates
65 # for python2 only to get SNI working. python3 doesn't need this
66 Requires: python-cryptography >= 1.3.4
67 Requires: python-pyOpenSSL >= 0.14
68 Requires: python-urllib3 >= 1.22-2
70 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
73 Requests is a HTTP library, written in Python, for human beings.
75 Most existing Python modules for sending HTTP requests are extremely
76 verbose and cumbersome. Python's builtin urllib2 module provides most
77 of the HTTP capabilities you should need, but the API is thoroughly
78 broken. It requires an enormous amount of work (even method overrides)
79 to perform the simplest of tasks. Things shouldn't be this way. Not in
82 This package contains Python 2.x module.
84 %description -l pl.UTF-8
85 Requests to napisana w Pythonie biblioteka HTTP dla ludzi.
87 Większość istniejących modułów Pythona do wysyłania żądań HTTP jest
88 zbyt gadatliwa i nieporęczna. Wbudowany w Pythona moduł urllib2
89 zapewnia większość wymaganych możliwości HTTP, ale API jest kiepskie -
90 wymaga dużych nakładów pracy (nawet nadpisań metod) do wykonania
91 najprostszych zadań. Nie powinno tak być. Nie w Pythonie.
93 Ten pakiet zawiera moduł dla Pythona 2.x.
95 %package -n python3-requests
96 Summary: HTTP library for Python 3
97 Summary(pl.UTF-8): Biblioteka HTTP dla Pythona 3
98 Group: Development/Languages/Python
99 Requires: python3-modules >= 1:3.6
100 Requires: python3-charset_normalizer >= 2
102 Requires: python3-cryptography >= 1.3.4
103 Requires: python3-idna >= 2.5
104 Requires: python3-pyOpenSSL >= 0.14
105 Requires: python3-urllib3 >= 1.22-2
106 Suggests: ca-certificates
108 %description -n python3-requests
109 Requests is a HTTP library, written in Python, for human beings.
111 Most existing Python modules for sending HTTP requests are extremely
112 verbose and cumbersome. Python's builtin urllib2 module provides most
113 of the HTTP capabilities you should need, but the api is thoroughly
114 broken. It requires an enormous amount of work (even method overrides)
115 to perform the simplest of tasks. Things shouldn't be this way. Not in
118 This package contains Python 3.x module.
120 %description -n python3-requests -l pl.UTF-8
121 Requests to napisana w Pythonie biblioteka HTTP dla ludzi.
123 Większość istniejących modułów Pythona do wysyłania żądań HTTP jest
124 zbyt gadatliwa i nieporęczna. Wbudowany w Pythona moduł urllib2
125 zapewnia większość wymaganych możliwości HTTP, ale API jest kiepskie -
126 wymaga dużych nakładów pracy (nawet nadpisań metod) do wykonania
127 najprostszych zadań. Nie powinno tak być. Nie w Pythonie.
129 Ten pakiet zawiera moduł dla Pythona 3.x.
132 %setup -q -n %{module}-%{version}
141 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
142 PYTEST_PLUGINS="pytest_httpbin.plugin,pytest_mock" \
143 %{__python} -m pytest tests
149 PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 \
150 PYTEST_PLUGINS="pytest_httpbin.plugin,pytest_mock" \
151 %{__python3} -m pytest tests
155 rm -rf $RPM_BUILD_ROOT
168 rm -rf $RPM_BUILD_ROOT
172 %defattr(644,root,root,755)
173 %doc HISTORY.md README.md
174 %{py_sitescriptdir}/%{module}
175 %{py_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info
179 %files -n python3-requests
180 %defattr(644,root,root,755)
181 %doc HISTORY.md README.md
182 %{py3_sitescriptdir}/%{module}
183 %{py3_sitescriptdir}/%{egg_name}-%{version}-py*.egg-info