def usort()

in usort/api.py [0:0]


def usort(data: bytes, config: Config, path: Optional[Path] = None) -> Result:
    """
    Given bytes for a module, this parses and sorts imports, and returns a Result.
    """
    if path is None:
        path = Path("<data>")

    try:
        module = try_parse(data=data, path=path)
        sorter = ImportSorter(module=module, path=path, config=config)
        new_mod = sorter.sort_module()

        return Result(
            path=path,
            content=data,
            output=new_mod.bytes,
            encoding=new_mod.encoding,
            timings=get_timings(),
            warnings=sorter.warnings,
        )

    except Exception as e:
        return Result(
            path=path,
            content=data,
            error=e,
            timings=get_timings(),
        )