Convert Iterable tree to string
I fail to see if the code actually worked, because the isinstance should raise an exception:

    elif isinstance(input, list, tuple):
TypeError: isinstance expected 2 arguments, got 3


The second argument should be a tuple of types:

    elif isinstance(input, (list, tuple)):


but that might be a simply copy-over error.



In your code you do not need to force conversion to a list. The .join function can take an iterator as its argument. You free up a little memory for your program execution.

if isinstance(input, dict):
    return "{{{}}}".format(",".join(("{}:{}".format(convert_to_string(key), convert_to_string(value)) for key, value in input.iteritems())))
elif isinstance(input, list, tuple):
    return "[{}]".format(",".join((convert_to_string(element) for element in input)))




Since you already have imported the types module, I'd suggest that you be consistent, and use types.ListType, types.DictType etc. as well.