Has anyone used Dash without callbacks?

We’ve found that callbacks can cause us trouble in Dash as apps get more complex. They’re basically untestable, and almost always descend into a kitchen sink mega callback if you want to update the same component in more than one place. We’d like to rely on vanilla REST calls, but still use the excellent HTML generation and awesome components.

Has anyone tried anything where they plumb the components into their own APIs?

You can use the MultiPlexerTransform to enable updating the same component in more than one place. With respect to testing, you could move the (complicated) logic into separate functions, which you can test, and then call these function from you callbacks. It is also possible to do testing of the callbacks directly, but it’s a bit more tedious.