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