diff --git a/pkgs/development/python-modules/great-expectations/default.nix b/pkgs/development/python-modules/great-expectations/default.nix new file mode 100644 index 0000000000000..04a180c15eb38 --- /dev/null +++ b/pkgs/development/python-modules/great-expectations/default.nix @@ -0,0 +1,135 @@ +{ + 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.2.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "great-expectations"; + repo = "great_expectations"; + rev = "refs/tags/${version}"; + hash = "sha256-TV07vmc0XdP6ICv7Kws79zACCsahZ6FlhplJHbpDFNk="; + }; + + postPatch = '' + substituteInPlace tests/conftest.py --replace 'locale.setlocale(locale.LC_ALL, "en_US.UTF-8")' "" + ''; + + 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" + ]; + + 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" ]; + pytestFlagsArray = [ "-m 'not spark and not postgresql and not snowflake'" ]; + + meta = { + description = "Library for writing unit tests for data validation"; + homepage = "https://docs.greatexpectations.io"; + changelog = "https://github.com/great-expectations/great_expectations/releases/tag/${version}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ bcdarwin ]; + }; +} diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix index 99a1f58beb1c6..118cef585d22e 100644 --- a/pkgs/development/python-modules/moto/default.nix +++ b/pkgs/development/python-modules/moto/default.nix @@ -162,6 +162,7 @@ buildPythonPackage rec { pyyaml py-partiql-parser ]; + sns = [ ]; stepfunctions = [ antlr4-python3-runtime jsonpath-ng diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8bcd85ca9ae3a..800a5f16cf943 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5451,6 +5451,8 @@ self: super: with self; { greatfet = callPackage ../development/python-modules/greatfet { }; + great-expectations = callPackage ../development/python-modules/great-expectations { }; + great-tables = callPackage ../development/python-modules/great-tables { }; greeclimate = callPackage ../development/python-modules/greeclimate { };