Module: key_mixin
Expand source code
# Copyright (C) 2023-present The Project Contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from abc import ABC
from abc import abstractmethod
from typing import Type
class KeyMixin(ABC):
"""Optional mixin class for a primary key object, code must not rely on inheritance from this class."""
__slots__ = ()
"""To prevent creation of __dict__ in derived types."""
@classmethod
@abstractmethod
def get_key_type(cls) -> Type:
"""Return key type even when called from a record."""
Classes
class KeyMixin
-
Optional mixin class for a primary key object, code must not rely on inheritance from this class.
Expand source code
class KeyMixin(ABC): """Optional mixin class for a primary key object, code must not rely on inheritance from this class.""" __slots__ = () """To prevent creation of __dict__ in derived types.""" @classmethod @abstractmethod def get_key_type(cls) -> Type: """Return key type even when called from a record."""
Ancestors
- abc.ABC
Subclasses
- ContentKey
- EntryKey
- EntryTypeKey
- LlmKey
- PromptKey
- RetrievalKey
- RetrieverKey
- UiAppStateKey
- UiTypeStateKey
- UserKey
- ConfigKey
- ContextKey
- DbKey
- ExperimentKey
- TrialKey
- ReaderKey
- LogEntryKey
- LogKey
- PlotKey
- PlotStyleKey
- EnumDeclKey
- ModuleDeclKey
- TypeDeclKey
- PackageAliasKey
- ClassLabelKey
- EnumItemLabelKey
- FieldLabelKey
- MethodLabelKey
- PackageLabelKey
- TaskKey
- TaskQueueKey
- DagKey
- SuccessorDagKey
- SuccessorDagNodeKey
- ViewKey
- WorkflowPhaseKey
- AssetClassKey
- CurrencyKey
- FreqKey
- PayReceiveFixedKey
- PayReceiveKey
- RatesIndexKey
- RatesLegKey
- RatesTradeTypeKey
- TradeKey
Static methods
def get_key_type() -> Type
-
Return key type even when called from a record.