1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 hpack,
7 hyperframe,
8 pytestCheckHook,
9 hypothesis,
10}:
11
12buildPythonPackage rec {
13 pname = "h2";
14 version = "4.2.0";
15 pyproject = true;
16
17 src = fetchFromGitHub {
18 owner = "python-hyper";
19 repo = "h2";
20 tag = "v${version}";
21 hash = "sha256-rfCwMn2msiRoIvhsdK6hyp3BjDy5AGziX4Or0cb9bKc=";
22 };
23
24 build-system = [ setuptools ];
25
26 dependencies = [
27 hpack
28 hyperframe
29 ];
30
31 nativeCheckInputs = [
32 pytestCheckHook
33 hypothesis
34 ];
35
36 disabledTests = [
37 # timing sensitive
38 "test_changing_max_frame_size"
39 ];
40
41 pythonImportsCheck = [
42 "h2.connection"
43 "h2.config"
44 ];
45
46 meta = with lib; {
47 changelog = "https://github.com/python-hyper/h2/blob/${src.tag}/CHANGELOG.rst";
48 description = "HTTP/2 State-Machine based protocol implementation";
49 homepage = "https://github.com/python-hyper/h2";
50 license = licenses.mit;
51 maintainers = [ ];
52 };
53}