1{
2 lib,
3 aiofiles,
4 buildPythonPackage,
5 colorama,
6 fetchFromGitHub,
7 git,
8 jsonschema,
9 mkdocstrings,
10 pdm-backend,
11 pytestCheckHook,
12 pythonOlder,
13}:
14
15buildPythonPackage rec {
16 pname = "griffe";
17 version = "1.5.1";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "mkdocstrings";
24 repo = "griffe";
25 rev = "refs/tags/${version}";
26 hash = "sha256-DeXmKswapXPYGTiJLq2yvCwJywCNl79XYHSau0VCCIY=";
27 };
28
29 build-system = [ pdm-backend ];
30
31 dependencies = [
32 colorama
33 mkdocstrings
34 ];
35
36 nativeCheckInputs = [
37 git
38 jsonschema
39 pytestCheckHook
40 ];
41
42 optional-dependencies = {
43 async = [ aiofiles ];
44 };
45
46 pythonImportsCheck = [ "griffe" ];
47
48 meta = with lib; {
49 description = "Signatures for entire Python programs";
50 homepage = "https://github.com/mkdocstrings/griffe";
51 changelog = "https://github.com/mkdocstrings/griffe/blob/${version}/CHANGELOG.md";
52 license = licenses.isc;
53 maintainers = with maintainers; [ fab ];
54 mainProgram = "griffe";
55 };
56}