-
Notifications
You must be signed in to change notification settings - Fork 31
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
Dockerfile to build upstream stubs #36
Dockerfile to build upstream stubs #36
Conversation
PyQtWebEngine is its own package, so to get QtWebEngine stubs, you'd also need to download/build that. |
That looks great to me. I didn't know of this sip-install command. That added a bunch of new PyQt5-stubs which is great. |
@BryceBeagle Would you like to add QtWebEngine to the build? |
Ah, I didn't realize that there were other PyQt packages. I looked at it briefly, but it looks like Also, because it's a different base package, wouldn't the stubs for them need to go in a package named |
I didn't know that this Python package existed either. From my point of view I think it makes sense to include it in our PyQt5-stubs if it lives in the same namespace (PyQt5.QtWebEngine) and if we can include the stub generation in our build process. I take it one always needs to install PyQt5 along with PyQtWebEngine so it would be more convenient to keep all stubs together in one place. |
…allation, and add them to the repo
Added:
|
Sounds good to me as well to include them in the existing package. IIRC the reason they're split upstream is to keep the size of the PyQt5 package small - that's not something we're concerned about with the stubs, and having separate stub packages would probably just make everything more complex for everyone. |
Now the only things we're missing are the platform-dependent extras. Maybe that should be a separate pull request? |
I'm a bit lost. Which platform-dependent extras do you refer to? |
Also you could remove the old buildenv directory if you like because the new one is so much better and I think we don't need the old one anymore. 👍 |
I'm not sure how to build |
Oh man I didn't even see that this existed because I was only paying attention the I should probably add a bit a documentation..... |
I wouldn' t bother too much about them. I guess they might only build in their native os.
Actually I think your script is doing very nicely and is even more sophisticated. So it is a great replacement. |
Yes, some documentation for using the build script would be great. I think this can go right in the README. Also please add a new Changelog entry. Then we should be set up for merging. |
How do you want to manage this with two branches? |
@BryceBeagle thanks for this PR. That is a great progress because we now have much more modules that we can ship with PyQt5-stubs. Hopefully I was able to merge it the right way. I think it's a good idea to keep the Upstream branch close to master. The only difference should be that the upstream branch contains the raw stubs generated by sip while master contains the altered stubs. Thanks again :) |
…_build Dockerfile to build upstream stubs
Here's a draft pull request for a Dockerfile to build the upstream stubs, along with the new/updated stubs. Some existing stubs receive new annotations to work data types from the new stubs.
There's also a build script (
build_upstream.py
) that handles building the image and extracting the files to the host.Some things worth discussion:
sip-install
command. The stubs are all generated at the beginning of the PyQt build and then I have to wait for it to finish. I'm sure there's a way I could kill the build early, but I didn't bother.QtAxContainer
,QtAndroidExtras
,QtMacExtras
, andQtWindowsExtras
in Docker, to my understandingQt3d
QtCharts
QtDataVisualization
QtPurchasing
QtWebEngine
Enginio
(deprecated so probably doesn't matter)For reference: all the modules that PyQt supports:
https://www.riverbankcomputing.com/static/Docs/PyQt5/module_index.html#ref-module-index