-
Notifications
You must be signed in to change notification settings - Fork 747
Modernisation #1015
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
Modernisation #1015
Conversation
Drops also - Custom XDecref/XIncref (should be readded) - Remote object handling for .NET Framework
Contrary to what I said before, I don't think trying to provide a single DLL for Python 2 and 3. We will in the future default to Python 3, and if someone really wants Python 2, for a while we will support a separate compile configuration for that.
Is the intention to only support Python3.8? |
The intention is to support at least all Python 3 versions from 3.5 onwards. The Python (3) API and ABI is mostly backwards-compatible for our purposes. The one comment on Python 3.8 just refers to https://docs.python.org/3/whatsnew/3.8.html#debug-build-uses-the-same-abi-as-release-build, which allows us to use the exact same build even for Debug Pythons from 3.8 onwards. |
How can a single As #995 demonstrated, the Python team continues to change the internals of |
@Jeff17Robbins No, it didn't change. The problem was that they changed the /meaning/ of one of the slots and it now used a different type (same size, though). The structure as such hasn't changed in the Python 3 line, just reusage of deprecated slots and addition of new ones at the end. |
@filmor I think it actually did change. You are correct that the new field But, they also added two new fields right after
These two new fields change all the offsets of the fields that are defined after them. The structure thus is a different size, and fields we care about, like If you diff
|
Meh. Ah well, I'll add this back in due time, but probably in form of a hash-table that is stored in a resource stream instead of autogenerated code. Thanks for the hint :) |
Maybe we can create some kind of "sanity check" on the automated process that generates the hash-table to make sure that |
I looked at this branch today and it is currently broken for VS2019. Even after adding the missing projects to the .sln and fixing the Project SDK -<Project Sdk="Microsoft.NET.Test.Sdk">
+<Project Sdk="Microsoft.NET.Sdk"> it throws errors about missing properties and methods like Python.Runtime.Runtime.pyversion
Python.Runtime.Runtime.Machine
Python.Runtime.Runtime.MachineName
Python.Runtime.Runtime.OperatingSystem
Python.Runtime.Runtime.OperatingSystemName
Python.Runtime.Runtime.Py_Initialize() Am I looking at the incorrect source, or is there anything missing? |
Ongoing development to get to a .NET Standard only, platform-independent and Python version agnostic version of Python.NET that runs on .NET Framework, .NET Core and Mono (and hopefully also the respective AoT variants).