1{ lib
2, buildPythonPackage
3, fetchPypi
4, coverage
5, ipykernel
6, jupyter-client
7, nbformat
8, pytestCheckHook
9, pytest
10, six
11, glibcLocales
12, matplotlib
13, sympy
14}:
15
16buildPythonPackage rec {
17 pname = "nbval";
18 version = "0.9.6";
19
20 src = fetchPypi {
21 inherit pname version;
22 sha256 = "cfefcd2ef66ee2d337d0b252c6bcec4023384eb32e8b9e5fcc3ac80ab8cd7d40";
23 };
24
25 buildInputs = [
26 glibcLocales
27 ];
28
29 propagatedBuildInputs = [
30 coverage
31 ipykernel
32 jupyter-client
33 nbformat
34 pytest
35 six
36 ];
37
38 checkInputs = [
39 pytestCheckHook
40 matplotlib
41 sympy
42 ];
43
44 disabledTestPaths = [
45 "tests/test_ignore.py"
46 # These are the main tests but they're fragile so skip them. They error
47 # whenever matplotlib outputs any unexpected warnings, e.g. deprecation
48 # warnings.
49 "tests/test_unit_tests_in_notebooks.py"
50 # Impure
51 "tests/test_timeouts.py"
52 # No value for us
53 "tests/test_coverage.py"
54 ];
55
56 # Some of the tests use localhost networking.
57 __darwinAllowLocalNetworking = true;
58
59 pythonImportsCheck = [
60 "nbval"
61 ];
62
63 meta = with lib; {
64 description = "A py.test plugin to validate Jupyter notebooks";
65 homepage = "https://github.com/computationalmodelling/nbval";
66 license = licenses.bsd3;
67 maintainers = with maintainers; [ costrouc ];
68 };
69}