Coverage for presidio_analyzer / predefined_recognizers / nlp_engine_recognizers / transformers_recognizer.py: 100%

9 statements  

« prev     ^ index     » next       coverage.py v7.13.1, created at 2026-03-29 09:03 +0000

1import logging 

2from typing import Optional 

3 

4from presidio_analyzer.predefined_recognizers.nlp_engine_recognizers.spacy_recognizer import ( # noqa: E501 

5 SpacyRecognizer, 

6) 

7 

8logger = logging.getLogger("presidio-analyzer") 

9 

10 

11class TransformersRecognizer(SpacyRecognizer): 

12 """ 

13 Recognize entities using the spacy-huggingface-pipeline package. 

14 

15 The recognizer doesn't run transformers models, 

16 but loads the output from the NlpArtifacts 

17 See: 

18 - https://huggingface.co/docs/transformers/main/en/index for transformer models 

19 - https://github.com/explosion/spacy-huggingface-pipelines on the spaCy wrapper to transformers 

20 """ # noqa: E501 

21 

22 ENTITIES = [ 

23 "PERSON", 

24 "LOCATION", 

25 "ORGANIZATION", 

26 "AGE", 

27 "ID", 

28 "EMAIL", 

29 "DATE_TIME", 

30 "PHONE_NUMBER", 

31 ] 

32 

33 def __init__(self, name: Optional[str] = None, **kwargs): 

34 self.DEFAULT_EXPLANATION = self.DEFAULT_EXPLANATION.replace( 

35 "Spacy", "Transformers" 

36 ) 

37 super().__init__(name=name, **kwargs)