Skip to main content

Parse MT103 messages from the Swift payments network

Project description

Parse MT103 messages from the Swift payments network

What’s an MT103?

Banks don’t really deal with cash much any more. Instead, they push bits around the internet tracking where your money goes digitally. The network that handles much of that movement is called Swift, and the transfers are documented in a special format native to that network called MT103.

What’s this Do?

Unfortunately, MT103 isn’t a common standard for most software developers. It’s ugly & hard to read for humans and not at all easy to parse. This library attempts to fix that, so all you have to do is pass an MT103 string into it and you get back a native Python object with the properties you’re looking for.

from mt103 import MT103

mt103 = MT103("some-mt-103-string")
print("basic header: {}, bank op code: {}, complete message: {}".format(


It’s on PyPi, so just install it with pip.

$ pip install mt103


Parsing MT103 messages should work just fine and you should be able to access all of the components via the Python API except for section 13C. From the specs I’ve seen, it’s unclear as to whether this section is permitted to repeat (meaning it should be parsed as a list) or if it’s one value only. If someone can explain this authoritatively to me, I can include support for this section as well.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mt103-1.1.1.tar.gz (16.5 kB view hashes)

Uploaded Source

Built Distribution

mt103-1.1.1-py3-none-any.whl (16.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page