-
Notifications
You must be signed in to change notification settings - Fork 2.2k
get rid of CONFIG dicts #763
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
removing a bunch of CONFIGs, but there is more to do.
Remove every last config
Status update: All CONFIGs and all digest_config have been removed. All tests pass, all docs build - some have been rewritten themselves, specifically we removed all CONFIGs from the docstrings too. An error message was added to |
Can this pr be closed in favour of #783? |
I believe so. @cobordism I think we can close this, no? |
Motivation
CONFIG dicts in manim classes are hard to debug, cannot be documented, and are an all around Bad Thing.
Explanation for Changes
Basically, every key in a
CONFIG
dict has been converted to a__init__
argument.Testing Status
Local pass.
Further Comments
This is WIP. @cobordism and I are going to keep working on this.
This is a second try of #648. In that PR, I tried removing some keys from Mobject and its derivatives, and left some others intact. This proved to be the wrong approach. I know understand that CONFIG should be removed from a class as well as from all its ancestors at the same time.
In #648, I made the mistake of removing some positional arguments and turning them into keyword-only arguments. I've tried my best to be more careful here.
I believe that this does not actually introduce breaking changes. But even if it does, we have to discuss what kind of breaking changes we are comfortable with introducing, because CONFIG dicts must go sooner rather than later.