Skip to content

Conversation

@AbhinavPradeep
Copy link
Contributor

Summary

Added a has_binaries flag to the build spec. This helps differentiate between pure and non-pure Python wheels.

Description of changes

  1. Added a has_binaries flag to the BaseBuildSpecDict.
  2. Macaron now defers from generating a dockerfile for non-pure wheels.

@oracle-contributor-agreement oracle-contributor-agreement bot added the OCA Verified All contributors have signed the Oracle Contributor Agreement. label Jan 13, 2026
@behnazh-w behnazh-w marked this pull request as ready for review January 13, 2026 11:18
@behnazh-w behnazh-w self-requested a review as a code owner January 13, 2026 11:18
@behnazh-w behnazh-w changed the title feat: include has_binaries flag feat: include has_binaries flag in build spec Jan 13, 2026
@behnazh-w behnazh-w changed the base branch from main to abhinav/fix-gen-build-spec-bugs January 13, 2026 11:19
Copy link
Member

@behnazh-w behnazh-w left a comment

Choose a reason for hiding this comment

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

Can you please add an integration test for a Python package that includes binaries, to test this new field in the spec?

@behnazh-w behnazh-w changed the base branch from abhinav/fix-gen-build-spec-bugs to main January 15, 2026 11:00
Copy link
Member

@behnazh-w behnazh-w left a comment

Choose a reason for hiding this comment

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

Right now all the integration tests are testing pure Python packages. How about adding pkg:pypi/cryptography@46.0.3 as a new integration test, which releases non-pure packages?


@contextmanager
def wheel(self) -> Generator[None]:
def wheel(self, download_binaries: bool) -> Generator[None]:
Copy link
Member

Choose a reason for hiding this comment

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

Please update the doctring to include the parameter, return type, and raised exceptions.


try:
with pypi_package_json.wheel():
# Argument called download_binaries
Copy link
Member

Choose a reason for hiding this comment

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

Please improve this comment.

@AbhinavPradeep
Copy link
Contributor Author

Right now all the integration tests are testing pure Python packages. How about adding pkg:pypi/cryptography@46.0.3 as a new integration test, which releases non-pure packages?

Actually I did add tree-sitter as an integration test, this was how I found the non-determinism bug. I believe I forgot to add it in the latest commit 😅

Signed-off-by: Abhinav Pradeep <abhinav.pradeep@oracle.com>
Signed-off-by: Abhinav Pradeep <abhinav.pradeep@oracle.com>
Signed-off-by: Abhinav Pradeep <abhinav.pradeep@oracle.com>
…he build_requires.

Signed-off-by: Abhinav Pradeep <abhinav.pradeep@oracle.com>
Signed-off-by: Abhinav Pradeep <abhinav.pradeep@oracle.com>
Signed-off-by: Abhinav Pradeep <abhinav.pradeep@oracle.com>
@AbhinavPradeep AbhinavPradeep force-pushed the abhinav/include-has-binaries-flag branch from 61d9fbe to 452c46d Compare January 21, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

OCA Verified All contributors have signed the Oracle Contributor Agreement.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants