Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
dj-kaos-utils / sequence.py
Size: Mime:
from __future__ import annotations

from typing import Sequence, Any


def remove_duplicates(seq: Sequence):
    seen = set()
    result = []
    for item in seq:
        if item not in seen:
            seen.add(item)
            result.append(item)
    return tuple(result)


def flatten(seq: Sequence[Any]):
    flat_list = []
    for item in seq:
        if isinstance(item, list | tuple):
            flat_list.extend(flatten(item))
        else:
            flat_list.append(item)
    return flat_list