-
Notifications
You must be signed in to change notification settings - Fork 4
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
Add plugin system and local wheels support #91
base: main
Are you sure you want to change the base?
Conversation
@@ -113,8 +136,8 @@ def make_root(variant: rez.packages.Variant, path: str) -> None: | |||
pkg.pip = { | |||
"name": dist.name, | |||
"version": dist.version, | |||
"is_pure_python": metadata["is_pure_python"], | |||
"wheel_url": wheelURL, | |||
"is_pure_python": isPure, |
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.
This annoys me. I don't think we really need this...
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.
What is annoying about it?
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.
It's kind of useless and getting the value of "is pure" is annoying. Do you think I should keep it?
5163f94
to
c7edc67
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #91 +/- ##
==========================================
+ Coverage 81.14% 90.95% +9.81%
==========================================
Files 8 12 +4
Lines 716 918 +202
Branches 133 174 +41
==========================================
+ Hits 581 835 +254
+ Misses 121 59 -62
- Partials 14 24 +10 ☔ View full report in Codecov by Sentry. |
178c63c
to
f9b6577
Compare
f9b6577
to
e57ce92
Compare
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.
Left a couple questions/comments.
"rez": ("https://rez.readthedocs.io/en/stable/", None), | ||
} | ||
|
||
# Force usage of :external: | ||
intersphinx_disabled_reftypes = ["*"] | ||
# intersphinx_disabled_reftypes = ["*"] |
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.
Is this something we are wanting to keep commented out or remove?
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.
I don't remember the exact reason I did this, but I remember that it was causing issues. I'll probably have to investigate this more to remember why I changed that.
packages: typing.List[str], | ||
) -> None: | ||
pyside6Seen = False | ||
variantsSeens = [] |
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.
Should this just be variantsSeen
?
@@ -113,8 +136,8 @@ def make_root(variant: rez.packages.Variant, path: str) -> None: | |||
pkg.pip = { | |||
"name": dist.name, | |||
"version": dist.version, | |||
"is_pure_python": metadata["is_pure_python"], | |||
"wheel_url": wheelURL, | |||
"is_pure_python": isPure, |
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.
What is annoying about it?
cd5f530
to
27b6a5c
Compare
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
…e arguments are immutable The code is also a little bit cleaner IMO Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
…force immutability at runtime. Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
… positional arguments instead of kwargs Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
9fd066c
to
d39e1d7
Compare
Signed-off-by: Jean-Christophe Morin <[email protected]>
0d113a3
to
9609a36
Compare
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
511a798
to
2f0c2de
Compare
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
c8b5aae
to
ea54157
Compare
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
58e81fd
to
32dff3b
Compare
Signed-off-by: Jean-Christophe Morin <[email protected]>
Signed-off-by: Jean-Christophe Morin <[email protected]>
Fixes #64.
Add a new generic plugins system and builtin plugins. The glugin system is based on pluggy and has 5 hooks:
prePipResolve
,postPipResolve
,groupPackages
,cleanup
andmetadata
.The 2 builtin plugins are the PySide6 and shiboken6 plugins for correctly installing PySide6>=6.3. The plugins take care of merging all the PySide6 related packages (PySide6, PySide6-Addons and PySide6-Essentials) into one rez package.
🎉
This only works on Linux and macOS. On Windows, it works with Python 3.7 but not 3.8 and above. PySide6 on Windows makes use of
os.add_dll_directory
...Additionally, add support for installing local wheels. Considering that PySide is a big package, I needed that functionality to speed up the development of the plugin system.
TODOs:
Write testsCleanup the codeWrite docs (and automatically generate docs for builtin plugins).