-
Notifications
You must be signed in to change notification settings - Fork 834
Complete abi3 support #1125
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
Comments
Refs PyO3#1125 Reduces the number of compilation failures with `--features abi3` from 87 to 56.
You need |
I think it would be desirable if |
Why do you imagine it'd require upstream support? I imagine most |
Refs PyO3#1125 Reduces the number of compilation failures with `--features abi3` from 56 to 53.
Quite possibly - might need a lot of refactoring! |
Refs PyO3#1125 Reduces the number of compilation failures with `--features abi3` from 56 to 53.
Refs PyO3#1125 Reduces the number of compilation failures with `--features abi3` from 56 to 53.
I started investigating First, I'll start by describing the current approach:
My proposal for how to make this abi3 compatible:
The one challenge is that some of these APIs are technically public (though they often have One of my goals here is that there's only one version of this code, and not 2 different versions. |
#1132 has a PoC of what the first steps of this could look like |
Refs PyO3#1125 Reduces the number of compilation failures with `--features abi3` from 56 to 53.
I'm (perhaps optimistically) marking this for the |
This depends on PyO3/pyo3#1125
I've also done a POC of what the |
Status check, looking at the Here's the remaining compilation errors with
|
Down to 3 underlying issues! |
Ok, the last two issues I could use some feedback on. I'd like to to do the |
I'm sorry but I cannot investigate that until this weekend. |
No problem. I'll keep poking myself. |
I looked over all APIs and am a bit surprised to see there's no UTF-8 methods with |
The only alternative I see is to encode it to a bytes object and then get
the slice out of that. But then you can't return a `&[u8]` because you need
to keep the bytes object alive somewhere.
…On Sat, Sep 12, 2020 at 2:47 AM Yuji Kanagawa ***@***.***> wrote:
I looked over all APIs and am a bit surprised to see there's no UTF-8
methods with LIMITED_API...
@alex <https://github.com/alex>
What alternative do you have in your mind?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#1125 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAAAGBF4EJIM3WYF52VJDWDSFMKQ7ANCNFSM4QPXW2MQ>
.
--
All that is necessary for evil to succeed is for good people to do nothing.
|
I'm now looking at the other issue around alloc/dealloc. I found that if I delete these lines: Lines 48 to 52 in 448f0bb
|
Ok, I poked further and I think indeed this is effectively dead code. |
friendly reminder to put a comment in the code so we don't forget to handle this if PyO3 starts to use |
I've filed a bug with CPython about making |
Status update: Then the next step will be to get all the tests passing. After that, we add it to CI and merge I hope:-) |
#1189 now has all the tests passing, except the doctests. |
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
This depends on PyO3/pyo3#1125
I think this is complete now, with the merge of #1152! |
This depends on PyO3/pyo3#1125
Uh oh!
There was an error while loading. Please reload this page.
abi3, also known as pylimited abi, is a feature of built python projects where they can be loaded from multiple versions of python3. pyo3 has some limited support for this, but it's commented out in
Cargo.toml
because it's currently incomplete and does not compile.I'm filing this as a tracking bug so folks interested in abi3 support have a place to follow along. I intend to attempt to contribute to resolving this issue.
I imagine this is a three part process:
The text was updated successfully, but these errors were encountered: