1{ lib
2, buildPythonPackage
3, pythonOlder
4, fetchFromGitHub
5, setuptools
6, jinja2
7, pygments
8, markupsafe
9, astunparse
10, pytestCheckHook
11, hypothesis
12}:
13
14buildPythonPackage rec {
15 pname = "pdoc";
16 version = "14.1.0";
17 disabled = pythonOlder "3.8";
18
19 format = "pyproject";
20
21 src = fetchFromGitHub {
22 owner = "mitmproxy";
23 repo = "pdoc";
24 rev = "v${version}";
25 hash = "sha256-LQXhdzocw01URrmpDayK9rpsArvM/E44AE8Eok9DBwk=";
26 };
27
28 nativeBuildInputs = [
29 setuptools
30 ];
31
32 propagatedBuildInputs = [
33 jinja2
34 pygments
35 markupsafe
36 ] ++ lib.optional (pythonOlder "3.9") astunparse;
37
38 nativeCheckInputs = [
39 pytestCheckHook
40 hypothesis
41 ];
42 disabledTestPaths = [
43 # "test_snapshots" tries to match generated output against stored snapshots,
44 # which are highly sensitive to dep versions.
45 "test/test_snapshot.py"
46 ];
47
48 pytestFlagsArray = [
49 ''-m "not slow"'' # skip slow tests
50 ];
51
52 __darwinAllowLocalNetworking = true;
53
54 pythonImportsCheck = [ "pdoc" ];
55
56 meta = with lib; {
57 changelog = "https://github.com/mitmproxy/pdoc/blob/${src.rev}/CHANGELOG.md";
58 homepage = "https://pdoc.dev/";
59 description = "API Documentation for Python Projects";
60 license = licenses.unlicense;
61 maintainers = with maintainers; [ pbsds ];
62 };
63}