[USRP-users] [UHD] Replacing Cheetah Templates with Mako

Martin Braun martin.braun at ettus.com
Tue Jul 7 13:27:32 EDT 2015

Dear UHD users,

We will be replacing Cheetah as a template engine with the less-dead
Mako template engine. I have pushed a branch for feedback etc. to our
github page:

This only affects people building UHD from source. People using binaries
will not care or even need to know about this.

*Why are we doing this?* The issue with Cheetah is, the project seems
inactive and has not been updated in a long while. Also, it is not
Python 3 compatible, and some of the distributions we support are
starting to switch over to Python 3 as the default. We spent some time
researching other template engines not only for quality and features,
but also for stability of API, user base, community etc. Mako is used
widely on the webs, and has a mostly backward-compatible API for several
years now, as well as an active community.

*What does UHD need a template engine for?* We use it to auto-generate
code in some places. It saves us from typing out long, boring and
repetitive sources files, which a computer can do much better than a
human without typos. We do *not* use it during runtime or anytime after

*When will this be changed?* Soon, and will be permanent for the next
major release (3.9.0).

*Doesn't GNU Radio work fine with Cheetah?* GNU Radio is facing similar
issues (e.g. no Python 3 compatibility), but Cheetah is much more deeply
woven into GNU Radio and it's harder to replace, and such things can't
happen unless for major releases. It's certainly not a single commit as
for UHD.

I'll leave this public branch up for a bit, and will then merge this
into master -- but I'm happy for any feedback!


More information about the USRP-users mailing list