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