If I’m making a library, the worst thing I can do is make end-users suffer by restricting them to certain methods. I’ve seen it happen in the Godot repo so many times, it’s really sad. Users are constantly creating issues asking for methods to be exposed (made public), just so they can use their functionality to fix their problem. Restricting the developer to code is never a good idea.
Think of an actual library. Users who want to check out a certain book to gain access to that information, should not have to ask permission from the manager of the library just to check the book out. They should be able to check it out freely as you normally would (scanning your library card, etc). Not depend on someone else to give you permission.