web3.py makes it relatively easy to interact with any client that implements the Ethereum JSON-RPC spec. Convenient APIs exist for fetching data, signing messages, sending transactions, listening for event logs, and more advanced use cases.