-
Notifications
You must be signed in to change notification settings - Fork 106
Enable building abi3 shared objects #82
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
Conversation
Now that that the abi3 PR is almost ready for |
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.
Overall looks good to me. Is there some way we can test this in CI? I guess we may need to add a project which builds a limited api crate etc. (Or change one of the existing test crates to build to the limited api.)
Also I think we can't merge this until we've decided on the feature naming for pyo3.
py_limited_api : bool | ||
Same as `py_limited_api` on `setuptools.Extension`. Note that if you | ||
set this to True, your extension must pass the appropriate feature | ||
flags to pyo3 (ensuring that `abi3` feature is enabled). |
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'd like to wait to merge because there was talk of renaming the abi3
feature in pyo3. (Usually features should add to the lib, rather than abi3
which currently takes things away.)
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.
Sure, that's reasonable.
It should be possible to test this by building a module following the instructions in PyO3/pyo3#1203 with one python version, and then loading it against another python version. |
👍 sounds like we can achieve that by adding a new CI job which installs maybe Python 3.6 and 3.8 and does exactly as you say. Probably doesn't need any new example code in that case. |
Agreed. Want me to add that as a part of this PR? |
If you're willing to build that, would be great! (I was thinking I can take a stab eventually, though I'm still pretty worn out / chasing chores from having moved house last week...) |
Sounds good, I'm going to wait for my outstanding PRs to be merged into
pyo3, that way I can easily point the Cargo.toml at that branch for the
time being.
…On Thu, Sep 24, 2020 at 3:32 PM David Hewitt ***@***.***> wrote:
If you're willing to build that, would be great! (I was thinking I can
take a stab eventually, though I'm still pretty worn out / chasing other
chores from having moved house last week...)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#82 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBBMKDH4ZV5MOOSQ553SHONGNANCNFSM4Q5DH55Q>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
6acdc97
to
04b36d5
Compare
Test failures are because the abi3 branch needs to be rebased on master to pick up some of the fixes. |
c1ede8d
to
ef635af
Compare
Ok with
|
I'm pretty much happy with how this is as-is, thanks very much for all your effort on this! It's really cool to see the CI job build against one Python and then run it with another! With regards to merging - because it changes the I think at that point it's mergeable and I'll leave an issue to update the examples to use pyo3 0.13 when it releases. |
Sounds great!
…On Sat, Oct 10, 2020 at 1:06 PM David Hewitt ***@***.***> wrote:
I'm pretty much happy with how this is as-is, thanks very much for all
your effort on this! It's really cool to see the CI job build against one
Python and then run it with another!
With regards to merging - because it changes the rust_with_cffi job to
point at the abi3 branch I think I'd at least like to wait until the abi3
branch is merged and we can point it at master.
I think at that point it's mergeable and I'll leave an issue to update the
examples to use pyo3 0.13 when it releases.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#82 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBEZPD664ZTWLHMIFDLSKCICHANCNFSM4Q5DH55Q>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
This depends on PyO3/pyo3#1125
Ok, now pointed at pyo3 master! |
👍 thanks, will release shortly! |
Thanks! |
@alex 0.11.4 now released; sorry for the delay. |
Thank you!
…On Tue, Nov 3, 2020 at 4:22 AM David Hewitt ***@***.***> wrote:
@alex <https://github.com/alex> 0.11.4 now released; sorry for the delay.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#82 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBE3SPLDJEPEUR44P3LSN7DVLANCNFSM4Q5DH55Q>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
This depends on PyO3/pyo3#1125