from pyais.messages import NMEAMessage

message = NMEAMessage(b"!AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C")
print(message.decode())

# or

message = NMEAMessage.from_string("!AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C")
print(message.decode())

[((3, 10, 3, 73), 'pyais.messages.NMEAMessage', 'NMEAMessage', ({(3, 22, 3, 72): "b'!AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C'"}, {}), "(b'!AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C')", False, 'from pyais.messages import NMEAMessage\n'), ((8, 10, 8, 84), 'pyais.messages.NMEAMessage.from_string', 'NMEAMessage.from_string', ({(8, 34, 8, 83): '"""!AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C"""'}, {}), "('!AIVDM,1,1,,B,15M67FC000G?ufbE`FepT@3n00Sa,0*5C')", False, 'from pyais.messages import NMEAMessage\n')]