Title: Make distutils.Command an ABC
Type: Stage: resolved
Components: Distutils Versions: Python 3.5
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: dstufft, eric.araujo
Priority: normal Keywords:

Created on 2015-08-31 17:00 by Antony.Lee, last changed 2020-10-22 20:26 by Antony.Lee. This issue is now closed.

Messages (1)
msg249415 - (view) Author: Antony Lee (Antony.Lee) * Date: 2015-08-31 17:00
Currently, distutils.Command is a "hand-written" ABC; i.e. direct instantiaion or calling the "abstract" methods initialize_options, run and finalize_options raises a RuntimeError saying that the method (not named in the error message, which is thus a little bit cryptic) must be overriden.

In particular, this makes it impossible to use super() when overriding these methods (while Command.{initialize_options,run,finalize_options} have empty implementations, using super() is a fairly normal approach when inheriting, and needed in the case of multiple inheritance).

Switching to an ABC-based design would solve this issue.
Date User Action Args
2020-10-22 20:26:03Antony.Leesetnosy: - Antony.Lee
2020-10-22 20:20:16eric.araujosetstatus: open -> closed
resolution: wont fix
stage: resolved
2015-08-31 17:00:05Antony.Leecreate