1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 matplotlib,
7 numpy,
8 pandas,
9 pillow,
10 pytest,
11 pytest-datadir,
12 pytestCheckHook,
13 pyyaml,
14 setuptools-scm,
15}:
16
17buildPythonPackage rec {
18 pname = "pytest-regressions";
19 version = "2.5.0";
20 format = "setuptools";
21
22 disabled = pythonOlder "3.6";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-gYx4hMHP87q/ie67AsvCezB4VrGYVCfCTVLLgSoQb9k=";
27 };
28
29 nativeBuildInputs = [ setuptools-scm ];
30
31 buildInputs = [ pytest ];
32
33 propagatedBuildInputs = [
34 pytest-datadir
35 pyyaml
36 ];
37
38 nativeCheckInputs = [
39 matplotlib
40 pandas
41 pytestCheckHook
42 ];
43
44 pytestFlagsArray = [
45 "-W"
46 "ignore::DeprecationWarning"
47 ];
48
49 pythonImportsCheck = [
50 "pytest_regressions"
51 "pytest_regressions.plugin"
52 ];
53
54 optional-dependencies = {
55 dataframe = [
56 pandas
57 numpy
58 ];
59 image = [
60 numpy
61 pillow
62 ];
63 num = [
64 numpy
65 pandas
66 ];
67 };
68
69 meta = with lib; {
70 description = "Pytest fixtures to write regression tests";
71 longDescription = ''
72 pytest-regressions makes it simple to test general data, images,
73 files, and numeric tables by saving expected data in a data
74 directory (courtesy of pytest-datadir) that can be used to verify
75 that future runs produce the same data.
76 '';
77 homepage = "https://github.com/ESSS/pytest-regressions";
78 license = licenses.mit;
79 maintainers = [ ];
80 };
81}