enthought / enthought/traits

Remove MetaHasTraits metaclass

Open
#1,565 0 comments 0 reactions 0 assignees View on GitHub
component: core type: cleanup
Dominant language
Python
Stars
462
Forks
90
PR merge metrics
No merged PRs in 30d

Description

Traits doesn't need the MetaHasTraits metaclass: everything it needs to be able to do it can do with the aid of `__init_subclasses__`, introduced in Python 3.6.

See #1551 for POC of PR that removes `MetaHasTraits`; the additional changes needed to make the test suite pass are fairly small. We'd also need to look for places elsewhere in ETS and beyond that `MetaHasTraits` is used. We'd also want to do some minimal profiling, just to check for major performance regressions.

Related: #1549.

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.