You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Marton Szasz (Jira)" <ji...@apache.org> on 2022/08/09 17:01:00 UTC

[jira] [Updated] (MINIFICPP-1902) Explore options to stabilize the python dependency of the scripting extension

     [ https://issues.apache.org/jira/browse/MINIFICPP-1902?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Marton Szasz updated MINIFICPP-1902:
------------------------------------
    Description: 
libpython changes its SONAME every minor version, making it impossible to distribute binaries that work across multiple python versions. The script extension depends on libpython through pybind11.

 

Python itself provides a stable API since 3.2, which is fairly old at this point: [https://docs.python.org/3/c-api/stable.html#c-api-stability]

 

Pybind11 and boost.python are both using API functions that are not part of the stable API: [https://github.com/pybind/pybind11/issues/1755]

 

There seems to be some activity on swig to support this stable API: [https://github.com/swig/swig/pull/2190]

 

TODO: explore options, so that binary distributions of the scripting extension are possible

  was:
libpython changes its SONAME every minor version, making it impossible to distribute binaries that work across multiple python versions. The script extension depends on libpython through pybind11.

 

Python itself provides a stable API since 3.2, which is fairly old at this point: [https://docs.python.org/3/c-api/stable.html#c-api-stability]

 

Pybind11 and boost.python are both using API functions that are not part of the stable API: [https://github.com/pybind/pybind11/issues/1755]

 

There seems to be some activity on swig to support this stable API: [https://github.com/swig/swig/pull/2190]

 

TODO: explore options, so that binary distributions of the scripting extension is possible


> Explore options to stabilize the python dependency of the scripting extension
> -----------------------------------------------------------------------------
>
>                 Key: MINIFICPP-1902
>                 URL: https://issues.apache.org/jira/browse/MINIFICPP-1902
>             Project: Apache NiFi MiNiFi C++
>          Issue Type: Task
>            Reporter: Marton Szasz
>            Assignee: Marton Szasz
>            Priority: Major
>
> libpython changes its SONAME every minor version, making it impossible to distribute binaries that work across multiple python versions. The script extension depends on libpython through pybind11.
>  
> Python itself provides a stable API since 3.2, which is fairly old at this point: [https://docs.python.org/3/c-api/stable.html#c-api-stability]
>  
> Pybind11 and boost.python are both using API functions that are not part of the stable API: [https://github.com/pybind/pybind11/issues/1755]
>  
> There seems to be some activity on swig to support this stable API: [https://github.com/swig/swig/pull/2190]
>  
> TODO: explore options, so that binary distributions of the scripting extension are possible



--
This message was sent by Atlassian Jira
(v8.20.10#820010)