Dublin Traceroute is a NAT-aware multipath traceroute tool.
And this page is just informational. Read more at https://dublin-traceroute.net .
Dublin Traceroute has a blog, with articles on how to make the best out of it. Check it out at https://blog.dublin-traceroute.net .
Dublin Traceroute has also Python bindings, that will let you:
See python-dublin-traceroute for more information.
But, in a few words, you can run traceroutes in multi-path networks (i.e. with ECMP load-balancing enabled), recognize NATs, have nice diagrams like the one below, export to JSON, and do this with a command-line tool, a C++ library or a Python library.