Carefully Consider TraitsUI and Pyface Dependencies of Enable
- Dominant language
- C
- Stars
- 97
- Forks
- 45
- PR merge metrics
- No merged PRs in 30d
Description
This issue is to determine what we want to do around expectations for Pyface and TraitsUI dependencies in Enable: should they be optional, should they be integral, what impact does that have on the Pyglet and VTK backends, etc.
My sense is that we probably want to:
- assume Pyface (or at least some sort of event loop), which may require minimal Pyface backends for these
- possibly break out the Pyglet and VTK backends and contribute them from elsewhere (which would require setting up an entrypoint system for backends to allow extension)
- decide how we handle code which contributes capabilities or otherwise directly integrates with TraitsUI (eg. `ComponentEditor`)
But I could see alternative ways of going, such as working completely at the external toolkit level and wrapping in Pyface and TraitsUI as a separate layer.
There is a similar consideration for Kiva, but it is easier.
Contributor guide
Assessment
This issue has not been assessed yet.