Current modules use simple CAN sockets and single frames. But if you want to add more complex UDS functionality you need ISOTP. I would suggest to use Scapy for that since it has an advanced implementations of a lot of automotive protocols which makes it more comfortable to build new modules in the future.
You can take a look at my fork where I made an example module uds_read_data_by_id.py based on Scapy.
Current modules use simple CAN sockets and single frames. But if you want to add more complex UDS functionality you need ISOTP. I would suggest to use Scapy for that since it has an advanced implementations of a lot of automotive protocols which makes it more comfortable to build new modules in the future.
You can take a look at my fork where I made an example module uds_read_data_by_id.py based on Scapy.