1{
2 lib,
3 anyio,
4 buildPythonPackage,
5 fetchFromGitHub,
6 flit-core,
7 pytestCheckHook,
8 pythonOlder,
9 trio,
10}:
11
12buildPythonPackage rec {
13 pname = "asyncclick";
14 version = "8.1.8.0";
15 pyproject = true;
16
17 disabled = pythonOlder "3.9";
18
19 src = fetchFromGitHub {
20 owner = "python-trio";
21 repo = "asyncclick";
22 tag = "${version}+async";
23 hash = "sha256-J294pYuNOSm7v2BbwDpzn3uelAnZ3ip2U1gWuchhOtA=";
24 };
25
26 build-system = [ flit-core ];
27
28 dependencies = [ anyio ];
29
30 nativeCheckInputs = [
31 pytestCheckHook
32 trio
33 ];
34
35 pytestFlagsArray = [
36 "-W"
37 "ignore::trio.TrioDeprecationWarning"
38 ];
39
40 disabledTests = [
41 # AttributeError: 'Context' object has no attribute '_ctx_mgr'
42 "test_context_pushing"
43 ];
44
45 pythonImportsCheck = [ "asyncclick" ];
46
47 meta = with lib; {
48 description = "Python composable command line utility";
49 homepage = "https://github.com/python-trio/asyncclick";
50 changelog = "https://github.com/python-trio/asyncclick/blob/${version}/CHANGES.rst";
51 license = licenses.bsd3;
52 maintainers = with maintainers; [ fab ];
53 };
54}