BSK-E0098
error
Non-Protocol base class in a Protocol definition
Per PEP 544, a Protocol class may only inherit from other Protocol classes (with the exception of object). Inheriting from a non-Protocol concrete class is a violation.
from typing import Protocol
class Base:
x: int = 0
class BadProto(Base, Protocol): # E — Base is not a Protocol
def method(self) -> int: ...
How to handle it
Every rule is on by default — strict is the default, not a cage. You can dial
BSK-E0098 down per-file or per-path from your editor or
pyproject.toml, or fix the code
so it type-checks. See the Type System rules and
the complete diagnostic reference.
Canonical URL: https://www.basilisk-python.dev/errors/BSK-E0098