I have a function that looks a bit like this. I want the function to accept any subclass of io.IOBase - in other words, any file-like object.
def import_csv_file(f:io.IOBase)->pandas.DataFrame:
return pandas.read_csv(f)
When I view the object in IntelliJ, the JetBrains implementation of type-hinting rejects any input unless I provide exactly an instance of io.IOBase - but what if I want to pass in an instance of a sub-class of io.IOBase? Is there a way to change the type-hint to say that this is allowed?