1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pythonOlder, 6 7 # build-system 8 flit-core, 9 10 # dependencies 11 astroid, 12 jinja2, 13 pyyaml, 14 sphinx, 15 stdlib-list, 16 17 # tests 18 beautifulsoup4, 19 pytestCheckHook, 20}: 21 22buildPythonPackage rec { 23 pname = "sphinx-autoapi"; 24 version = "3.6.0"; 25 pyproject = true; 26 27 disabled = pythonOlder "3.9"; 28 29 src = fetchFromGitHub { 30 owner = "readthedocs"; 31 repo = "sphinx-autoapi"; 32 tag = "v${version}"; 33 hash = "sha256-pDfGNpDyrU4q48ZHKqfN8OrxKICfIhac2qMJDB1iE0I="; 34 }; 35 36 build-system = [ flit-core ]; 37 38 dependencies = [ 39 astroid 40 jinja2 41 pyyaml 42 sphinx 43 ] 44 ++ lib.optionals (pythonOlder "3.10") [ 45 stdlib-list 46 ]; 47 48 nativeCheckInputs = [ 49 beautifulsoup4 50 pytestCheckHook 51 ]; 52 53 disabledTests = [ 54 # require network access 55 "test_integration" 56 ]; 57 58 pythonImportsCheck = [ "autoapi" ]; 59 60 meta = with lib; { 61 homepage = "https://github.com/readthedocs/sphinx-autoapi"; 62 changelog = "https://github.com/readthedocs/sphinx-autoapi/blob/${src.tag}/CHANGELOG.rst"; 63 description = "Provides 'autodoc' style documentation"; 64 longDescription = '' 65 Sphinx AutoAPI provides 'autodoc' style documentation for 66 multiple programming languages without needing to load, run, or 67 import the project being documented. 68 ''; 69 license = licenses.mit; 70 maintainers = with maintainers; [ ]; 71 }; 72}