I have created a smart contract with some solidity functions which take structs, enums and mappings(all defined in my contract) as arguments. I intend to call these functions from my web3 python program. Can anyone help with this? It would be best if some helper code is provided. Thanks in advance.