def str_to_memory()

in common/memory.py [0:0]


def str_to_memory(mem_repr: str) -> Memory:
    """
    Input Examples: "100mb", "22gb", "8tb", "0", "8.5 TB"
    """
    mem_repr = mem_repr.upper().strip()
    if mem_repr == "0":
        return Memory(0, unit=MemoryUnit.B)

    units = [
        MemoryUnit.TB,
        MemoryUnit.GB,
        MemoryUnit.MB,
        MemoryUnit.KB,
        MemoryUnit.B,  # Bytes must go last, b/c every other unit ends in B
    ]
    for unit in units:
        if mem_repr.endswith(unit.value):
            try:
                digit = mem_repr[: -len(unit.value)].strip()
                value = float(digit)
            except ValueError:
                raise InvalidMemoryInput(f"Memory value is not a number: {digit}")
            return Memory(value, unit)
    raise InvalidMemoryInput(f"Invalid memory units. Input: {mem_repr}")