My personal project and infrastructure archive
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
nomicon/pkgs/development/python-modules/httpcore/default.nix

70 lines
1.2 KiB

{ lib
, buildPythonPackage
, pythonOlder
, fetchFromGitHub
, anyio
, certifi
, h11
, h2
, pproxy
, pytest-asyncio
, pytestCheckHook
, pytest-cov
, pytest-httpbin
, sniffio
, socksio
, trio
, trustme
, uvicorn
}:
buildPythonPackage rec {
pname = "httpcore";
version = "0.14.7";
disabled = pythonOlder "3.6";
src = fetchFromGitHub {
owner = "encode";
repo = pname;
rev = version;
sha256 = "sha256-h+3MfP1p/ifN0mF/xxrOKPTjD4Q7WzRh94YO4DYSuXE=";
};
postPatch = ''
substituteInPlace setup.py \
--replace "h11>=0.11,<0.13" "h11>=0.11,<0.14"
'';
propagatedBuildInputs = [
anyio
certifi
h11
sniffio
];
passthru.optional-dependencies = {
http2 = [ h2 ];
socks = [ socksio ];
};
checkInputs = [
pproxy
pytest-asyncio
pytestCheckHook
pytest-cov
pytest-httpbin
trio
trustme
uvicorn
] ++ passthru.optional-dependencies.http2
++ passthru.optional-dependencies.socks;
pythonImportsCheck = [ "httpcore" ];
meta = with lib; {
description = "A minimal low-level HTTP client";
homepage = "https://github.com/encode/httpcore";
license = licenses.bsd3;
maintainers = with maintainers; [ ris ];
};
}