BokehGUI in GNU Radio 4 (GSOC)

Ziad Haithem 202201027 <[email protected]> Tue, 24 Mar 2026 05:40:56 +0200
Newsgroups gmane.comp.gnu.radio.general
Message-ID <CAN9g7ZxdgPxZmYhaWe_vCf5FUdnHDnTF2ARq+Fh3je+=jyP4cA@mail.gmail.com>
--00000000000023a29c064dbceccd
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Dear GNU Radio Community,

I have decided that my gsoc proposal/project will be on the "BokehGUI in
GNU radio 4.0" idea
1. Proof of Concept & Progress

To get comfortable with the GR 4.0 , I=E2=80=99ve developed a small PoC . I=
t uses a
signal generator block into a custom OOT module that publishes data to a
socket via ZMQ. A Python script then subscribes to that socket and plots
the sine wave in the browser in real-time using Bokeh.

Main goal is to just show i was able to take something generated by GR4 and
get it displayed in the browser

   -

   *Repo:* [
   https://github.com/ZiadFahmyZewailCity/gr4.0-bokehgui/tree/gettingFamili=
arWithDevelopment
   ]
   -

   *Video Demo:* [Link to Video
   <https://drive.google.com/file/d/1-5VSE6BerbMY9ruzjn5oQxtQFzTD34lS/view?=
usp=3Dsharing>
   ]

I've also worked through the GR3 beginner and OOT tutorials, and spent time
playing with ZMQ/Bokeh to ensure I can handle plotting and the data flow
between processes.
2. Seeking Guidance on GR 4.0

While I=E2=80=99m thrilled I got the PoC running, this is my first time wor=
king
with a codebase of this scale. My main concern is moving from "making it
work" to "making it right." What are some resources that'll help me design
and write code that "fits" with the design philosophy behind OOT modules
for GR4. I feel like this will be very important for my proposal
3. Use of bokeh
I wrote the POC in bokeh and focused on it when experimenting because its
what was mentioned in the project description and there are plenty of
resources for it. However while researching I found that in European GNU
Radio Days
<https://wiki.gnuradio.org/index.php?title=3DEuropean_GNU_Radio_Days/2025> =
in
the next generation remote GUI section. "Imgui"  was considered a good
candidate to be used for wireless plotting for GNU Radio 4.0. Has the
community moved away from this opinion ? is it still present ? Should I
write my proposal with only one library in mind or be flexible and have
this been decided later on in development ?
4. Why This Project?

I initially looked for something with a bit more DSP and communications
concepts. However this project feels important, and I decided to go with
something which would have an impact instead of wasting time thinking of a
custom project to propose that had me playing with some of the concepts i
was most interested in.

I am really looking forward to the possibility of contributing to GNU Radio
this summer as part of GSOC. Thank you for your time and for any pointers
you can provide!

cyberspectrum is best spectrum (I think the code word is for the proposal
only but one can never be too safe lol)

Sincerely,
Ziad
--=20
Ziad Haithem Fahmy
ID:202201027

Communications and Information Engineering Student

Zewail City of Science, Technology and Innovation

Ahmed Zewail Road, October Gardens, Giza 12578, Egypt
<https://goo.gl/maps/bbNTX7EMrbZA1Lhu7>

www.zewailcity.edu.eg


0120 205 7175

Whatsapp number - 0109 479 1824

--00000000000023a29c064dbceccd
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div dir=3D"ltr"><p>Dear GNU Radio Community,</p><p>I have=
=C2=A0decided that my gsoc proposal/project will be on the &quot;BokehGUI i=
n GNU radio 4.0&quot; idea</p><h3>1. Proof of Concept &amp; Progress</h3><p=
>To get comfortable with the GR 4.0 , I=E2=80=99ve developed a small PoC=C2=
=A0. It uses a signal generator block into a custom OOT module that publish=
es data to a socket via ZMQ. A Python script then subscribes to that socket=
 and plots the sine wave in the browser in real-time using Bokeh.</p><p>Mai=
n goal is to just show i was able to take something generated by GR4 and ge=
t it displayed in the browser=C2=A0</p><ul><li><p><b>Repo:</b> [<a href=3D"=
https://github.com/ZiadFahmyZewailCity/gr4.0-bokehgui/tree/gettingFamiliarW=
ithDevelopment" target=3D"_blank">https://github.com/ZiadFahmyZewailCity/gr=
4.0-bokehgui/tree/gettingFamiliarWithDevelopment</a>]</p></li><li><p><b>Vid=
eo Demo:</b>=C2=A0[<a href=3D"https://drive.google.com/file/d/1-5VSE6BerbMY=
9ruzjn5oQxtQFzTD34lS/view?usp=3Dsharing">Link to Video</a>]</p></li></ul><p=
>I&#39;ve also worked through the GR3 beginner and OOT tutorials, and spent=
 time playing with ZMQ/Bokeh to ensure I can handle plotting and the data f=
low between processes.</p><h3>2. Seeking Guidance on GR 4.0=C2=A0</h3><p>Wh=
ile I=E2=80=99m thrilled I got the PoC running, this is my first time worki=
ng with a codebase of this scale. My main concern is moving from &quot;maki=
ng it work&quot; to &quot;making it right.&quot; What are some resources th=
at&#39;ll help me design and write code that &quot;fits&quot; with the desi=
gn philosophy behind OOT modules for GR4. I feel like this will be very imp=
ortant for my proposal=C2=A0</p><h3>3. Use of bokeh=C2=A0=C2=A0</h3><div>I =
wrote the POC in bokeh and focused on it when experimenting because its wha=
t was mentioned in the project description and there are plenty of resource=
s for it. However while researching=C2=A0I found that in=C2=A0<a href=3D"ht=
tps://wiki.gnuradio.org/index.php?title=3DEuropean_GNU_Radio_Days/2025" sty=
le=3D"font-family:sans-serif;font-size:14px">European GNU Radio Days</a>=C2=
=A0in the next generation remote GUI section. &quot;<span style=3D"color:rg=
b(32,33,34);font-family:sans-serif;font-size:14px">Imgui&quot;</span><span =
style=3D"color:rgb(32,33,34);font-family:sans-serif;font-size:14px">=C2=A0=
=C2=A0was considered a good candidate=C2=A0to be used for wireless plotting=
 for GNU Radio 4.0. Has the community moved away from this opinion ? is it =
still present ? Should I write my proposal with only one library in mind or=
 be flexible and have this been decided later on in development=C2=A0?=C2=
=A0=C2=A0</span></div><h3>4. Why This Project?</h3><p>I initially looked fo=
r something with a bit more DSP and communications concepts. However this p=
roject feels important, and I decided to go with something which would have=
 an impact instead of wasting time thinking of a custom project to propose =
that had me playing with some of the concepts i was most interested=C2=A0in=
.=C2=A0</p><p>I am really looking forward to the possibility of contributin=
g to GNU Radio this summer as part of GSOC. Thank you for your time and for=
 any pointers you can provide!</p><p>cyberspectrum is best spectrum=C2=A0(I=
 think the code word is for the proposal only but one can never be too safe=
 lol)</p><p>Sincerely,</p><div>Ziad=C2=A0</div><span class=3D"gmail_signatu=
re_prefix">-- </span><br><div dir=3D"ltr" class=3D"gmail_signature" data-sm=
artmail=3D"gmail_signature"><div dir=3D"ltr"><div><font size=3D"1" color=3D=
"#666666">Ziad Haithem Fahmy</font></div><div><span style=3D"font-size:x-sm=
all"><font color=3D"#666666">ID:202201027</font></span></div><div><span sty=
le=3D"font-size:x-small"><font color=3D"#666666">=C2=A0</font></span></div>=
<div><font size=3D"1" color=3D"#666666">Communications and Information Engi=
neering Student</font></div><div><p class=3D"MsoNormal" style=3D"margin-bot=
tom:6pt;line-height:normal"><font size=3D"1" color=3D"#666666"><span style=
=3D"font-family:Arial,sans-serif">Zewail City of Science, Technology and In=
novation</span>=C2=A0=C2=A0</font></p><p class=3D"MsoNormal" style=3D"margi=
n-bottom:6pt;color:rgb(34,34,34);line-height:normal"><span style=3D"font-fa=
mily:Arial,sans-serif"><font size=3D"1"><a href=3D"https://goo.gl/maps/bbNT=
X7EMrbZA1Lhu7" style=3D"color:rgb(17,85,204)" target=3D"_blank">Ahmed Zewai=
l Road, October Gardens, Giza=C2=A012578, Egypt</a></font></span></p><p cla=
ss=3D"MsoNormal" style=3D"margin-bottom:6pt;color:rgb(34,34,34);line-height=
:normal"></p><p class=3D"MsoNormal" style=3D"margin-bottom:0in;color:rgb(34=
,34,34);line-height:normal"><span style=3D"font-family:Arial,sans-serif"><a=
 href=3D"http://www.zewailcity.edu.eg/" style=3D"color:rgb(17,85,204)" targ=
et=3D"_blank"><font size=3D"1">www.zewailcity.edu.eg</font></a></span></p><=
p class=3D"MsoNormal" style=3D"margin-bottom:0in;color:rgb(34,34,34);line-h=
eight:normal"><br></p><p class=3D"MsoNormal" style=3D"margin-bottom:0in;lin=
e-height:normal"><font size=3D"1" color=3D"#666666">0120 205 7175</font></p=
><p class=3D"MsoNormal" style=3D"margin-bottom:0in;line-height:normal"><fon=
t color=3D"#666666"><font size=3D"1">Whatsapp number -=C2=A0</font><span st=
yle=3D"font-size:x-small">0109 479 1824</span></font></p><p class=3D"MsoNor=
mal" style=3D"margin-bottom:0in;color:rgb(34,34,34);line-height:normal"><br=
></p><p class=3D"MsoNormal" style=3D"margin-bottom:0in;color:rgb(34,34,34);=
line-height:normal"><br></p></div></div></div></div>
</div>

--00000000000023a29c064dbceccd--