1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
|
{
lib,
buildPythonPackage,
fetchFromGitHub,
setuptools,
altair,
cryptography,
jinja2,
jsonschema,
marshmallow,
mistune,
numpy,
packaging,
pandas,
posthog,
pydantic,
pyparsing,
python-dateutil,
requests,
ruamel-yaml,
scipy,
tqdm,
tzlocal,
# test
pytestCheckHook,
pytest-mock,
pytest-order,
pytest-random-order,
click,
flaky,
freezegun,
invoke,
moto,
psycopg2,
requirements-parser,
responses,
sqlalchemy,
}:
buildPythonPackage rec {
pname = "great-expectations";
version = "1.5.7";
pyproject = true;
src = fetchFromGitHub {
owner = "great-expectations";
repo = "great_expectations";
tag = version;
hash = "sha256-pa44metr9KP2KF2ulq7kd84BVdBMvMhsWJeBsJ2AnG0=";
};
postPatch = ''
substituteInPlace tests/conftest.py --replace 'locale.setlocale(locale.LC_ALL, "en_US.UTF-8")' ""
substituteInPlace pyproject.toml \
--replace-fail '"ignore::marshmallow.warnings.ChangedInMarshmallow4Warning",' ""
'';
build-system = [ setuptools ];
dependencies = [
altair
cryptography
jinja2
jsonschema
marshmallow
mistune
numpy
packaging
pandas
posthog
pydantic
pyparsing
python-dateutil
requests
ruamel-yaml
scipy
tqdm
tzlocal
];
pythonRelaxDeps = [
"altair"
"pandas"
"posthog"
];
nativeCheckInputs = [
pytestCheckHook
pytest-mock
pytest-order
pytest-random-order
click
flaky
freezegun
invoke
moto
psycopg2
requirements-parser
responses
sqlalchemy
]
++ moto.optional-dependencies.s3
++ moto.optional-dependencies.sns;
disabledTestPaths = [
# try to access external URLs:
"tests/integration/cloud/rest_contracts"
"tests/integration/spark"
# moto-related import errors:
"tests/actions"
"tests/data_context"
"tests/datasource"
"tests/execution_engine"
# locale-related rendering issues, mostly:
"tests/core/test__docs_decorators.py"
"tests/expectations/test_expectation_atomic_renderers.py"
"tests/render"
];
disabledTestMarks = [
"postgresql"
"snowflake"
"spark"
];
disabledTests = [
# tries to access network:
"test_checkpoint_run_with_data_docs_and_slack_actions_emit_page_links"
"test_checkpoint_run_with_slack_action_no_page_links"
];
pythonImportsCheck = [ "great_expectations" ];
meta = {
broken = true; # 408 tests fail
description = "Library for writing unit tests for data validation";
homepage = "https://docs.greatexpectations.io";
changelog = "https://github.com/great-expectations/great_expectations/releases/tag/${src.tag}";
license = lib.licenses.asl20;
maintainers = with lib.maintainers; [ bcdarwin ];
};
}
|