From e866e62db5dc550cfe0fadf4b47df4949053138e Mon Sep 17 00:00:00 2001 From: Robsdedude Date: Mon, 10 Nov 2025 10:32:41 +0100 Subject: [PATCH 1/2] Python 3.14 --- changelog.d/75.feature.md | 1 + driver | 2 +- pyproject.toml | 1 + testkit/Dockerfile | 18 ++---------------- tox.ini | 2 +- 5 files changed, 6 insertions(+), 18 deletions(-) create mode 100644 changelog.d/75.feature.md diff --git a/changelog.d/75.feature.md b/changelog.d/75.feature.md new file mode 100644 index 0000000..cbe1361 --- /dev/null +++ b/changelog.d/75.feature.md @@ -0,0 +1 @@ +Add support for Python 3.14 . diff --git a/driver b/driver index d10d2cd..4fc39f3 160000 --- a/driver +++ b/driver @@ -1 +1 @@ -Subproject commit d10d2cd689340d9f2acfe67ca19131936e722f04 +Subproject commit 4fc39f3e6f3ea53e2987cd30d47412b36a5f7025 diff --git a/pyproject.toml b/pyproject.toml index f24e01f..5f742bd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Rust", "Topic :: Database", "Topic :: Software Development", diff --git a/testkit/Dockerfile b/testkit/Dockerfile index 9382dca..3f0c5c7 100644 --- a/testkit/Dockerfile +++ b/testkit/Dockerfile @@ -42,7 +42,7 @@ ENV PYENV_ROOT=/.pyenv ENV PATH="$PYENV_ROOT/shims:$PYENV_ROOT/bin:$PATH" # Setup python version -ENV PYTHON_VERSIONS="3.13 3.12 3.11 3.10" +ENV PYTHON_VERSIONS="3.14 3.13 3.12 3.11 3.10" RUN for version in $PYTHON_VERSIONS; do \ pyenv install $version; \ @@ -50,7 +50,7 @@ RUN for version in $PYTHON_VERSIONS; do \ RUN pyenv rehash RUN pyenv global $(pyenv versions --bare --skip-aliases | sort --version-sort --reverse) -# Install Latest pip and setuptools for each environment +# Install Latest pip for each environment # + tox and tools for starting the tests # https://pip.pypa.io/en/stable/news/ RUN for version in $PYTHON_VERSIONS; do \ @@ -61,17 +61,3 @@ RUN for version in $PYTHON_VERSIONS; do \ # Install Rust toolchain RUN curl https://sh.rustup.rs -sSf | bash -s -- -y ENV PATH="/root/.cargo/bin:${PATH}" - -# Installing pyarrow lib until pre-built wheel for Python 3.13 exists -# https://github.com/apache/arrow/issues/43519 -RUN apt update && \ - apt install -y -V lsb-release cmake gcc && \ - distro_name=$(lsb_release --id --short | tr 'A-Z' 'a-z') && \ - code_name=$(lsb_release --codename --short) && \ - wget https://apache.jfrog.io/artifactory/arrow/${distro_name}/apache-arrow-apt-source-latest-${code_name}.deb && \ - apt install -y -V ./apache-arrow-apt-source-latest-${code_name}.deb && \ - apt update && \ - apt install -y -V libarrow-dev libarrow-dataset-dev libarrow-flight-dev libparquet-dev && \ - apt clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* -ENV PYARROW_WITH_CUDA=off -ENV PYARROW_WITH_GANDIVA=of diff --git a/tox.ini b/tox.ini index 2541c90..a1bf27e 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{310,311,312,313}-{test}-{releasedriver,devdriver} +envlist = py{310,311,312,313,314}-{test}-{releasedriver,devdriver} [testenv] dependency_groups = From f54f09257849e61e3f22abfef24d25f4a9485a44 Mon Sep 17 00:00:00 2001 From: Robsdedude Date: Mon, 10 Nov 2025 16:36:22 +0100 Subject: [PATCH 2/2] Fix TestKit glue: ability to use local driver across the board --- testkit/build.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/testkit/build.py b/testkit/build.py index 1393c49..dfaf2fd 100644 --- a/testkit/build.py +++ b/testkit/build.py @@ -14,7 +14,10 @@ # limitations under the License. -from _common import run_python +from _common import ( + run_python, + TEST_LOCAL_DRIVER, +) if __name__ == "__main__": @@ -33,3 +36,5 @@ ".", ] ) + if TEST_LOCAL_DRIVER: + run_python(["-m", "pip", "install", "./driver", "--no-deps"])