Abstract variables in abc

Ah, I see you are correct.

I was being lazy with syntax at the expense of semantics.

You can implement the abstract property more precisely like this:

class SubClass(BaseClass):
    # Implementing the abstract property
    @property
    def required_property(cls):
        return "I am from subclass"

being a property you can still access it succinctly:

SubClass().required_property

However, since they want a class variable, and class properties are (I’ve just discovered) deprecated, it might be best to override the property and make a class attribute anyway.

Unless ABC provides a way to make an abstract attribute I can’t think of a better way.