defget_info()->dict:"""Get information about the datason package."""return{"version":__version__,"author":__author__,"email":__author__,"description":__description__,"config_available":_config_available,"cache_system":"configurable"if_config_availableelse"legacy",}
defclear_all_caches()->None:"""Clear all caches across all scopes (for testing/debugging)."""# Clear process-level caches_process_string_pattern_cache.clear()_process_parsed_object_cache.clear()_process_type_cache.clear()_process_dict_pool.clear()_process_list_pool.clear()# Clear ML serializers lazy import cachetry:from.importml_serializersforkeyinml_serializers._LAZY_IMPORTS:ml_serializers._LAZY_IMPORTS[key]=NoneexceptImportError:pass# Clear request-level caches if they existtry:if_request_string_pattern_cache.get()isnotNone:_request_string_pattern_cache.get().clear()exceptLookupError:passtry:if_request_parsed_object_cache.get()isnotNone:_request_parsed_object_cache.get().clear()exceptLookupError:passtry:if_request_type_cache.get()isnotNone:_request_type_cache.get().clear()exceptLookupError:passtry:if_request_dict_pool.get()isnotNone:_request_dict_pool.get().clear()exceptLookupError:passtry:if_request_list_pool.get()isnotNone:_request_list_pool.get().clear()exceptLookupError:pass
defget_cache_metrics(scope:Optional[CacheScope]=None)->Dict[CacheScope,CacheMetrics]:"""Get cache metrics for a specific scope or all scopes."""ifscopeisnotNone:return{scope:_cache_metrics[scope]}returndict(_cache_metrics)