1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 mako,
6 parse,
7 parse-type,
8 poetry-core,
9 pytest,
10 pytest7CheckHook,
11 pythonOlder,
12 typing-extensions,
13}:
14
15buildPythonPackage rec {
16 pname = "pytest-bdd";
17 version = "7.1.2";
18 pyproject = true;
19
20 disabled = pythonOlder "3.7";
21
22 src = fetchFromGitHub {
23 owner = "pytest-dev";
24 repo = "pytest-bdd";
25 tag = version;
26 hash = "sha256-PC4VSsUU5qEFp/C/7OTgHINo8wmOo0w2d1Hpe0EnFzE=";
27 };
28
29 build-system = [ poetry-core ];
30
31 buildInputs = [ pytest ];
32
33 dependencies = [
34 mako
35 parse
36 parse-type
37 typing-extensions
38 ];
39
40 # requires an update for pytest 8.4 compat
41 nativeCheckInputs = [ pytest7CheckHook ];
42
43 preCheck = ''
44 export PATH=$PATH:$out/bin
45 '';
46
47 pythonImportsCheck = [ "pytest_bdd" ];
48
49 meta = with lib; {
50 description = "BDD library for the pytest";
51 homepage = "https://github.com/pytest-dev/pytest-bdd";
52 changelog = "https://github.com/pytest-dev/pytest-bdd/blob/${version}/CHANGES.rst";
53 license = licenses.mit;
54 maintainers = with maintainers; [ jm2dev ];
55 mainProgram = "pytest-bdd";
56 };
57}