Mark Dickinson
Mark Dickinson
The filtered trait mechanisms in the `observe` framework (and in particular the `anytrait` special case introduced in #1496) register listeners on a per-trait basis. This is in contrast to the...
Suggestion for readability and accessibility of the observe code to newcomers: rename `ObserverGraph.node` to `ObserverGraph.observer`. "node" is a generic term that doesn't describe well what it refers to. The object...
There's an `any_trait` constant exposed in the `traits.has_traits` module. It's not documented, tested, exposed in `traits.api`, or used within Traits or elsewhere in ETS, and I haven't found uses in...
The CI issue with Sphinx 4.0 (#1463) went undiscovered for several weeks, only to rear its head when we wanted to make a PR for something unrelated. We many want...
It would be interesting to look at ways that Traits might be integrated with asyncio, including adding a dispatch option that runs listeners on the current asyncio event loop. See...
The CSS used for styling the appearance of the Traits tutorial in the `etsdemo` app could use some work. See discussion in #1418 and #1419.
It would be good to review and rework the main landing page for the Traits documentation. In particular, it would be desirable to have a brief introduction to Traits on...
Current Traits allows an `Instance` trait to be given an instance rather than a type as the first argument. It then replaces that instance with its type. So for example,...
The `Enum` and `Range` trait types have trait getters which can report a different value from the one stored. One way in which this is problematic (there are others) is...
The current `TraitList` has per-item validation, but no global list validation. In particular, the min-length and max-length validation that was previously available on `List` traits seemed to add more complication...