enthought / enthought/ets

Migrate on_trait_change to observe

Open
#61 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
33
Forks
10
PR merge metrics
No merged PRs in 30d

Description

A large amount of work has already been undertaken to move ETS projects from `on_trait_change` to `observe`. This includes replacing use of the static trait change handlers such as `_*_changed` and the use of `depends_on` in `Property` traits.

We would like to migrate all of ETS if possible but given the time/resource constraints, we are going to go with the 90%-10% option here. Given our experience, we know that 90% of the work is more-or-less straightforward whereas 10% of the work leads us down rabbitholes which require significant debugging/investigation. Therefore, at the moment, we are only going to attack the easy/straightforward 90% and ignore the hard/difficult 10% of changes.

Note also that in some packages, this work was completed but a release hasn't been published so the changes aren't visible to the users. We need to expose the changes to the users in order to catch any issues potentially not caught by the testsuites.

- [ ] `depends_on` is used a lot, especially in the examples, static `@on_trait_change` and dynamic `on_trait_change` are used heavily and so are the `_*_changed` handlers in Traits
- [ ] There are still a large number of static change handlers i.e. `_*_changed` methods in PyFace.
- [ ] There are uses of `property_depends_on`, dynamic uses of `on_trait_change` and a number of static change handlers i.e. `_*_changed` methods in TraitsUI
- [ ] There are uses of the static `@on_trait_change` decorator and dynamic use of `on_trait_change` along with a few `_*_changed` handlers in Envisage.
- [ ] There are a few uses of dynamic `on_trait_change` and a few `_*_changed` methods in AppTools
- [ ] There are a few uses of dynamic `on_trait_change` and a large number of `_*_changed` methods in Enable
- [ ] There's one use of `depends_on`, a few uses of `on_trait_change` and a large number of `_*_changed` methods in Chaco
- [ ] SciMath hasn't been touched at all at the moment

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.