Hi @ben.hamlen,
Welcome to the UR community! All URCaps are written in Java, but they can contain a daemon process that you can write in the language you prefer. For the tool communication you can take a look at this sample URCap Sample: Tool Modbus RTU URCap. It contains a small Python daemon that takes care of the tool communication.
Best regards
Ebbe