Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
26 changes: 18 additions & 8 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -116,15 +116,15 @@ jobs:

build_linux_wheels:
docker:
- image: cimg/python:3.10
- image: cimg/python:3.12
steps:
- checkout # checkout source code to working directory
- setup_remote_docker
- run:
name: Build Linux wheels
command: |
pip install --upgrade pip
pip install cibuildwheel
pip install "cibuildwheel==4.1.0"

export CIBW_ARCHS_LINUX="x86_64"
export CIBW_BUILD="cp310-manylinux_x86_64 cp311-manylinux_x86_64 cp312-manylinux_x86_64 cp313-manylinux_x86_64 cp314-manylinux_x86_64"
Expand All @@ -148,10 +148,9 @@ jobs:
name: Build macOS wheels
command: |
python3 -m pip install --upgrade pip
python3 -m pip install cibuildwheel
softwareupdate --install-rosetta --agree-to-license || true
python3 -m pip install "cibuildwheel==4.1.0"

export CIBW_ARCHS_MACOS="universal2"
export CIBW_ARCHS_MACOS="arm64"
export CIBW_BUILD="cp310-macosx_* cp311-macosx_* cp312-macosx_* cp313-macosx_* cp314-macosx_*"
export CIBW_SKIP="pp*"
export CIBW_TEST_COMMAND='python -c "import nucleus._native_dedup as native; assert native.deduplicate_phashes([0, 1023, 2047], 10) == [0, 2]"'
Expand All @@ -172,13 +171,24 @@ jobs:
- run:
name: Build Windows wheels
command: |
python -m pip install --upgrade pip
python -m pip install cibuildwheel
$PythonHost = Get-ChildItem -Path "C:\Python3*\python.exe" |
Where-Object {
& $_.FullName -c "import sys; raise SystemExit(0 if sys.version_info >= (3, 11) else 1)"
$LASTEXITCODE -eq 0
} |
Sort-Object FullName -Descending |
Select-Object -First 1 -ExpandProperty FullName
if (-not $PythonHost) {
throw "No Python 3.11+ host interpreter found for cibuildwheel"
}
& $PythonHost --version
& $PythonHost -m pip install --upgrade pip
& $PythonHost -m pip install "cibuildwheel==4.1.0"

$env:CIBW_BUILD = "cp310-win_amd64 cp311-win_amd64 cp312-win_amd64 cp313-win_amd64 cp314-win_amd64"
$env:CIBW_SKIP = "pp*"
$env:CIBW_TEST_COMMAND = 'python -c "import nucleus._native_dedup as native; assert native.deduplicate_phashes([0, 1023, 2047], 10) == [0, 2]"'
python -m cibuildwheel --platform windows --output-dir dist
& $PythonHost -m cibuildwheel --platform windows --output-dir dist

Get-ChildItem dist
- persist_to_workspace:
Expand Down
8 changes: 8 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,14 @@ All notable changes to the [Nucleus Python Client](https://github.com/scaleapi/n
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.18.8](https://github.com/scaleapi/nucleus-python-client/releases/tag/v0.18.8) - 2026-06-17

### Fixed
- Build macOS wheels as native `arm64` wheels on the CircleCI Apple Silicon runner instead of requesting `universal2`, which produced an `arm64` wheel that cibuildwheel then tried to test under `x86_64`.

### Tooling / CI
- Pin `cibuildwheel` in release wheel jobs, run the Linux wheel builder from a compatible Python host, and select a Python 3.11+ Windows host interpreter so the Python 3.10 through 3.14 wheel matrix is deterministic.

## [0.18.7](https://github.com/scaleapi/nucleus-python-client/releases/tag/v0.18.7) - 2026-06-17

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ ignore = ["E501", "E741", "E731", "F401"] # Easy ignore for getting it running

[tool.poetry]
name = "scale-nucleus"
version = "0.18.7"
version = "0.18.8"
description = "The official Python client library for Nucleus, the Data Platform for AI"
license = "MIT"
authors = ["Scale AI Nucleus Team <nucleusapi@scaleapi.com>"]
Expand Down