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