traits
traits copied to clipboard
Observable typed attributes for Python classes
In `AdaptationManager._adapt` there's a line: ``` edges.sort(cmp=_by_weight_then_from_protocol_specificity) ``` But the `_by_weight_then_from_protocol_specificity` function doesn't give a transitive relation, so the results of the sort are undefined. It's not clear to me...
#1496 introduced `"*"` to mean "any trait" into the observe mini-language; #1525 disallowed use of `"*"` in a non-terminal position, since with current meanings and semantics it's very hard to...
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...
Hi there! This issue is to report an un expected behaviour using `HasTraits.sync_trait()` with `Dict` traits. In the code snippet below, I have to `Dict` traits synchronised: when the `Dict`...
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...
When a cached property depends on an intermediate cached property, the intermediate property gets immediately evaluated when it's dependencies change. This is suboptimal, as cached properties are typically expensive to...
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...