1{ lib
2, buildPythonPackage
3, fetchPypi
4, pythonOlder
5
6# build-system
7, setuptools
8
9# dependencies
10, astroid
11, anyascii
12, jinja2
13, pyyaml
14, sphinx
15
16# tests
17, beautifulsoup4
18, mock
19, pytestCheckHook
20}:
21
22buildPythonPackage rec {
23 pname = "sphinx-autoapi";
24 version = "2.1.1";
25 format = "pyproject";
26
27 disabled = pythonOlder "3.7";
28
29 src = fetchPypi {
30 inherit pname version;
31 hash = "sha256-+625bnkCDWsOxF2IhRe/gW1rWHotNA++HsMRNeMApsg=";
32 };
33
34 nativeBuildInputs = [
35 setuptools
36 ];
37
38 propagatedBuildInputs = [
39 anyascii
40 astroid
41 jinja2
42 pyyaml
43 sphinx
44 ];
45
46 nativeCheckInputs = [
47 beautifulsoup4
48 mock
49 pytestCheckHook
50 ];
51
52 disabledTests = [
53 # failing typing assertions
54 "test_integration"
55 "test_annotations"
56 ];
57
58 pythonImportsCheck = [
59 "autoapi"
60 ];
61
62 meta = with lib; {
63 homepage = "https://github.com/readthedocs/sphinx-autoapi";
64 changelog = "https://github.com/readthedocs/sphinx-autoapi/blob/v${version}/CHANGELOG.rst";
65 description = "Provides 'autodoc' style documentation";
66 longDescription = ''
67 Sphinx AutoAPI provides 'autodoc' style documentation for
68 multiple programming languages without needing to load, run, or
69 import the project being documented.
70 '';
71 license = licenses.mit;
72 maintainers = with maintainers; [ karolchmist ];
73 };
74}