enthought / enthought/chaco

Abstract base classes should inherit from ABCHasTraits

Open
#252 1 comment 0 reactions 0 assignees View on GitHub
type: backwards incompatible type: enhancement
Dominant language
Python
Stars
305
Forks
97
PR merge metrics
No merged PRs in 30d

Description

There are a number of abstract base classes in the Chaco codebase, but the abstractness is not enforced. This leads to problems with partial implementations of the abstract base class interface in subclasses.

All abstract classes should inherit from `ABCHasTraits` which ensures that:
- the abstract base class cannot be instantiated
- all subclasses must at least provide a minimal implementation of the interface

This would be a backwards incompatible change, as user code which inherits from abstract base classes but implements the interface incompletely may break.

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.