Hi,
Part of #12064 work and subsequent pull requests:
Background:
Recent Python releases defined limited C API for use by extensions. This allows C extensions to create a .pyd file that will work across Python 3.x releases, including 3.6 and later.
Is your feature request related to a problem? Please describe.
Suppose an add-on uses external libraries interfacing with CPython runtime (usually .pyd files). If these C extensions are written using limited API, it will allow add-ons to work across Python 3.x releases. At the moment these modules must be accompanied by python3.dll from Python 3.7 installation folder because NVDA itself does not include python3.dll as part of binary distribution.
Describe the solution you'd like
As part of Python 3.11 upgrade, include python3.dll as part of NVDA binary distribution.
Describe alternatives you've considered
Let add-ons ship with multiple versions of third-party dependencies, one for each Python version NVDA supports.
Additional context
Add-ons affected include Resource monitor, Sound Splitter, and others using psutil module.
A bigger problem may arise once 64-bit CPython runtime is used as add-ons must include dependencies supporting both 32-bit and 64-bit Python runtime.
Thanks.
Hi,
Part of #12064 work and subsequent pull requests:
Background:
Recent Python releases defined limited C API for use by extensions. This allows C extensions to create a .pyd file that will work across Python 3.x releases, including 3.6 and later.
Is your feature request related to a problem? Please describe.
Suppose an add-on uses external libraries interfacing with CPython runtime (usually .pyd files). If these C extensions are written using limited API, it will allow add-ons to work across Python 3.x releases. At the moment these modules must be accompanied by python3.dll from Python 3.7 installation folder because NVDA itself does not include python3.dll as part of binary distribution.
Describe the solution you'd like
As part of Python 3.11 upgrade, include python3.dll as part of NVDA binary distribution.
Describe alternatives you've considered
Let add-ons ship with multiple versions of third-party dependencies, one for each Python version NVDA supports.
Additional context
Add-ons affected include Resource monitor, Sound Splitter, and others using psutil module.
A bigger problem may arise once 64-bit CPython runtime is used as add-ons must include dependencies supporting both 32-bit and 64-bit Python runtime.
Thanks.