Open ZanSara opened 1 year ago
This is a really good idea, I haven't thought of this! I noticed that __init_subclass__ = error_func
is the only method preventing subclassing currently.
I've never heard of __mro_entries__
before, never found it when I did my initial dunder research!
Found PEP 560 referencing it
Like I mentioned in the PR - I'd love if we could return a FakeModule
object when it's subclasses
Problem
So far
generalimport
does not allow users to create subclasses of missing dependencies. So this code:fails with:
This is quite limiting in OOP and makes using
generalimport
with libraries likesqlalchemy
close to impossible.Proposed solution
I propose leveraging
__mro_entries__
to make this usecase work. Classes based on non-existing modules should fail only when initialized.PR coming soon :slightly_smiling_face: