I wanted to let everyone know about some changes being made to the PMT
library. We’ve been using PMTs more and more for things like stream
message passing, and the metadata files.
The changes only apply to the ‘next’ branch since it would break
using PMTs on 3.6. We figured as long as we’re making so many API
for 3.7, this might as well be one of them. I’ll be merging this branch
soon after I send this email. So if you are using PMTs and keeping track
‘next’, you’ll have to update your code appropriately.
Specifically, we want to update the PMT naming scheme. We use the
‘pmt’ in C++ and the module name ‘pmt’ in Python, but the PMT functions
were all prefixed with ‘pmt_’ as well. So we would have ‘pmt::pmt_xxx’
C++ and ‘pmt.pmt_xxx’ in Python. The redundancy in the names
was counterproductive. We have renamed all of the PMT functions to
remove the prefix ‘pmt_’ and now rely on the namespace/module names at
the identifier. So this is really a very mechanical change.
As part of the naming move, we also removed the installed PMT module
from GRUEL. While before we used ‘from gruel import pmt’, we now just
use ‘import pmt’. The change is due to a couple of factors. First, in
the QA code and any in-tree usage of PMTs, we always used the `import
pmt’ format, which lead to confusion and work-arounds. Secondly, we
might be getting rid of GRUEL and make PMT its own component and
library, so this change would come from that, anyways.