Closed
Description
Python functions can have attributes, like
def some_function(x): ...
some_function.some_attribute = 42
The code above fails to typecheck, but there's some real code that uses those attributes in a pretty structured way. For example django tags some metadata about the function that allows formatting the function results when displaying on the admin (examples at https://docs.djangoproject.com/en/1.10/ref/contrib/admin/#django.contrib.admin.ModelAdmin.list_display). So it would be nice to be able to do something like:
class FunctionForAdmin(Callable[[], Any]):
short_description: str
boolean: bool = False
admin_order_field: str
empty_value_display: str
some_function: FunctionForAdmin
def some_function():
return ...
some_function.short_description = "What a nice little function!"
And having it properly typechecked... is this possible now?