1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, jinja2
5, pytestCheckHook
6, pythonOlder
7, setuptools-scm
8, selenium
9}:
10
11buildPythonPackage rec {
12 pname = "branca";
13 version = "0.6.0";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchFromGitHub {
19 owner = "python-visualization";
20 repo = pname;
21 rev = "refs/tags/v${version}";
22 hash = "sha256-bcqr+vGKBga4rR4XFRWbjtw5xL+pWkIt+ihtKlKF6Y8=";
23 };
24
25 SETUPTOOLS_SCM_PRETEND_VERSION = version;
26
27 postPatch = ''
28 # We don't want flake8
29 rm setup.cfg
30 '';
31
32 nativeBuildInputs = [
33 setuptools-scm
34 ];
35
36 propagatedBuildInputs = [
37 jinja2
38 ];
39
40 nativeCheckInputs = [
41 pytestCheckHook
42 selenium
43 ];
44
45 pythonImportsCheck = [
46 "branca"
47 ];
48
49 disabledTestPaths = [
50 # Some tests require a browser
51 "tests/test_utilities.py"
52 ];
53
54 disabledTests = [
55 "test_rendering_utf8_iframe"
56 "test_rendering_figure_notebook"
57 ];
58
59 meta = with lib; {
60 description = "Generate complex HTML+JS pages with Python";
61 homepage = "https://github.com/python-visualization/branca";
62 changelog = "https://github.com/python-visualization/branca/blob/v${version}/CHANGES.txt";
63 license = with licenses; [ mit ];
64 maintainers = with lib.maintainers; [ ];
65 };
66}