Add notes/kvaser support for non-iso support by jacobschaer · Pull Request #1752 · hardbyte/python-can
What value would there be in tracking this in bus's protocol property? For all use cases I've seen ISO and Non-ISO CANFD should behave identically at the app layer - the only difference is some bits in the header change but that's at a layer below python-can. A bus can't mix/match frames between the two types and I don't see any interesting uses of protocol outside of the bus implementations.
Ultimately you still need a kwarg for the Bus init, there's no way to guess if it's ISO or not from say bittimings or other flags.
I agree that it's unfortunate that more drivers don't expose this in a way that python-can can exploit.
I can update the docs per the recommendations later.