Skip to content

Fix pyiceberg-core dev dependency resolution#2442

Merged
blackmwk merged 4 commits into
apache:mainfrom
kevinjqliu:kevinjqliu/fix-python-resolver
May 13, 2026
Merged

Fix pyiceberg-core dev dependency resolution#2442
blackmwk merged 4 commits into
apache:mainfrom
kevinjqliu:kevinjqliu/fix-python-resolver

Conversation

@kevinjqliu

Copy link
Copy Markdown
Contributor

Which issue does this PR close?

  • Closes #.

What changes are included in this PR?

Update bindings/python dev dependencies so uv resolves a real PyIceberg release instead of falling back to the unrelated pyiceberg 0.0.2 stub on PyPI:

  • Add a pyiceberg[sql-sqlite]>=0.11 lower bound so the resolver cannot select the 0.0.2 stub.
  • Drop the pyiceberg[pyarrow] extra, which depends on pyiceberg-core and conflicts with this local pyiceberg-core project.
  • Add pyarrow>=17 as a direct dev dependency to replace what the dropped extra provided.

bindings/python/uv.lock is regenerated with the minimal delta required by these changes; no transitive packages are upgraded.

This should resolve the issue we're seeing when upgrading dependencies (#2326, #2287, #2297)

Are these changes tested?

@kevinjqliu kevinjqliu requested review from CTTY and blackmwk May 13, 2026 03:12
# Set a PyIceberg lower bound; otherwise the resolver may select the
# unrelated 0.0.2 stub.
# Keep pyarrow direct because current pyiceberg[pyarrow] releases depend on
# pyiceberg-core, which conflicts with this local pyiceberg-core project.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

we need to change pyiceberg[pyarrow] to not pull in pyiceberg-core

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

"datafusion==52.*",
"pyiceberg[sql-sqlite,pyarrow]",
# Set a PyIceberg lower bound; otherwise the resolver may select the
# unrelated 0.0.2 stub.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

we need to yank these stubs from pypi

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

@kevinjqliu

Copy link
Copy Markdown
Contributor Author

I tried to bump pytest to 9.0.3 locally (#2326) and it worked!

@blackmwk blackmwk left a comment

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.

Thanks @kevinjqliu for this pr!

@blackmwk blackmwk merged commit 9e41301 into apache:main May 13, 2026
21 checks passed
@kevinjqliu kevinjqliu deleted the kevinjqliu/fix-python-resolver branch May 13, 2026 13:25
kevinjqliu pushed a commit to apache/iceberg-python that referenced this pull request May 26, 2026
<!--
Thanks for opening a pull request!
-->

<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
Closes #3356

# Rationale for this change
Update ```pyproject.toml``` so ```pyarrow``` no longer pulls in
```pyarrow-core```. The ```uv.lock``` was also regenerated to reflect
the change of the dependency tree. All test passed in both test and
test-integration. However, in integration 80 test where skipped after
the update,

This is an issue presented in
apache/iceberg-rust#2442

## Are these changes tested?

## Are there any user-facing changes?

<!-- In the case of user-facing changes, please add the changelog label.
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants