Skip to content

Work around jpype1 1.7.0 missing macOS arm64 wheels in jdbc provider#65532

Merged
potiuk merged 1 commit intoapache:mainfrom
potiuk:jdbc-jpype1-macos-workaround
Apr 20, 2026
Merged

Work around jpype1 1.7.0 missing macOS arm64 wheels in jdbc provider#65532
potiuk merged 1 commit intoapache:mainfrom
potiuk:jdbc-jpype1-macos-workaround

Conversation

@potiuk
Copy link
Copy Markdown
Member

@potiuk potiuk commented Apr 20, 2026

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to build from source against a JDK on Apple Silicon, which breaks uv sync out of the box for contributors on that hardware.

Exclude jpype1 1.7.0 as a direct dependency of the jdbc provider, scoped to sys_platform == 'darwin' and platform_machine == 'arm64' only, so every other platform (including macOS x86_64) still resolves to the latest wheels. jaydebeapi stays as the direct runtime dependency — the jpype1 pin is purely to steer the transitive resolution on Apple Silicon.

Upstream is planning to restore the arm64 wheels in 1.7.1 (see jpype-project/jpype#1357), after which the !=1.7.0 marker can be dropped.


Was generative AI tooling used to co-author this PR?
  • Yes — Claude Code (claude-opus-4-7)

Generated-by: Claude Code (claude-opus-4-7) following the guidelines

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
@potiuk potiuk added the backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch label Apr 20, 2026
@potiuk potiuk added this to the Airflow 3.2.2 milestone Apr 20, 2026
Comment thread providers/jdbc/pyproject.toml
@potiuk potiuk merged commit 8ed50ae into apache:main Apr 20, 2026
71 checks passed
@potiuk potiuk deleted the jdbc-jpype1-macos-workaround branch April 20, 2026 14:43
@github-actions
Copy link
Copy Markdown
Contributor

Backport failed to create: v3-2-test. View the failure log Run details

Note: As of Merging PRs targeted for Airflow 3.X
the committer who merges the PR is responsible for backporting the PRs that are bug fixes (generally speaking) to the maintenance branches.

In matter of doubt please ask in #release-management Slack channel.

Status Branch Result
v3-2-test Commit Link

You can attempt to backport this manually by running:

cherry_picker 8ed50ae v3-2-test

This should apply the commit to the v3-2-test branch and leave the commit in conflict state marking
the files that need manual conflict resolution.

After you have resolved the conflicts, you can continue the backport process by running:

cherry_picker --continue

If you don't have cherry-picker installed, see the installation guide.

potiuk added a commit to potiuk/airflow that referenced this pull request Apr 20, 2026
…bc provider (apache#65532)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)

Co-authored-by: Jarek Potiuk <jarek@potiuk.com>
@potiuk
Copy link
Copy Markdown
Member Author

potiuk commented Apr 20, 2026

Backport in #65548

potiuk added a commit that referenced this pull request Apr 20, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
# wheels in 1.7.1 (see https://github.com/jpype-project/jpype/issues/1357). Other
# platforms (including macOS x86_64) still get all published versions.
"jpype1>=1.4.0,!=1.7.0; sys_platform == 'darwin' and platform_machine == 'arm64'",
"jpype1>=1.4.0; sys_platform != 'darwin' or platform_machine != 'arm64'",
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

FYI also in parallel to Slack: Also fails now on Python 3.11+3.12+3.13+3.14, only 3.10 seem to be working

vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit that referenced this pull request Apr 23, 2026
…bc provider (#65532) (#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit to potiuk/airflow that referenced this pull request Apr 23, 2026
…bc provider (apache#65532) (apache#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
vatsrahul1001 pushed a commit to potiuk/airflow that referenced this pull request Apr 23, 2026
…bc provider (apache#65532) (apache#65548)

jpype1 1.7.0 stopped shipping prebuilt macOS arm64 wheels and tries to
build from source against a JDK on Apple Silicon, which breaks
`uv sync` out of the box on those machines. Exclude jpype1 1.7.0 as a
direct dependency of the jdbc provider, scoped to darwin-arm64 only so
every other platform (including macOS x86_64) still resolves to the
latest wheels. Upstream plans to restore the arm64 wheels in 1.7.1
(jpype-project/jpype#1357), after which the
exclusion can be dropped.
(cherry picked from commit 8ed50ae)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:providers backport-to-v3-2-test Mark PR with this label to backport to v3-2-test branch kind:documentation provider:jdbc

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants