discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

No more Swig - GR with Pybind11 BETA Testers Needed!!


From: Morman, Joshua
Subject: No more Swig - GR with Pybind11 BETA Testers Needed!!
Date: Fri, 24 Apr 2020 12:28:30 +0000

Hello GR Community,


You may remember from previous emails and the developer calls that one of the key features for the next major GNU Radio release is removing SWIG from the codebase and replacing it with pybind11 to handle the python API bindings.  This will have some very positive impacts on the codebase:

- One less giant dependency

- Faster/less memory usage during compile

- Less cryptic auto-generated code

- More deliberate binding of the API


I've just pushed a rebased version to the "pybind" branch of the main GNU Radio github - and we're ready to have more people try it out and work out any major kinks before we merge it onto master.

https://github.com/gnuradio/gnuradio/tree/pybind


A little primer of how it works here:  https://github.com/gnuradio/gnuradio/blob/pybind/docs/PYBIND11.md


What you should be able to do at this point:

- Run GNU Radio flowgraphs using in-tree blocks

- Create an OOT using gr_modtool (add, bind)


What is known to not be working:

- ctrlport, video-sdl have not yet been given bindings

- Modtool commands beyond add and bind (rm, info, update, disable)

- Some of the qa tests and grc examples are failing, but I'm working through those issues (and could use help here as well)

- Some other issues and general status tracked here:  https://github.com/gnuradio/gnuradio/projects/6


Please give it a shot if you have the time!  Help here is much appreciated.


Feedback about the general approach should be directed toward the GREP:

https://github.com/gnuradio/greps/blob/master/grep-0015-remove-swig.md


Feedback about issues encountered can be handled in the github issue tracker, just please be clear that this is the pybind branch


Thanks!

Josh





reply via email to

[Prev in Thread] Current Thread [Next in Thread]