I thought I'd add my $0.02 to this discussion from the perspective of a user of BB.IMHO, I don't believe that the problem is related to the declarative parts of the Boost.Build Jamfiles (i.e. "exe", "project" and their "requirements", "usage-requirements" etc). This is what should be retained even with a Python (or other) port as description files.