1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 frozenlist,
6 pytest-asyncio,
7 pytest-cov-stub,
8 pytestCheckHook,
9 pythonOlder,
10 setuptools,
11 typing-extensions,
12}:
13
14buildPythonPackage rec {
15 pname = "aiosignal";
16 version = "1.4.0";
17 pyproject = true;
18
19 disabled = pythonOlder "3.9";
20
21 src = fetchFromGitHub {
22 owner = "aio-libs";
23 repo = "aiosignal";
24 tag = "v${version}";
25 hash = "sha256-b46/LGoCeL4mhbBPAiPir7otzKKrlKcEFzn8pG/foh0=";
26 };
27
28 build-system = [ setuptools ];
29
30 dependencies = [ frozenlist ] ++ lib.optionals (pythonOlder "3.13") [ typing-extensions ];
31
32 nativeCheckInputs = [
33 pytest-asyncio
34 pytest-cov-stub
35 pytestCheckHook
36 ];
37
38 postPatch = ''
39 substituteInPlace setup.cfg \
40 --replace "filterwarnings = error" ""
41 '';
42
43 pythonImportsCheck = [ "aiosignal" ];
44
45 meta = with lib; {
46 description = "Python list of registered asynchronous callbacks";
47 homepage = "https://github.com/aio-libs/aiosignal";
48 changelog = "https://github.com/aio-libs/aiosignal/blob/v${version}/CHANGES.rst";
49 license = with licenses; [ asl20 ];
50 maintainers = with maintainers; [ fab ];
51 };
52}