[ 
https://issues.apache.org/jira/browse/PROTON-2095?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17681428#comment-17681428
 ] 

ASF subversion and git services commented on PROTON-2095:
---------------------------------------------------------

Commit 66cac760950779a8655a12337ba4fe663800a94e in qpid-proton's branch 
refs/heads/main from Andrew Stitcher
[ https://gitbox.apache.org/repos/asf?p=qpid-proton.git;h=66cac7609 ]

PROTON-2095: Use CFFI instead of SWIG for python binding

Build an extension library cproton_ffi which can be used by a cproton
module to interface to libqpid_proton_core.

The intention is that the higher level code continue to use cproton
as before but the cproton module is now written manually to
interface to the ffi code instead if being written by swig.


> Move away from SWIG to CFFI
> ---------------------------
>
>                 Key: PROTON-2095
>                 URL: https://issues.apache.org/jira/browse/PROTON-2095
>             Project: Qpid Proton
>          Issue Type: Wish
>          Components: python-binding
>    Affects Versions: proton-c-0.29.0, proton-c-future
>            Reporter: Omer Katz
>            Assignee: Andrew Stitcher
>            Priority: Major
>             Fix For: proton-c-future
>
>
> SWIG is fine but we're not using it for anything other than exporting all of 
> proton-c's API as is.
> Unfortunately SWIG only generates CPython extension bindings. This may be a 
> problem on PyPy where CPython extensions are either slow or simply won't 
> compile.
> Unlike SWIG, CFFI is portable both on CPython and PyPy.
> It also satisfies the same requirements as SWIG currently does.
> In addition, calls to CFFI simply release the GIL which will help 
> parallelizing Python applications using threads.
> By using CFFI we can also get rid of all of our setup.py code and simply use 
> it to build the extension. We will also no longer have problems building 
> wheels.
> The newest version of CFFI supports pkg-config so we can use that to find 
> proton-c easily.
> I'm willing to help with the refactor but I'll need a mentor since I'm not 
> familiar with the code base.
>  



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

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org
For additional commands, e-mail: dev-h...@qpid.apache.org

Reply via email to