enthought / enthought/traits

Consider deprecating prefix traits for Traits 6.0.0

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

Description

This is a placeholder issue; we'll need an EEP for this level of change.

The prefix traits machinery adds significant complication to the Traits implementation, and is rarely used in practice, except that:

- The `HasStrictTraits` and `HasPrivateTraits` classes are implemented via prefix traits, and
- Caching for some traits is implemented via the prefix trait `_traits_cache_`

If we can find other ways to do the above, it may make sense to remove prefix traits.

Short term, we could consider deprecating user uses of prefix traits (other than `_` and `__`).

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reading the prefix traits machinery, including how HasStrictTraits and HasPrivateTraits depend on it and how _traits_cache_ supports caching. The issue calls for an EEP before deciding whether to deprecate or remove user-facing prefix traits; done is a documented, agreed design rather than a small code edit.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
backend
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.