Coverage report: 92%

Files Functions Classes

coverage.py v7.15.4, created at 2026-09-03 20:46 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
dataexcept/__init__.py (no function)   100% 21 0 7   100% 0 0   100%
dataexcept/__main__.py _iter_exception_modules   100% 9 0 3   83% 6 1   93%
dataexcept/__main__.py _iter_exception_names   89% 9 1 0   88% 8 1   88%
dataexcept/__main__.py _list_exceptions   100% 2 0 0   100% 2 0   100%
dataexcept/__main__.py main   100% 7 0 2   100% 0 0   100%
dataexcept/__main__.py (no function)   100% 13 0 2   100% 0 0   100%
dataexcept/_validation.py is_number   100% 1 0 0   100% 0 0   100%
dataexcept/_validation.py (no function)   100% 4 0 0   100% 0 0   100%
dataexcept/base.py UnpicklableValue.__init__   100% 1 0 0   100% 0 0   100%
dataexcept/base.py UnpicklableValue.__repr__   0% 1 1 0   100% 0 0   0%
dataexcept/base.py UnpicklableValue.__str__   0% 1 1 0   100% 0 0   0%
dataexcept/base.py UnpicklableValue.__eq__   0% 1 1 0   100% 0 0   0%
dataexcept/base.py UnpicklableValue.__hash__   0% 1 1 0   100% 0 0   0%
dataexcept/base.py _safe   100% 7 0 2   100% 0 0   100%
dataexcept/base.py _safe_exception   100% 7 0 0   100% 2 0   100%
dataexcept/base.py _rebuild   100% 7 0 0   100% 0 0   100%
dataexcept/base.py DataExceptError.__init__   100% 12 0 0   90% 10 1   95%
dataexcept/base.py DataExceptError.__reduce__   100% 3 0 0   100% 0 0   100%
dataexcept/base.py (no function)   100% 21 0 1   100% 0 0   100%
dataexcept/database_exceptions.py DatabaseConnectionError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/database_exceptions.py QueryExecutionError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/database_exceptions.py TransactionError.__init__   100% 5 0 0   100% 2 0   100%
dataexcept/database_exceptions.py (no function)   100% 12 0 0   100% 0 0   100%
dataexcept/dataengineering_exceptions.py ETLJobError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/dataengineering_exceptions.py SchemaEvolutionError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/dataengineering_exceptions.py DataTransformationError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/dataengineering_exceptions.py BatchProcessingError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/dataengineering_exceptions.py DataWarehouseConnectionError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/dataengineering_exceptions.py MissingPartitionError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/dataengineering_exceptions.py (no function)   100% 19 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/__init__.py (no function)   100% 5 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/base.py DataScienceError.__init__   100% 4 0 0   100% 2 0   100%
dataexcept/datascience_exceptions/base.py DataScienceError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/base.py (no function)   100% 5 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py DataLoadingError.__init__   100% 8 0 0   100% 4 0   100%
dataexcept/datascience_exceptions/ingestion.py DataLoadingError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py DataFormatError.__init__   100% 11 0 0   100% 6 0   100%
dataexcept/datascience_exceptions/ingestion.py DataFormatError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py DataValidationError.__init__   89% 9 1 0   83% 6 1   87%
dataexcept/datascience_exceptions/ingestion.py DataValidationError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py MissingDataError.__init__   88% 8 1 0   67% 6 2   79%
dataexcept/datascience_exceptions/ingestion.py MissingDataError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py OutlierDetectionError.__init__   90% 10 1 0   83% 6 1   88%
dataexcept/datascience_exceptions/ingestion.py OutlierDetectionError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py SchemaMismatchError.__init__   75% 8 2 0   50% 4 2   67%
dataexcept/datascience_exceptions/ingestion.py SchemaMismatchError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py FeatureEngineeringError.__init__   70% 10 3 0   50% 6 3   62%
dataexcept/datascience_exceptions/ingestion.py FeatureEngineeringError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py DataNormalizationError.__init__   100% 10 0 0   100% 6 0   100%
dataexcept/datascience_exceptions/ingestion.py DataNormalizationError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py DataImbalanceError.__init__   92% 12 1 0   88% 8 1   90%
dataexcept/datascience_exceptions/ingestion.py DataImbalanceError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py DataAugmentationError.__init__   100% 10 0 0   100% 6 0   100%
dataexcept/datascience_exceptions/ingestion.py DataAugmentationError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py DataLeakageError.__init__   92% 12 1 0   88% 8 1   90%
dataexcept/datascience_exceptions/ingestion.py DataLeakageError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/ingestion.py (no function)   100% 38 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/operations.py ModelSerializationError.__init__   75% 8 2 0   50% 4 2   67%
dataexcept/datascience_exceptions/operations.py ModelSerializationError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/operations.py DeploymentError.__init__   80% 10 2 0   67% 6 2   75%
dataexcept/datascience_exceptions/operations.py DeploymentError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/operations.py DataDriftError.__init__   78% 9 2 0   50% 6 3   67%
dataexcept/datascience_exceptions/operations.py DataDriftError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/operations.py ResourceLimitError.__init__   83% 6 1 0   50% 2 1   75%
dataexcept/datascience_exceptions/operations.py ResourceLimitError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/operations.py DataExportError.__init__   75% 8 2 0   50% 4 2   67%
dataexcept/datascience_exceptions/operations.py (no function)   100% 19 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py ModelTrainingError.__init__   86% 14 2 0   80% 10 2   83%
dataexcept/datascience_exceptions/training.py ModelTrainingError.__str__   100% 4 0 0   100% 2 0   100%
dataexcept/datascience_exceptions/training.py ConvergenceError.__init__   83% 6 1 0   50% 4 2   70%
dataexcept/datascience_exceptions/training.py ConvergenceError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py TrainingTimeoutError.__init__   100% 5 0 0   100% 2 0   100%
dataexcept/datascience_exceptions/training.py TrainingTimeoutError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py HyperparameterError.__init__   100% 7 0 0   75% 4 1   91%
dataexcept/datascience_exceptions/training.py HyperparameterError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py ModelEvaluationError.__init__   89% 9 1 0   67% 6 2   80%
dataexcept/datascience_exceptions/training.py ModelEvaluationError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py PredictionError.__init__   86% 7 1 0   50% 4 2   73%
dataexcept/datascience_exceptions/training.py PredictionError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py FeatureSelectionError.__init__   80% 5 1 0   50% 2 1   71%
dataexcept/datascience_exceptions/training.py DimensionalityReductionError.__init__   75% 8 2 0   50% 4 2   67%
dataexcept/datascience_exceptions/training.py CrossValidationError.__init__   80% 5 1 0   50% 2 1   71%
dataexcept/datascience_exceptions/training.py HyperparameterTuningError.__init__   80% 5 1 0   50% 2 1   71%
dataexcept/datascience_exceptions/training.py ExperimentTrackingError.__init__   80% 5 1 0   50% 2 1   71%
dataexcept/datascience_exceptions/training.py GPUOutOfMemoryError.__init__   86% 7 1 0   50% 2 1   78%
dataexcept/datascience_exceptions/training.py ModelInferenceError.__init__   100% 8 0 0   100% 4 0   100%
dataexcept/datascience_exceptions/training.py ModelInferenceError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py ModelCompatibilityError.__init__   92% 12 1 0   88% 8 1   90%
dataexcept/datascience_exceptions/training.py ModelCompatibilityError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py OverfittingError.__init__   100% 8 0 0   100% 4 0   100%
dataexcept/datascience_exceptions/training.py OverfittingError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py UnderfittingError.__init__   100% 8 0 0   100% 4 0   100%
dataexcept/datascience_exceptions/training.py UnderfittingError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py EarlyStoppingError.__init__   100% 10 0 0   100% 6 0   100%
dataexcept/datascience_exceptions/training.py EarlyStoppingError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py BiasDetectionError.__init__   93% 15 1 0   90% 10 1   92%
dataexcept/datascience_exceptions/training.py BiasDetectionError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py ExplainabilityError.__init__   100% 10 0 0   100% 6 0   100%
dataexcept/datascience_exceptions/training.py ExplainabilityError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py FeatureScalingError.__init__   100% 10 0 0   100% 6 0   100%
dataexcept/datascience_exceptions/training.py FeatureScalingError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/datascience_exceptions/training.py (no function)   100% 58 0 0   100% 0 0   100%
dataexcept/exceptions/__init__.py (no function)   100% 10 0 0   100% 0 0   100%
dataexcept/exceptions/authentication.py AuthenticationError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/authentication.py AuthorizationError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/authentication.py (no function)   100% 5 0 0   100% 0 0   100%
dataexcept/exceptions/base.py (no function)   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/configuration.py ConfigurationError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/configuration.py (no function)   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/external.py ServiceConnectionError.__init__   83% 6 1 0   50% 2 1   75%
dataexcept/exceptions/external.py OperationTimeoutError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/external.py ResourceNotFoundError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/external.py DependencyError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/external.py (no function)   100% 9 0 0   100% 0 0   100%
dataexcept/exceptions/lifecycle.py JobCancellationError.__init__   83% 6 1 0   50% 2 1   75%
dataexcept/exceptions/lifecycle.py (no function)   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/notification.py NotificationError.__init__   83% 6 1 0   50% 2 1   75%
dataexcept/exceptions/notification.py EmailError.__init__   83% 6 1 0   50% 2 1   75%
dataexcept/exceptions/notification.py WebhookError.__init__   100% 5 0 0   100% 2 0   100%
dataexcept/exceptions/notification.py (no function)   100% 9 0 0   100% 0 0   100%
dataexcept/exceptions/parsing.py ParsingError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/parsing.py SerializationError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/parsing.py DeserializationError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/parsing.py (no function)   100% 7 0 0   100% 0 0   100%
dataexcept/exceptions/scheduling.py ScheduleConflictError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/scheduling.py CronExpressionError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/exceptions/scheduling.py (no function)   100% 5 0 0   100% 0 0   100%
dataexcept/exceptions/validation.py ValidationError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/validation.py (no function)   100% 3 0 0   100% 0 0   100%
dataexcept/io_exceptions.py FileReadError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/io_exceptions.py FileWriteError.__init__   83% 6 1 0   50% 2 1   75%
dataexcept/io_exceptions.py FileLockError.__init__   100% 2 0 0   100% 0 0   100%
dataexcept/io_exceptions.py (no function)   100% 12 0 0   100% 0 0   100%
dataexcept/logging_helpers.py _is_json_safe   100% 5 0 0   100% 0 0   100%
dataexcept/logging_helpers.py _coerced   100% 4 0 0   100% 0 0   100%
dataexcept/logging_helpers.py _described   100% 5 0 2   100% 0 0   100%
dataexcept/logging_helpers.py _normalize_context_value   100% 6 0 0   100% 4 0   100%
dataexcept/logging_helpers.py _build_extra   100% 4 0 0   100% 2 0   100%
dataexcept/logging_helpers.py _chain_mentions_a_url   100% 9 0 2   100% 4 0   100%
dataexcept/logging_helpers.py log_exception   91% 11 1 0   75% 4 1   87%
dataexcept/logging_helpers.py log_and_raise   100% 5 0 0   100% 0 0   100%
dataexcept/logging_helpers.py log_then_raise   100% 2 0 0   100% 0 0   100%
dataexcept/logging_helpers.py (no function)   100% 20 0 0   100% 0 0   100%
dataexcept/network_exceptions.py HostUnreachableError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/network_exceptions.py ConnectionTimeoutError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/network_exceptions.py ProtocolError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/network_exceptions.py (no function)   100% 11 0 0   100% 0 0   100%
dataexcept/pandas_exceptions.py MissingColumnError.__init__   78% 9 2 0   50% 4 2   69%
dataexcept/pandas_exceptions.py MissingColumnError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/pandas_exceptions.py DtypeMismatchError.__init__   71% 14 4 0   50% 8 4   64%
dataexcept/pandas_exceptions.py DtypeMismatchError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/pandas_exceptions.py IndexAlignmentError.__init__   86% 7 1 0   75% 4 1   82%
dataexcept/pandas_exceptions.py IndexAlignmentError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/pandas_exceptions.py MergeKeyError.__init__   100% 7 0 0   100% 4 0   100%
dataexcept/pandas_exceptions.py MergeKeyError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/pandas_exceptions.py PandasIOError.__init__   75% 8 2 0   50% 4 2   67%
dataexcept/pandas_exceptions.py PandasIOError.__str__   100% 1 0 0   100% 0 0   100%
dataexcept/pandas_exceptions.py (no function)   100% 21 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py PreprocessingError.__init__   100% 5 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py FeaturePreprocessingError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py StorageError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py PipelineNotificationError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py RetryLimitExceededError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py ExternalServiceError.__init__   100% 5 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py ServiceAuthenticationError.__init__   100% 2 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py ServiceAuthorizationError.__init__   100% 2 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py ServiceTimeoutError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py ApiError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/pipeline_exceptions.py TimeDeltaTooLargeError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py DataFetchError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/pipeline_exceptions.py (no function)   100% 32 0 0   100% 0 0   100%
dataexcept/redaction.py _tokens   100% 4 0 0   100% 2 0   100%
dataexcept/redaction.py _is_sensitive   100% 1 0 0   100% 0 0   100%
dataexcept/redaction.py fingerprint   100% 2 0 0   100% 0 0   100%
dataexcept/redaction.py redact_secret   100% 5 0 0   100% 4 0   100%
dataexcept/redaction.py remove_secret   100% 3 0 0   100% 2 0   100%
dataexcept/redaction.py _redact_params   100% 6 0 0   100% 4 0   100%
dataexcept/redaction.py redact_url   100% 25 0 2   100% 12 0   100%
dataexcept/redaction.py redact_if_url   100% 3 0 0   100% 2 0   100%
dataexcept/redaction.py redact_urls_in_text   100% 3 0 0   100% 2 0   100%
dataexcept/redaction.py (no function)   100% 21 0 0   100% 0 0   100%
dataexcept/security_exceptions.py EncryptionError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/security_exceptions.py DecryptionError.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/security_exceptions.py InvalidTokenError.__init__   100% 5 0 0   100% 2 0   100%
dataexcept/security_exceptions.py (no function)   100% 12 0 0   100% 0 0   100%
dataexcept/serialization.py _redact_export_text   100% 1 0 0   100% 0 0   100%
dataexcept/serialization.py _safe_text   100% 6 0 2   100% 0 0   100%
dataexcept/serialization.py _safe_key   67% 3 1 0   50% 2 1   60%
dataexcept/serialization.py _safe_scalar   78% 9 2 0   75% 8 2   76%
dataexcept/serialization.py _safe_mapping   71% 7 2 0   100% 0 0   71%
dataexcept/serialization.py _safe_collection   0% 7 7 0   100% 0 0   0%
dataexcept/serialization.py _json_safe   79% 14 3 0   75% 12 3   77%
dataexcept/serialization.py _attributes   100% 10 0 0   100% 4 0   100%
dataexcept/serialization.py _group_members   82% 11 2 0   67% 6 2   76%
dataexcept/serialization.py _exception_record   100% 20 0 0   100% 14 0   100%
dataexcept/serialization.py exception_to_dict   100% 7 0 0   100% 6 0   100%
dataexcept/serialization.py exception_to_json   100% 2 0 0   100% 0 0   100%
dataexcept/serialization.py (no function)   100% 23 0 0   100% 0 0   100%
dataexcept/wrapping.py _cause_parameter   100% 6 0 2   100% 4 0   100%
dataexcept/wrapping.py wrap   100% 6 0 0   100% 2 0   100%
dataexcept/wrapping.py wrapping   100% 4 0 0   100% 0 0   100%
dataexcept/wrapping.py (no function)   100% 12 0 0   100% 0 0   100%
Total     95% 1319 70 27   82% 366 65   92%

No items found using the specified filter.