better-abc0.0.3
better-abc0.0.3
Published
Python ABC plus abstract attributes
pip install better-abc
Package Downloads
Authors
Project URLs
Requires Python
Dependencies
Better ABC
https://stackoverflow.com/questions/23831510/abstract-attribute-not-property
Usage
from better_abc import ABCMeta, abstract_attribute # see below
class AbstractFoo(metaclass=ABCMeta):
@abstract_attribute
def bar(self):
pass
class Foo(AbstractFoo):
def __init__(self):
self.bar = 3
class BadFoo(AbstractFoo):
def __init__(self):
pass
Foo() # ok
BadFoo() # will raise: NotImplementedError: Can't instantiate abstract class BadFoo
# with abstract attributes: bar
If you want other features of ABC they need to be imported from the abc module directly.
from abc import abstractmethod
from better_abc import ABCMeta, abstract_attribute