Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
336bf44
Updating to state of current work... while also removing existing sub…
absurdfarce Nov 20, 2025
ecbbe3c
Updating to use absurdfarce/python-driver
absurdfarce Nov 20, 2025
1edae4f
Updating submodule to use latest commit on python1428 branch of absur…
absurdfarce Nov 20, 2025
ccee4f6
Update to reflect recent work on moving to pyproject.toml
absurdfarce Dec 22, 2025
2d65174
Temporarily remove stripping of symbols from shared objects in order …
absurdfarce Dec 23, 2025
bcd8646
Revert "Temporarily remove stripping of symbols from shared objects i…
absurdfarce Dec 23, 2025
c06ba16
Let's try including an explicitly empty CFLAGS to avoid the compiler …
absurdfarce Dec 23, 2025
15c4e8d
Trying the default gcc compilation args + stripping of symbols
absurdfarce Dec 23, 2025
aecd59c
Revert "Trying the default gcc compilation args + stripping of symbols"
absurdfarce Dec 23, 2025
3af044e
Revert "Let's try including an explicitly empty CFLAGS to avoid the c…
absurdfarce Dec 23, 2025
efe43a3
Restoring the full Python build matrix - Python 3.9 + Python 3.14
absurdfarce Jan 9, 2026
1ae3b6a
Update OSX configs to account for removal of MacOS 13 runner
absurdfarce Jan 9, 2026
5096c6c
Bump target Python versions for MacOS
absurdfarce Jan 10, 2026
d49eb3d
Update python-driver to reflect recent pyproject.toml changes
absurdfarce Jan 12, 2026
920678a
Trying out the script-based pyproject.toml update process
absurdfarce Jan 12, 2026
dfd3434
Formatting issue
absurdfarce Jan 12, 2026
46c4135
A few minor fixes
absurdfarce Jan 12, 2026
ee369ed
Bump Python versions on Windows to Python 3.10 through 3.14.
absurdfarce Jan 12, 2026
f284c13
Formatting fix
absurdfarce Jan 12, 2026
4b61782
Merge branch 'master' into python1428
absurdfarce Jan 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/workflows/build_wheels_linux.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,14 @@ jobs:
name: Build wheels on ubuntu-22.04
runs-on: ubuntu-22.04
env:
CIBW_BUILD: cp39-* cp310-* cp311-* cp312-* cp313-*
CIBW_BUILD: cp310-* cp311-* cp312-* cp313-* cp314-*
CIBW_SKIP: "*musllinux*"
CIBW_ARCHS_LINUX: x86_64 aarch64
CIBW_TEST_REQUIRES: pytest mock pure-sasl eventlet
CIBW_TEST_COMMAND: echo "wheel is installed"
CIBW_BEFORE_ALL: yum install -y libev libev-devel
CIBW_ENVIRONMENT: CFLAGS='-s -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O3 -Wall'
CIBW_BUILD_VERBOSITY: 3
steps:
- uses: actions/checkout@v4
with:
Expand Down
9 changes: 5 additions & 4 deletions .github/workflows/build_wheels_mac.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,19 +8,20 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
# macos-13 == Intel, macos-14 == ARM
os: [macos-13, macos-14]
# macos-15-intel == Intel, macos-14 == ARM
# macos-15-intel is the last x86_64 runner (https://github.com/actions/runner-images/issues/13046)
os: [macos-15-intel, macos-14]
min_version: [10.9, 11.0]
exclude:
# Always try for the maximal min version for x86_64 builds
- os: macos-13
- os: macos-15-intel
min_version: 11.0
# ARM builds require an OSX version of at least 11.0
- os: macos-14
min_version: 10.9
env:
CIBW_ENVIRONMENT: CFLAGS="-mmacosx-version-min=${{ matrix.min_version }}"
CIBW_BUILD: cp39-* cp310-* cp311-* cp312-* cp313-*
CIBW_BUILD: cp310-* cp311-* cp312-* cp313-* cp314-*
CIBW_SKIP: "*musllinux*"
CIBW_TEST_REQUIRES: pytest mock pure-sasl eventlet
CIBW_TEST_COMMAND: echo "wheel is installed"
Expand Down
12 changes: 8 additions & 4 deletions .github/workflows/build_wheels_win.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,22 @@ jobs:
name: Build wheels on windows-2022
runs-on: windows-2022
env:
CIBW_BUILD: cp39-* cp310-* cp311-* cp312-* cp313-*
CIBW_SKIP: "*musllinux*"
CIBW_BUILD: cp310-* cp311-* cp312-* cp313-* cp314-*
CIBW_SKIP: "*musllinux* *win32"
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bschoening What do you think about this? I'm okay with yanking Win32 wheel builds; they're broken anyway (see CASSPYTHON-5) and I'm not at all convinced it's worth it to try and fix them.

CIBW_TEST_REQUIRES: pytest mock pure-sasl eventlet
CIBW_TEST_COMMAND: echo "wheel is installed"
CASS_DRIVER_LIBEV_INCLUDES: C:\vcpkg\packages\libev_x64-windows\include\libev
CASS_DRIVER_LIBEV_LIBS: C:\vcpkg\packages\libev_x64-windows\lib
LIBEV_INCLUDES: C:\vcpkg\packages\libev_x64-windows\include\libev
LIBEV_LIBS: C:\vcpkg\packages\libev_x64-windows\lib
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install libev
run: vcpkg install libev
- name: Update pyproject.toml to find libev
run: |
pip install toml
python scripts/update_pyproject.py python-driver/pyproject.toml "${{ env.LIBEV_INCLUDES }}" "${{ env.LIBEV_LIBS }}"
- uses: pypa/[email protected]
with:
package-dir: ./python-driver
Expand Down
2 changes: 1 addition & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@
url = https://github.com/matthew-brett/multibuild.git
[submodule "python-driver"]
path = python-driver
url = https://github.com/datastax/python-driver.git
url = https://github.com/absurdfarce/python-driver.git
2 changes: 1 addition & 1 deletion python-driver
Submodule python-driver updated 265 files
16 changes: 16 additions & 0 deletions scripts/update_pyproject.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import toml

import shutil
import sys

(pyproject_path, libev_includes,libev_libs) = sys.argv[1:]

pyproject_path_backup = pyproject_path + ".original"

shutil.move(pyproject_path, pyproject_path_backup)
the_toml = toml.load(pyproject_path_backup)

the_toml["tool"]["cassandra-driver"]["libev-includes"] = [libev_includes]
the_toml["tool"]["cassandra-driver"]["libev-libs"] = [libev_libs]

toml.dump(the_toml, open(pyproject_path, "w"))