... import PyDataset
if type(myParam) is DatasetUtilities.PyDataSet.PyRow:
Should be:
... import PyDataset
if type(myParam) is PyDataSet.PyRow:
Though I'd argue this is a bit of an antipattern - you should probably check if it's explicitly a string first, then check it's iterable in any form, and then bail if you can't handle it, to be more "Pythonic".
Or you could import and use com.inductiveautomation.ignition.common.PyUtilities.isSequence
- which will return True
for sequence-like things but not Python strings.