Re: Use Python "Limited API" in PL/Python - Mailing list pgsql-hackers

From Peter Eisentraut
Subject Re: Use Python "Limited API" in PL/Python
Date
Msg-id 9876d53b-87ab-47e7-b6c3-31554f7d840a@eisentraut.org
Whole thread Raw
In response to Re: Use Python "Limited API" in PL/Python  (Bryan Green <dbryan.green@gmail.com>)
List pgsql-hackers
On 02.01.26 19:12, Bryan Green wrote:
> On 1/2/2026 11:40 AM, Bryan Green wrote:
>> On 1/15/2025 5:28 AM, Jakob Egger wrote:
>>> On 14.01.2025, at 16:51, Jakob Egger <jakob@eggerapps.at> wrote:
>>>> I've tried to create a patch with this change. I'm attaching it to this message so that cfbot picks it up. (I was
unableto reproduce the issue locally)
 
>>>
>>> Apologies, please disregard my last patch. It does not work.
>>>
>>> It looks like meson just can't build libraries that link with Python that use the limited API.
>>>
>>> My understanding of Meson is limited, so I am unsure how to best work around this limitation.
>>>
>>> I've spent two days trying to figure it out; I'm at the end of my wits.
>>>
>>> Best regards,
>>> Jakob
>> Hi Jakob and Peter,
>>
>> I've been working on enabling the Python Limited API on MSVC, which was
>> disabled in the recent commit due to build failures.
>>
>> The issue is that Meson doesn't automatically link against python3.lib
>> when using the Limited API. Meson's Python dependency always returns the
>> version-specific library (python3XX.lib) regardless of whether
>> limited api is defined. This appears to be a known Meson limitation:
>> https://github.com/mesonbuild/meson/issues/13824
>>
>> Initially, I thought that maybe the library wasn't being installed, but
>> that is not the case and the patch to our CI Windows MSVC image is not
>> needed.
>>
>> I have a patch that works around this by manually constructing the
>> Python dependency on MSVC to use python3.lib instead of python3XX.lib,
>> using cc.find_library('python3') and building the dependency with the
>> appropriate include directory.  It passes CI when I push.  I'll see what
>> cfbot thinks.
>>
>> Still testing, but wanted to share progress and get feedback on the
>> approach.
>>
> 
> cfbot seems to be happy:
> https://cirrus-ci.com/github/postgresql-cfbot/postgresql/cf%2F6369

I have committed this.  Thanks.



pgsql-hackers by date:

Previous
From: Kirill Reshke
Date:
Subject: Re: Add IS_INDEX macro to brin and gist index
Next
From: Kirill Reshke
Date:
Subject: Re: SQL:2023 JSON simplified accessor support