Our old code would try to remove modifiers for py.attribute, but that was not necessary because they cannot be set. (An attribute is the default, like setting a value in __init__; a property is when you set @property on a function)
Modifiers are only set on properties. This is evidenced by npm run regen-api not changing despite removing code to handle py.attribute.
PR does not preserve property modifier
For a typical end-user, an attribute and property are essentially the same. The only time I think it'd be relevant is if you're subclassing the class; otherwise, I think property is distracting.
So, we continue to not preserve property, the same as before.
abstract vs abstract property
We capture the whole abstract property because the phrase is much more meaningful than abstract.
Part of https://github.com/Qiskit/documentation/issues/2330.
FYI: attributes don't have modifiers
Our old code would try to remove modifiers for
py.attribute
, but that was not necessary because they cannot be set. (An attribute is the default, like setting a value in__init__
; a property is when you set@property
on a function)Modifiers are only set on properties. This is evidenced by
npm run regen-api
not changing despite removing code to handlepy.attribute
.PR does not preserve
property
modifierFor a typical end-user, an attribute and
property
are essentially the same. The only time I think it'd be relevant is if you're subclassing the class; otherwise, I thinkproperty
is distracting.So, we continue to not preserve
property
, the same as before.abstract
vsabstract property
We capture the whole
abstract property
because the phrase is much more meaningful thanabstract
.