From eaf3b3deb32769a5c61b3ffc38b7cd2ab6e6f4f9 Mon Sep 17 00:00:00 2001 From: Phillip Cloud <417981+cpcloud@users.noreply.github.com> Date: Wed, 26 Jul 2023 06:23:23 -0400 Subject: [PATCH] python3Packages.clickhouse-connect: init at 0.6.8 --- .../clickhouse-connect/default.nix | 85 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 87 insertions(+) create mode 100644 pkgs/development/python-modules/clickhouse-connect/default.nix diff --git a/pkgs/development/python-modules/clickhouse-connect/default.nix b/pkgs/development/python-modules/clickhouse-connect/default.nix new file mode 100644 index 000000000000..1a99fae75076 --- /dev/null +++ b/pkgs/development/python-modules/clickhouse-connect/default.nix @@ -0,0 +1,85 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, pytestCheckHook + ### build_requires +, cython_3 + ### install_requires +, certifi +, importlib-metadata +, urllib3 +, pytz +, zstandard +, lz4 + ### extras_require +, sqlalchemy +, numpy +, pandas +, pyarrow +, orjson + ### not in tests_require, but should be +, pytest-dotenv +}: +buildPythonPackage rec { + pname = "clickhouse-connect"; + version = "0.6.8"; + + format = "setuptools"; + + disabled = pythonOlder "3.7"; + + src = fetchFromGitHub { + repo = "clickhouse-connect"; + owner = "ClickHouse"; + rev = "v${version}"; + hash = "sha256-T1vUXhOngPvA4wrg5jVzIiqj0B0gEnk/BS5OdopHgkA="; + }; + + nativeBuildInputs = [ cython_3 ]; + setupPyBuildFlags = [ "--inplace" ]; + enableParallelBuilding = true; + + propagatedBuildInputs = [ + certifi + importlib-metadata + urllib3 + pytz + zstandard + lz4 + ]; + + nativeCheckInputs = [ pytestCheckHook pytest-dotenv ] + ++ passthru.optional-dependencies.sqlalchemy + ++ passthru.optional-dependencies.numpy; + + # these tests require a running clickhouse instance + pytestFlagsArray = [ + "--deselect=tests/integration_tests" + "--deselect=tests/tls" + ]; + + pythonImportsCheck = [ + "clickhouse_connect" + "clickhouse_connect.driverc.buffer" + "clickhouse_connect.driverc.dataconv" + "clickhouse_connect.driverc.npconv" + ]; + + passthru = { + optional-dependencies = { + sqlalchemy = [ sqlalchemy ]; + numpy = [ numpy ]; + pandas = [ pandas ]; + arrow = [ pyarrow ]; + orjson = [ orjson ]; + }; + }; + + meta = with lib; { + description = "ClickHouse Database Core Driver for Python, Pandas, and Superset"; + homepage = "https://github.com/ClickHouse/clickhouse-connect"; + license = licenses.asl20; + maintainers = with maintainers; [ cpcloud ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 55f459eba8a4..6a847b93afe0 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1993,6 +1993,8 @@ self: super: with self; { clickhouse-cli = callPackage ../development/python-modules/clickhouse-cli { }; + clickhouse-connect = callPackage ../development/python-modules/clickhouse-connect { }; + clickhouse-driver = callPackage ../development/python-modules/clickhouse-driver { }; cliff = callPackage ../development/python-modules/cliff { };