diff --git a/pkgs/development/python-modules/trino-python-client/default.nix b/pkgs/development/python-modules/trino-python-client/default.nix index bbf712cdf37e..16756d0b36b3 100644 --- a/pkgs/development/python-modules/trino-python-client/default.nix +++ b/pkgs/development/python-modules/trino-python-client/default.nix @@ -1,26 +1,28 @@ { lib, buildPythonPackage, + boto3, fetchFromGitHub, - # build - setuptools, - # required - pytz, - requests, - tzlocal, - # optional - requests-kerberos, - sqlalchemy, - keyring, - # tests - pytestCheckHook, httpretty, + keyring, + lz4, + pytestCheckHook, + python-dateutil, + pytz, + requests-gssapi, + requests-kerberos, + requests, + setuptools, + sqlalchemy, + testcontainers, + tzlocal, + zstandard, }: buildPythonPackage rec { pname = "trino-python-client"; version = "0.334.0"; - format = "setuptools"; + pyproject = true; src = fetchFromGitHub { repo = "trino-python-client"; @@ -29,31 +31,37 @@ buildPythonPackage rec { hash = "sha256-cSwMmzIUFYX8VgSwobth8EsARUff3hhfBf+IrhuFSYM="; }; - nativeBuildInputs = [ setuptools ]; + build-system = [ setuptools ]; - propagatedBuildInputs = [ + dependencies = [ + lz4 + python-dateutil pytz requests tzlocal + zstandard ]; optional-dependencies = lib.fix (self: { kerberos = [ requests-kerberos ]; + gsaapi = [ requests-gssapi ]; sqlalchemy = [ sqlalchemy ]; external-authentication-token-cache = [ keyring ]; all = self.kerberos ++ self.sqlalchemy; }); nativeCheckInputs = [ + boto3 httpretty pytestCheckHook + testcontainers ] - ++ optional-dependencies.all; + ++ lib.flatten (builtins.attrValues optional-dependencies); pythonImportsCheck = [ "trino" ]; disabledTestPaths = [ - # these all require a running trino instance + # Tests require a running trino instance "tests/integration/test_types_integration.py" "tests/integration/test_dbapi_integration.py" "tests/integration/test_sqlalchemy_integration.py" @@ -61,6 +69,13 @@ buildPythonPackage rec { disabledTestMarks = [ "auth" ]; + disabledTests = [ + # Tests require a running trino instance + "test_oauth2" + "test_token_retrieved_once_when_authentication_instance_is_shared" + "test_multithreaded_oauth2_authentication_flow" + ]; + meta = with lib; { changelog = "https://github.com/trinodb/trino-python-client/blob/${src.tag}/CHANGES.md"; description = "Client for the Trino distributed SQL Engine";