1{ lib
2, beautifulsoup4
3, buildPythonPackage
4, click
5, dataclasses-json
6, fetchFromGitHub
7, htmlmin
8, jinja2
9, markdown2
10, poetry-core
11, pygments
12, pytestCheckHook
13, pythonOlder
14, pytz
15, pyyaml
16, requests
17}:
18
19buildPythonPackage rec {
20 pname = "json-schema-for-humans";
21 version = "0.44.5";
22 format = "pyproject";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "coveooss";
28 repo = pname;
29 rev = "refs/tags/v${version}";
30 hash = "sha256-+RsJdlGMrjW2GFFLUcQBMwBnBlhST0knCleh2e3d10A=";
31 };
32
33 postPatch = ''
34 substituteInPlace pyproject.toml \
35 --replace 'pytz = "^2021.1"' 'pytz = "*"'
36 '';
37
38 nativeBuildInputs = [
39 poetry-core
40 ];
41
42 propagatedBuildInputs = [
43 click
44 dataclasses-json
45 htmlmin
46 jinja2
47 markdown2
48 pygments
49 pytz
50 pyyaml
51 requests
52 ];
53
54 nativeCheckInputs = [
55 beautifulsoup4
56 pytestCheckHook
57 ];
58
59 disabledTests = [
60 # Tests require network access
61 "test_references_url"
62 # Tests are failing
63 "TestMdGenerate"
64 ];
65
66 pythonImportsCheck = [
67 "json_schema_for_humans"
68 ];
69
70 meta = with lib; {
71 description = "Quickly generate HTML documentation from a JSON schema";
72 homepage = "https://github.com/coveooss/json-schema-for-humans";
73 changelog = "https://github.com/coveooss/json-schema-for-humans/releases/tag/v${version}";
74 license = licenses.asl20;
75 maintainers = with maintainers; [ astro ];
76 };
77}