"""Contain the configurations used in the package.""" import os from constants import UNSUPPORTED_FILE_HANDLING_VALID_VALUES, MASK_MODE_VALID_VALUES DOCUMENT_MAX_SIZE_CONTAINS_PII_ENTITIES = int(os.getenv('DOCUMENT_MAX_SIZE_CONTAINS_PII_ENTITIES', 50 * 1000)) # 50 KB DOCUMENT_MAX_SIZE_DETECT_PII_ENTITIES = int(os.getenv('DOCUMENT_MAX_SIZE_DETECT_PII_ENTITIES', 5 * 1000)) # 5KB PII_ENTITY_TYPES = str(os.getenv('PII_ENTITY_TYPES', 'ALL')) IS_PARTIAL_OBJECT_SUPPORTED = str(os.getenv('IS_PARTIAL_OBJECT_SUPPORTED', 'false')).lower() == 'true' MASK_CHARACTER = str(os.getenv('MASK_CHARACTER', '*')) MASK_MODE = MASK_MODE_VALID_VALUES[os.getenv('MASK_MODE', MASK_MODE_VALID_VALUES.MASK.name)] SUBSEGMENT_OVERLAPPING_TOKENS = int(os.getenv('SUBSEGMENT_OVERLAPPING_TOKENS', 20)) DOCUMENT_MAX_SIZE = int(os.getenv('DOCUMENT_MAX_SIZE', 100 * 1024)) CONFIDENCE_THRESHOLD = float(os.getenv('CONFIDENCE_THRESHOLD', 0.5)) assert 0.5 <= CONFIDENCE_THRESHOLD <= 1.0, "CONFIDENCE_THRESHOLD is not within allowed range [0.5,1]" MAX_CHARS_OVERLAP = int(os.getenv('MAX_CHARS_OVERLAP', 200)) DEFAULT_LANGUAGE_CODE = str(os.getenv('DEFAULT_LANGUAGE_CODE', 'en')) REDACTION_API_ONLY = os.getenv('REDACTION_API_ONLY', 'false').lower() == 'true' UNSUPPORTED_FILE_HANDLING = UNSUPPORTED_FILE_HANDLING_VALID_VALUES[ os.getenv('UNSUPPORTED_FILE_HANDLING', UNSUPPORTED_FILE_HANDLING_VALID_VALUES.FAIL.name)] DETECT_PII_ENTITIES_THREAD_COUNT = int(os.getenv('DETECT_PII_ENTITIES_THREAD_COUNT', 8)) CONTAINS_PII_ENTITIES_THREAD_COUNT = int(os.getenv('CONTAINS_PII_ENTITIES_THREAD_COUNT', 20)) PUBLISH_CLOUD_WATCH_METRICS = os.getenv('PUBLISH_CLOUD_WATCH_METRICS', 'true').lower() == 'true' COMPREHEND_ENDPOINT_URL = None if os.getenv('COMPREHEND_ENDPOINT_URL', '') == '' else os.getenv('COMPREHEND_ENDPOINT_URL') LOG_LEVEL = os.getenv('LOG_LEVEL', 'INFO')