Source code for credsweeper.ml_model.features.feature

from abc import ABC, abstractmethod
from typing import List, Any

import numpy as np

from credsweeper.credentials.candidate import Candidate


[docs] class Feature(ABC): """Base class for features.""" def __init__(self): pass def __call__(self, candidates: List[Candidate]) -> np.ndarray: """Call base class for features. Args: candidates: list of candidates to extract features """ return np.array([self.extract(candidate) for candidate in candidates])
[docs] @abstractmethod def extract(self, candidate: Candidate) -> Any: """Abstract method of base class""" raise NotImplementedError