-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
[stubsabot] Bump setuptools to 69.0.* #11049
Conversation
I'm not sure this is right; setuptools made a release that made it so they pick up py.typed by default, but I don't see anything in their code that indicates they are shipping a py.typed for their own code. |
Hah, okay, it looks like the wheel for the latest setuptools release does indeed include a Lines 180 to 181 in 5fd2e9b
After a bit of interactive debugging, however, I have identified that there are the following
We clearly need to make stubsabot a bit smarter here. |
I suppose the stubsabot logic here was valid for packages built with setuptools<69.0.0. For those packages, you could generally guarantee that |
I feel stubsabot should check that py.typed is present in all of the top-level directories installed by the package. (But maybe that's wrong for namespace packages?) |
Yes, that would be wrong for (at least some) namespace packages... inspecting the wheel for protobuf, it has this structure:
If protobuf were to (miraculously) become |
However, it's probably better here to have false negatives (stubsabot doesn't recognize a package is obsolete) than false positives (stubsabot incorrectly thinks a package is obsolete). In the former case, we can still manually mark the package as obsolete, but in the latter case, stubsabot becomes unusable for that package. So if we can't come up with a better heuristic, what I proposed is probably still better than the current situation. |
I'm working on a slightly more sophisticated approach. If you don't like it, then yeah, let's go with what you propose :) |
Release: https://pypi.org/pypi/setuptools/69.0.2 Homepage: https://github.com/pypa/setuptools Repository: https://github.com/pypa/setuptools Changelog: https://setuptools.pypa.io/en/stable/history.html Diff: pypa/setuptools@v68.2.2...v69.0.2 Stubsabot analysis of the diff between the two releases: - 1 public Python file has been added: `setuptools/modified.py`. - 0 files included in typeshed's stubs have been deleted. - 26 files included in typeshed's stubs have been modified or renamed. - Total lines of Python code added: 627. - Total lines of Python code deleted: 457. If stubtest fails for this PR: - Leave this PR open (as a reminder, and to prevent stubsabot from opening another PR) - Fix stubtest failures in another PR, then close this PR Note that you will need to close and re-open the PR in order to trigger CI
e40be8a
to
5b83617
Compare
Right, looks like stubsabot is working as expected now, but stubtest is now also confused about there being |
Which itself is caused by the existence of
Edit: Looks like either stubtest or stub_uploader is gonna need an update to keep the packaging subclassing. |
Release: https://pypi.org/pypi/setuptools/69.0.2
Homepage: https://github.com/pypa/setuptools
Repository: https://github.com/pypa/setuptools
Changelog: https://setuptools.pypa.io/en/stable/history.html
Diff: pypa/setuptools@v68.2.2...v69.0.2
Stubsabot analysis of the diff between the two releases:
setuptools/modified.py
.If stubtest fails for this PR:
Note that you will need to close and re-open the PR in order to trigger CI