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.6.0";
18 pyproject = true;
19
20 disabled = pythonOlder "3.8";
21
22 src = fetchFromGitHub {
23 owner = "mkdocstrings";
24 repo = "griffe";
25 tag = version;
26 hash = "sha256-Cs3qJlF1k1cKmbH7bXkn8+XDRC0sZqVdrMPIw0dSWD8=";
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/${src.tag}/CHANGELOG.md";
52 license = licenses.isc;
53 maintainers = with maintainers; [ fab ];
54 mainProgram = "griffe";
55 };
56}