1{ lib 2, stdenv 3, brotlicffi 4, buildPythonPackage 5, certifi 6, chardet 7, charset-normalizer 8, fetchPypi 9, fetchpatch 10, idna 11, pysocks 12, pytest-mock 13, pytest-xdist 14, pytestCheckHook 15, pythonOlder 16, urllib3 17}: 18 19buildPythonPackage rec { 20 pname = "requests"; 21 version = "2.31.0"; 22 format = "setuptools"; 23 24 disabled = pythonOlder "3.7"; 25 26 __darwinAllowLocalNetworking = true; 27 28 src = fetchPypi { 29 inherit pname version; 30 hash = "sha256-lCxadY+Y15Dq7Ropy27vx/+w0c968Fw9J5Flbb1q0eE="; 31 }; 32 33 propagatedBuildInputs = [ 34 brotlicffi 35 certifi 36 charset-normalizer 37 idna 38 urllib3 39 ]; 40 41 passthru.optional-dependencies = { 42 security = []; 43 socks = [ 44 pysocks 45 ]; 46 use_chardet_on_py3 = [ 47 chardet 48 ]; 49 }; 50 51 nativeCheckInputs = [ 52 pytest-mock 53 pytest-xdist 54 pytestCheckHook 55 ] 56 ++ passthru.optional-dependencies.socks; 57 58 disabledTests = [ 59 # Disable tests that require network access and use httpbin 60 "requests.api.request" 61 "requests.models.PreparedRequest" 62 "requests.sessions.Session" 63 "requests" 64 "test_redirecting_to_bad_url" 65 "test_requests_are_updated_each_time" 66 "test_should_bypass_proxies_pass_only_hostname" 67 "test_urllib3_pool_connection_closed" 68 "test_urllib3_retries" 69 "test_use_proxy_from_environment" 70 "TestRequests" 71 "TestTimeout" 72 ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ 73 # Fatal Python error: Aborted 74 "test_basic_response" 75 "test_text_response" 76 ]; 77 78 disabledTestPaths = lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [ 79 # Fatal Python error: Aborted 80 "tests/test_lowlevel.py" 81 ]; 82 83 pythonImportsCheck = [ 84 "requests" 85 ]; 86 87 meta = with lib; { 88 description = "HTTP library for Python"; 89 homepage = "http://docs.python-requests.org/"; 90 changelog = "https://github.com/psf/requests/blob/v${version}/HISTORY.md"; 91 license = licenses.asl20; 92 maintainers = with maintainers; [ fab ]; 93 }; 94}