Skip to content

Fix cffi extension build configuration#223

Merged
dataflake merged 1 commit intomasterfrom
dataflake/fix_cffi_extensions
Oct 7, 2025
Merged

Fix cffi extension build configuration#223
dataflake merged 1 commit intomasterfrom
dataflake/fix_cffi_extensions

Conversation

@dataflake
Copy link
Copy Markdown
Member

Closes #222

CFFI does not support pyproject.toml yet, instructions and prerequisites for building CFFI extension modules must stay in setup.py for now.

CFFI does not support pyproject.toml yet, instructions and prerequisites
for building CFFI extension modules must stay in setup.py for now.
@dataflake dataflake requested a review from icemac October 6, 2025 12:55
@dataflake dataflake self-assigned this Oct 6, 2025
Copy link
Copy Markdown
Member

@davisagli davisagli left a comment

Choose a reason for hiding this comment

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

Maybe instead it would make sense to update https://github.com/zopefoundation/persistent/blob/master/.github/workflows/tests.yml to use https://build.pypa.io/en/stable/ (which uses pyproject.toml) instead of calling setup.py directly? That is what is documented here: https://packaging.python.org/en/latest/tutorials/packaging-projects/#generating-distribution-archives

I'm okay with this as a quick interim fix though!

Comment thread setup.py
@dataflake dataflake merged commit daf2ded into master Oct 7, 2025
53 checks passed
@dataflake dataflake deleted the dataflake/fix_cffi_extensions branch October 7, 2025 07:06
@dataflake
Copy link
Copy Markdown
Member Author

If someone wants to research how CFFI extensions can be built without specifying them in setup.py as cffi_modules argument please go ahead. The CFFI documentation I have seen says that's still the only supported way.

@davisagli
Copy link
Copy Markdown
Member

@dataflake okay, I see now. Here's an open issue in cffi about it: python-cffi/cffi#55

@dataflake
Copy link
Copy Markdown
Member Author

@icemac I have released version 6.3 and tests are green on Zope and other packages that failed before, like Persistence. persistent release 6.2 is essentially a brown-bag release, the wheels for macOS and Windows are broken due to the missing extension file. That was my fault, I removed setup_requires earlier.

Do you agree that I should yank release 6.2 on PyPI?

@icemac
Copy link
Copy Markdown
Member

icemac commented Oct 8, 2025

@dataflake wrote:

Do you agree that I should yank release 6.2 on PyPI?

Thank you for fixing this issue. Yes, please yank 6.2 on PyPI to signal people not to use it.

@dataflake
Copy link
Copy Markdown
Member Author

Release 6.2 is now yanked from PyPI.

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.

persistent release 6.2 seems broken

3 participants