def _uchain(*args):
    sent = set()
    for i in chain(*args):
        if i not in sent:
            yield i
            sent.add(i)
As per itertools.chain, but will only yield items not previously yielded.
dataset/ETHPy150Open sqlboy/fileseq/test/run.py/_uchain