1{
2 lib,
3 buildPythonPackage,
4 pythonOlder,
5 fetchFromGitHub,
6 poetry-core,
7 pythonRelaxDepsHook,
8 setuptools,
9 wheel,
10 ipykernel,
11 nbclient,
12 nbformat,
13 pygments,
14 pytest,
15 pyyaml,
16 pytest-xdist,
17 pytestCheckHook,
18 typing-extensions,
19}:
20
21buildPythonPackage rec {
22 pname = "nbmake";
23 version = "1.5.3";
24 pyproject = true;
25
26 disabled = pythonOlder "3.8";
27
28 src = fetchFromGitHub {
29 owner = "treebeardtech";
30 repo = "nbmake";
31 rev = "refs/tags/v${version}";
32 hash = "sha256-sX0YqyBchLlo0QPIpLvl11/gwoiZknG5rBDzmQKiXhs=";
33 };
34
35 build-system = [
36 poetry-core
37 pythonRelaxDepsHook
38 setuptools
39 wheel
40 ];
41
42 dependencies = [
43 ipykernel
44 nbclient
45 nbformat
46 pygments
47 pytest
48 pyyaml
49 ];
50
51 pythonRelaxDeps = [ "nbclient" ];
52
53 pythonImportsCheck = [ "nbmake" ];
54
55 nativeCheckInputs = [
56 pytest-xdist
57 pytestCheckHook
58 typing-extensions
59 ];
60
61 __darwinAllowLocalNetworking = true;
62
63 meta = with lib; {
64 description = "Pytest plugin for testing notebooks";
65 homepage = "https://github.com/treebeardtech/nbmake";
66 changelog = "https://github.com/treebeardtech/nbmake/releases/tag/v${version}";
67 license = licenses.asl20;
68 maintainers = with maintainers; [ GaetanLepage ];
69 };
70}