anchor.diff:  , idna-ssl
   , typing-extensions
   , pytestrunner
  -, pytest
  +, pytestCheckHook
   , gunicorn
   , pytest-timeout
   , async_generator
  
positive.code: , trustme
  , brotlipy
  , freezegun
  }:
  
  buildPythonPackage rec {
    pname = "aiohttp";
    version = "3.6.2";
    # https://github.com/aio-libs/aiohttp/issues/4525 python3.8 failures
    disabled = pythonOlder "3.5" || pythonAtLeast "3.8";
  
    src = fetchPypi {
      inherit pname version;
  
negative.code:   };
  
    checkInputs = [
      pytestrunner pytestCheckHook gunicorn async_generator pytest_xdist
      pytest-mock pytestcov trustme brotlipy freezegun
    ];
  
    propagatedBuildInputs = [ attrs chardet multidict async-timeout yarl ]
      ++ lib.optionals (pythonOlder "3.7") [ idna-ssl typing-extensions ];
  
    disabledTests = [
      # disable tests which attempt to do loopback connections
      "get_valid_log_format_exc"
      "test_access_logger_atoms"
      "aiohttp_request_coroutine"
      "server_close_keepalive_connection"
      "connector"
      "client_disconnect"
      "handle_keepalive_on_closed_connection"
      "proxy_https_bad_response"
      "partially_applied_handler"
      "middleware"
    ] ++ lib.optionals stdenv.is32bit [
      "test_cookiejar"
    ] ++ lib.optionals isPy38 [
      # Python 3.8  https://github.com/aio-libs/aiohttp/issues/4525
      "test_read_boundary_with_incomplete_chunk"
      "test_read_incomplete_chunk"
      "test_request_tracing_exception"
    ];
  
    # aiohttp in current folder shadows installed version
    # Probably because we run `python -m pytest` instead of `pytest` in the hook.
    preCheck = ''
      cd tests
    '';
  
    meta = with lib; {
  