-
-
Notifications
You must be signed in to change notification settings - Fork 481
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Readd init files #36753
Readd init files #36753
Conversation
c8a9c6e
to
817c49c
Compare
This change is not needed in Sage, so why not just keep this workaround in your experimental branch |
It fixes the issues you see in #36228. Not sure if you count your PR as being part of Sage or not. This PR also shows that the only reason why its currently working in the develop branch is that sage is monkey patching cython's package discovery.
Because #36524 is already in a good shape (there is only one compilation issue left), so to ease review of it I started to extract changes in that branch to new PRs. |
Yes, that is precisely the purpose of our customization of Cython. Obviously, #36228 is not part of Sage. It is a draft PR that investigates what the status of upstream Cython namespace package support is. We cannot yet switch to it. |
Should work with the changes of this PR. Give it a try: mkoeppe#20 |
Obviously, when you replace namespace packages by ordinary packages, then namespace package support is not needed. What's there to try out. But we need the namespace packages for the modularization -- which is why we removed the init files. |
So why not instead of calling |
Matthias, it's not my fault that Cython's namespace package support has bugs. So what's the problem with not using it (for now, until it's ready)?
It runs perfectly fine right now. If additional modularized distributions need namespace support, just don't install the init files (they are needed for compilation only). (Or design around the cython limitation for now and don't use namespace packages.)
I'm not calling cython myself. It's all handled internally by meson, see https://mesonbuild.com/Python-module.html#extension_module. |
Without doubt, trivial to customize. |
Once again, Sage is not affected by this bug because we have a working customization of Cython. |
What's the point of this posturing? Do you just want to make my work on #36524 harder? Clearly there are bugs in Cython. The options (brought forward so far) are either a) the current approach of monkey patching or b) just not using namespace modules during compilation (i.e. this PR here). Both are workarounds for the same Cython bug. Option a) does not work (easily) for #36524, while b) does work well. So why not go with b)? |
This comment was marked as abuse.
This comment was marked as abuse.
@tobiasdiez I have made clear to you in #36572 (comment) that insinuations of this type are unwelcome. I'm referring this to sage-abuse again. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nice - so we can revive our pytest efforts, right?
I don't think it humanely possible to count votes this way. |
@dimpase I agree that the system is not ideal. When you want to set it to positive review, you unfortunately have to browse through the entire PR history to count the votes. I guess we could reviews, somebody could build a vote-counting-bot, or we could use reactions on the PR itself. Anyway, I don't think this is a discussion that should be had on this PR but you could maybe propose something on sage-devel. So, for the record, currently these are the votes I see. (And hopefully, next time I remember and can start counting from this comment…) Current Votes (5-3)👍 @tobiasdiez (author) |
People can speak up without having to label anything. They can simply express that something that they have witnessed makes them uncomfortable. That's already helpful support for targets of abuse. |
I vote -1. I think that makes it 5-4. |
Could you please shortly outline how/why you came to this conclusion? Thanks! |
It is inappropriate to ask a voter to defend his voting. It is not part of the voting procedure. |
I'm just speaking for myself here, not the sage-conduct committee. I don't think it's unreasonable to ask someone for their reasoning, @jhpalmieri is just not obligated to respond. |
This comment was marked as abuse.
This comment was marked as abuse.
Aren't these votes also just normal PR reviews at the same time? According to our documentation, PR reviews needs to be accompanied with a comment explaining what changes you like to see before the PR can be merged. But more importantly than stressing definitions, I just don't know what I should change in this PR to make it acceptable to the people voting with -1. In particular:
So based on reasons given by people with negative votes, what should I change so that this PR can be merged? In particular, where are the "technical discussions" that should happening in these disputed PRs? All I can see agrees with @dimpase's analysis that "people engage in purely political voting here". But please prove me wrong! |
Documentation preview for this PR (built with commit 2e368bc; changes) is ready! 🎉 |
People interested in the technical discussion should read #36753 (comment), where I explain step by step why this PR is not a suitable solution. |
@tobiasdiez - what's going on here nowadays? |
Not much. The tools we use have still the same limitations around namespace packages (eg cython/cython#6287 and cython/cython#5335 and cython/cython#5237), so I still think it's a good idea to readd the init files until these issues are fixed. But given the current vote is 5-4, I don't think this can be solved by the "disputed" process except if some of the people that voted with -1 in the meantime support the change (or at least are no longer against it). The other resolution would be a vote on the mailing list. |
As part of autumn-cleanup, I'll close this PR now. It would still be highly desirably to readd these init files for now, but I guess we have to find a workaround for the tools limitations / namespace bugs at the moment.... |
might be good to find out whether pytest started to support namespace packages. |
Yes, there is now an option consider_namespace_packages, but my understanding is that its either or: either you use namespace packages everywhere or never. And there are still a few issues with this option: https://github.com/search?q=repo%3Apytest-dev%2Fpytest+consider_namespace_packages&type=issues |
There are various issues with using namespace packages because essential dependencies of sage are not fully supporting them. In particular,
Until these issues are fixed upstream, we revert #35322 and #35366 by readding the
__init__.py
files.The proposed alternative #37009 would only provide an (ugly) workaround for the last issue.
📝 Checklist
⌛ Dependencies