From nobody Tue Dec 09 11:23:28 2025 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4dQc0x0r0jz6KQlP for ; Tue, 09 Dec 2025 11:23:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4dQc0w6W95z3XSN for ; Tue, 09 Dec 2025 11:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765279408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bsWecRN/6LWi5/RuC7HcwMYtsEVOojlQut4eZmRzfm0=; b=xuYn3jIgkmb8Qq8h7DMg1h0ruNknQDkcyys6VwcSvWUzWtDZQUlLVmlQLAW+0ZN5iQETw0 yGLlDfnt/lSMil+1ngA2CGdn9dlShgEq4JRUOS2NP8Jh5PRBJsT8dgoClvijQCYY9E2cLN 2CisM2TU8qkFbEiIeNSvrFTehoAB3H/7I+PWuhnSpAQIa2Qe1uJaHHqSuwaAto+03l4yav rRot9Dy0OE9BgJHOtQXdTogaCo+MfCkJ9QKgECXABpJLfTTM8Rplvkw3NZ44+J7lrYm3gH Nu+IsnM3pP+XLsz0QszEynYx7m8adex7hhtrj1Ke5yawUXCw+DuTwogLOqv+ZA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1765279408; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bsWecRN/6LWi5/RuC7HcwMYtsEVOojlQut4eZmRzfm0=; b=ZIm0dCO79bLzgktloACx47RUpLVUhBEzJTSmj44BPWMfF7Q0aZ6uR5LZ5ZntTFotbr8oxW rzEZ79sdl0exPrA1W3nLrz1pZzG1CPvan6ndC3uUY9XAaAN7iIsM1rfub1YW5vMGZ+1YeT r4kq9hqQE6spoMSeG3K3xcs9qozMJvIP51RBcBZA/kHd4W2fOoz2v14FnHn0oZrcVM2G3s bA/zlDFW4Dz998DR/X7+8CMf5jtG8+6Rc4/gnU7GMbuX2sZhfAJdT+yLlUIJBiQRJdoTw9 4bYArosN544Oj3eazx/ePpuOYv2EoJ2R9lMhx0+T0xuqu5PowwOHf0RTbNHO7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1765279408; a=rsa-sha256; cv=none; b=t/BtesCFQTmrPN5c7nZOomPEmVTDRmaXD62/mHWQhwHkuriDwf5PzwB7Pg+e8bWbblMsJu 2QEjICDg17vUGa7mqF3HWlImPDEpzfSeUHyL/Ehk2pLzXfiJhrwIJ2d8EvW1JB9EqGkgUJ Gr3xKVv5Z8ogwQsPqNBWRH5GgpKq71eZY4A1xljSvMWSo312d+PMnz7tbrZzQ/C7nu7VMT oVKI/xKaSOmrNYPmALahUhQB+VbJ6WT0jSS/VJthbchKcVMbFq0ndp5QYk5/v335gYHyKx A2lkKutl7QOmaoxeS85wZFoABoi+Z0SbC/t7T63zQuitw4iIuTKxBEw/xI4LYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4dQc0w60bmzwHx for ; Tue, 09 Dec 2025 11:23:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 3ff3b by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 09 Dec 2025 11:23:28 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: 8ad452903cff - main - databases/py-databricks-sql-connector: Add py-databricks-sql-connector 4.2.2 List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-dev-commits-ports-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 8ad452903cffdb8808383cbf2b1a4bea5530fd07 Auto-Submitted: auto-generated Date: Tue, 09 Dec 2025 11:23:28 +0000 Message-Id: <693806b0.3ff3b.2ff16ab8@gitrepo.freebsd.org> The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=8ad452903cffdb8808383cbf2b1a4bea5530fd07 commit 8ad452903cffdb8808383cbf2b1a4bea5530fd07 Author: Po-Chuan Hsieh AuthorDate: 2025-12-09 06:37:09 +0000 Commit: Po-Chuan Hsieh CommitDate: 2025-12-09 11:20:48 +0000 databases/py-databricks-sql-connector: Add py-databricks-sql-connector 4.2.2 The Databricks SQL Connector for Python allows you to develop Python applications that connect to Databricks clusters and SQL warehouses. It is a Thrift-based client with no dependencies on ODBC or JDBC. It conforms to the Python DB API 2.0 specification. This connector uses Arrow as the data-exchange format, and supports APIs (e.g. fetchmany_arrow) to directly fetch Arrow tables. Arrow tables are wrapped in the ArrowQueue class to provide a natural API to get several rows at a time. PyArrow is required to enable this and use these APIs, you can install it via pip install pyarrow or pip install databricks-sql-connector[pyarrow]. The connector includes built-in support for HTTP/HTTPS proxy servers with multiple authentication methods including basic authentication and Kerberos/Negotiate authentication. See docs/proxy.md and examples/proxy_authentication.py for details. --- databases/Makefile | 1 + databases/py-databricks-sql-connector/Makefile | 41 ++++++++++++++++++++++ databases/py-databricks-sql-connector/distinfo | 3 ++ .../files/patch-pyproject.toml | 23 ++++++++++++ databases/py-databricks-sql-connector/pkg-descr | 15 ++++++++ 5 files changed, 83 insertions(+) diff --git a/databases/Makefile b/databases/Makefile index 0f3fa1c7271b..aa8ccbcd1a1f 100644 --- a/databases/Makefile +++ b/databases/Makefile @@ -767,6 +767,7 @@ SUBDIR += py-couchdb SUBDIR += py-cymysql SUBDIR += py-databases + SUBDIR += py-databricks-sql-connector SUBDIR += py-datafusion SUBDIR += py-dbf SUBDIR += py-dbt-core diff --git a/databases/py-databricks-sql-connector/Makefile b/databases/py-databricks-sql-connector/Makefile new file mode 100644 index 000000000000..ce42b64862bc --- /dev/null +++ b/databases/py-databricks-sql-connector/Makefile @@ -0,0 +1,41 @@ +PORTNAME= databricks-sql-connector +PORTVERSION= 4.2.2 +CATEGORIES= databases python +MASTER_SITES= PYPI +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} +DISTNAME= databricks_sql_connector-${PORTVERSION} + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Databricks SQL Connector for Python +WWW= https://github.com/databricks/databricks-sql-python + +LICENSE= APACHE20 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}poetry-core>=1.0.0:devel/py-poetry-core@${PY_FLAVOR} +RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}lz4>=4.0.2<5:archivers/py-lz4@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}oauthlib>=3.1.0<4:security/py-oauthlib@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}openpyxl>=3.0.10<4:textproc/py-openpyxl@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pandas>=2.2.3,1:math/py-pandas@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pybreaker>=1.0.0<2:devel/py-pybreaker@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyjwt>=2.0.0<3:www/py-pyjwt@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-dateutil>=2.8.0<3:devel/py-python-dateutil@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests>=2.18.1<3:www/py-requests@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}requests-kerberos>=0.15.0<0.16:www/py-requests-kerberos@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}thrift>=0.16.0,1:devel/py-thrift@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}urllib3>=1.26,1:net/py-urllib3@${PY_FLAVOR} + +USES= python shebangfix +USE_PYTHON= autoplist concurrent pep517 + +NO_ARCH= yes + +SHEBANG_FILES= src/databricks/sql/thrift_api/TCLIService/TCLIService-remote + +OPTIONS_DEFINE= PYARROW +OPTIONS_DEFAULT=PYARROW +PYARROW_DESC= Apache Arrow support + +PYARROW_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}pyarrow>=18.0.0:databases/py-pyarrow@${PY_FLAVOR} + +.include diff --git a/databases/py-databricks-sql-connector/distinfo b/databases/py-databricks-sql-connector/distinfo new file mode 100644 index 000000000000..67475348d141 --- /dev/null +++ b/databases/py-databricks-sql-connector/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1765032620 +SHA256 (databricks_sql_connector-4.2.2.tar.gz) = 409632a6adb93e849ecd5faaa2e98192e307c984e85cc7c696fb8e953acb7403 +SIZE (databricks_sql_connector-4.2.2.tar.gz) = 186206 diff --git a/databases/py-databricks-sql-connector/files/patch-pyproject.toml b/databases/py-databricks-sql-connector/files/patch-pyproject.toml new file mode 100644 index 000000000000..280850edd011 --- /dev/null +++ b/databases/py-databricks-sql-connector/files/patch-pyproject.toml @@ -0,0 +1,23 @@ +--- pyproject.toml.orig 1970-01-01 00:00:00 UTC ++++ pyproject.toml +@@ -10,10 +10,10 @@ python = "^3.8.0" + + [tool.poetry.dependencies] + python = "^3.8.0" +-thrift = ">=0.16.0,<0.21.0" ++thrift = ">=0.16.0" + pandas = [ +- { version = ">=1.2.5,<2.3.0", python = ">=3.8,<3.13" }, +- { version = ">=2.2.3,<2.3.0", python = ">=3.13" } ++ { version = ">=1.2.5", python = ">=3.8,<3.13" }, ++ { version = ">=2.2.3", python = ">=3.13" } + ] + lz4 = "^4.0.2" + requests = "^2.18.1" +@@ -88,4 +88,4 @@ skip_covered = false + skip_covered = false + + [tool.coverage.xml] +-output = "coverage.xml" +\ No newline at end of file ++output = "coverage.xml" diff --git a/databases/py-databricks-sql-connector/pkg-descr b/databases/py-databricks-sql-connector/pkg-descr new file mode 100644 index 000000000000..d8ce2f20df94 --- /dev/null +++ b/databases/py-databricks-sql-connector/pkg-descr @@ -0,0 +1,15 @@ +The Databricks SQL Connector for Python allows you to develop Python +applications that connect to Databricks clusters and SQL warehouses. It is a +Thrift-based client with no dependencies on ODBC or JDBC. It conforms to the +Python DB API 2.0 specification. + +This connector uses Arrow as the data-exchange format, and supports APIs (e.g. +fetchmany_arrow) to directly fetch Arrow tables. Arrow tables are wrapped in the +ArrowQueue class to provide a natural API to get several rows at a time. PyArrow +is required to enable this and use these APIs, you can install it via pip +install pyarrow or pip install databricks-sql-connector[pyarrow]. + +The connector includes built-in support for HTTP/HTTPS proxy servers with +multiple authentication methods including basic authentication and +Kerberos/Negotiate authentication. See docs/proxy.md and +examples/proxy_authentication.py for details.