There are now Python classes that can be used to represent the objects one often works whilst processing GRIB and BUFR messages.
GribFile: A class that implements a GRIB file that closes itself and its messages when it is no longer needed.
BufrFile: A class that implements a BUFR file that closes itself and its messages when it is no longer needed.
GribMessage: A class that implements a GRIB message that allows access to the message's key-value pairs in a dictionary-like manner and closes the message when it is no longer needed, coordinating this with its host file.
GribFiles and BufrFiles can be treated mostly as regular files and used as context managers, as can GribMessages/BufrMessages. Each of these classes destructs itself and
any child instances appropriately.