Coverage report: 93%

Files Functions Classes

coverage.py v7.16.0, created at 2026-09-27 14:44 +0000

      Statements   Branches   Total
File function   coverage statements missing excluded   coverage branches partial   coverage
dataexcept/__init__.py (no function)   100% 27 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/_causes.py resolve_cause   100% 8 0 0   100% 6 0   100%
dataexcept/_causes.py (no function)   100% 3 0 0   100% 0 0   100%
dataexcept/_previews.py _as_text   100% 4 0 0   100% 2 0   100%
dataexcept/_previews.py bounded_preview   100% 8 0 0   100% 6 0   100%
dataexcept/_previews.py (no function)   100% 7 0 0   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.failure_metadata   100% 4 0 0   100% 2 0   100%
dataexcept/base.py DataExceptError.failure_kind   100% 1 0 0   100% 0 0   100%
dataexcept/base.py DataExceptError.retryable   100% 1 0 0   100% 0 0   100%
dataexcept/base.py DataExceptError.retry_after_seconds   100% 1 0 0   100% 0 0   100%
dataexcept/base.py DataExceptError.with_failure_metadata   100% 4 0 0   100% 2 0   100%
dataexcept/base.py DataExceptError.__reduce__   100% 3 0 0   100% 0 0   100%
dataexcept/base.py (no function)   100% 32 0 1   100% 0 0   100%
dataexcept/broker_context.py _single_line   88% 8 1 0   83% 6 1   86%
dataexcept/broker_context.py _optional_single_line   100% 3 0 0   100% 2 0   100%
dataexcept/broker_context.py _optional_non_negative_int   86% 7 1 0   83% 6 1   85%
dataexcept/broker_context.py BrokerContext.__init__   100% 7 0 0   100% 0 0   100%
dataexcept/broker_context.py broker_context_from_message   95% 20 1 0   90% 10 1   93%
dataexcept/broker_context.py (no function)   100% 13 0 0   100% 0 0   100%
dataexcept/broker_exceptions.py _describe_position   100% 8 0 0   100% 6 0   100%
dataexcept/broker_exceptions.py _on_broker   100% 1 0 0   100% 0 0   100%
dataexcept/broker_exceptions.py BrokerConnectionError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/broker_exceptions.py BrokerTimeoutError.__init__   100% 12 0 0   100% 4 0   100%
dataexcept/broker_exceptions.py MessagePublishError.__init__   100% 9 0 0   100% 2 0   100%
dataexcept/broker_exceptions.py MessageConsumeError.__init__   100% 11 0 0   100% 2 0   100%
dataexcept/broker_exceptions.py MessageAcknowledgementError.__init__   100% 11 0 0   100% 2 0   100%
dataexcept/broker_exceptions.py (no function)   100% 20 0 0   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% 8 0 0   100% 2 0   100%
dataexcept/database_exceptions.py TransactionError.__init__   100% 6 0 0   100% 2 0   100%
dataexcept/database_exceptions.py (no function)   100% 13 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% 8 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__   100% 8 0 0   100% 2 0   100%
dataexcept/exceptions/external.py OperationTimeoutError.__init__   100% 5 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% 10 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 _describe_target   100% 7 0 0   100% 6 0   100%
dataexcept/exceptions/parsing.py ParsingError.__init__   100% 7 0 0   100% 0 0   100%
dataexcept/exceptions/parsing.py ParsingError._default_message   100% 4 0 0   100% 2 0   100%
dataexcept/exceptions/parsing.py SerializationError.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/exceptions/parsing.py DeserializationError.__init__   100% 7 0 0   100% 0 0   100%
dataexcept/exceptions/parsing.py DeserializationError._default_message   100% 4 0 0   100% 2 0   100%
dataexcept/exceptions/parsing.py (no function)   100% 14 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% 5 0 0   100% 0 0   100%
dataexcept/failure_metadata.py FailureMetadata.__post_init__   83% 12 2 0   80% 10 2   82%
dataexcept/failure_metadata.py (no function)   100% 13 0 0   100% 0 0   100%
dataexcept/http_context.py _safe_header_text   100% 5 0 0   100% 4 0   100%
dataexcept/http_context.py _normalized_headers   100% 5 0 0   75% 4 1   89%
dataexcept/http_context.py _first_header   100% 5 0 0   100% 4 0   100%
dataexcept/http_context.py _validate_header_names   82% 11 2 0   75% 8 2   79%
dataexcept/http_context.py _operation_name   67% 9 3 0   62% 8 3   65%
dataexcept/http_context.py HttpContext.__init__   100% 2 0 0   100% 0 0   100%
dataexcept/http_context.py http_context_from_request   94% 17 1 0   90% 10 1   93%
dataexcept/http_context.py (no function)   100% 18 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% 10 0 0   88% 8 1   94%
dataexcept/logging_helpers.py _chain_mentions_a_url   100% 9 0 2   100% 4 0   100%
dataexcept/logging_helpers.py log_exception   100% 14 0 0   100% 4 0   100%
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% 21 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/observability.py OperationContext.__post_init__   100% 9 0 0   100% 8 0   100%
dataexcept/observability.py OperationContext.to_dict   100% 1 0 0   100% 0 0   100%
dataexcept/observability.py OperationContext.index_fields   100% 1 0 0   100% 0 0   100%
dataexcept/observability.py exception_to_observability_event   100% 8 0 0   83% 6 1   93%
dataexcept/observability.py (no function)   100% 20 0 0   100% 0 0   100%
dataexcept/opentelemetry.py ExceptionRecorder.record_exception   100% 0 0 0   100% 0 0   100%
dataexcept/opentelemetry.py _qualified_type_name   100% 2 0 0   100% 0 0   100%
dataexcept/opentelemetry.py _rendered_stacktrace   100% 5 0 2   100% 2 0   100%
dataexcept/opentelemetry.py _failure_attributes   86% 14 2 0   50% 8 4   73%
dataexcept/opentelemetry.py _operation_attributes   100% 11 0 0   88% 8 1   95%
dataexcept/opentelemetry.py exception_to_otel_attributes   100% 12 0 0   100% 6 0   100%
dataexcept/opentelemetry.py record_otel_exception   100% 5 0 0   100% 0 0   100%
dataexcept/opentelemetry.py (no function)   100% 19 0 0   100% 0 0   100%
dataexcept/orchestrator_context.py _single_line   88% 8 1 0   83% 6 1   86%
dataexcept/orchestrator_context.py _optional_single_line   100% 3 0 0   100% 2 0   100%
dataexcept/orchestrator_context.py _validate_attempt   86% 7 1 0   83% 6 1   85%
dataexcept/orchestrator_context.py OrchestratorContext.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/orchestrator_context.py orchestrator_context_from_step   100% 14 0 0   100% 6 0   100%
dataexcept/orchestrator_context.py (no function)   100% 12 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/pino.py _project   100% 15 0 2   100% 8 0   100%
dataexcept/pino.py _with_stack   100% 8 0 0   100% 6 0   100%
dataexcept/pino.py _rendered_stack   100% 5 0 2   100% 2 0   100%
dataexcept/pino.py envelope_to_pino   100% 8 0 0   100% 6 0   100%
dataexcept/pino.py exception_to_pino   100% 2 0 0   100% 0 0   100%
dataexcept/pino.py (no function)   100% 15 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% 5 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% 36 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% 23 0 0   100% 0 0   100%
dataexcept/schema.py _loaded_schema   100% 3 0 0   100% 0 0   100%
dataexcept/schema.py envelope_schema   100% 1 0 0   100% 0 0   100%
dataexcept/schema.py pino_profile_schema   100% 1 0 0   100% 0 0   100%
dataexcept/schema.py (no function)   100% 18 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/sentry.py _exception_from_hint   100% 6 0 2   100% 2 0   100%
dataexcept/sentry.py _tags_from_envelope   81% 16 3 0   40% 10 4   65%
dataexcept/sentry.py _operation_tags   80% 5 1 0   75% 4 1   78%
dataexcept/sentry.py enrich_sentry_event   88% 25 3 0   67% 12 4   81%
dataexcept/sentry.py (no function)   100% 10 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   100% 9 0 0   100% 8 0   100%
dataexcept/serialization.py _safe_mapping   71% 7 2 0   100% 0 0   71%
dataexcept/serialization.py _safe_collection   71% 7 2 0   100% 0 0   71%
dataexcept/serialization.py _json_safe   86% 14 2 0   83% 12 2   85%
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 _failure_record   89% 19 2 0   80% 10 2   86%
dataexcept/serialization.py _failure_fields   100% 3 0 0   100% 2 0   100%
dataexcept/serialization.py _exception_record   100% 21 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% 27 0 0   100% 0 0   100%
dataexcept/serverless_context.py _safe_text   100% 6 0 0   100% 4 0   100%
dataexcept/serverless_context.py _validated_optional_text   100% 6 0 0   100% 4 0   100%
dataexcept/serverless_context.py _normalized_metadata   100% 5 0 0   75% 4 1   89%
dataexcept/serverless_context.py _validated_keys   73% 11 3 0   62% 8 3   68%
dataexcept/serverless_context.py _first_metadata_value   100% 5 0 0   100% 4 0   100%
dataexcept/serverless_context.py _validated_cold_start   100% 5 0 0   100% 4 0   100%
dataexcept/serverless_context.py ServerlessContext.__init__   100% 4 0 0   100% 0 0   100%
dataexcept/serverless_context.py serverless_context_from_invocation   95% 21 1 0   92% 12 1   94%
dataexcept/serverless_context.py (no function)   100% 17 0 0   100% 0 0   100%
dataexcept/trace_context.py _is_lower_hex   100% 1 0 0   100% 0 0   100%
dataexcept/trace_context.py _safe_optional_header   100% 5 0 0   100% 4 0   100%
dataexcept/trace_context.py _has_valid_separators   100% 1 0 0   100% 0 0   100%
dataexcept/trace_context.py _mandatory_fields_are_valid   100% 7 0 0   100% 6 0   100%
dataexcept/trace_context.py _version_shape_is_valid   100% 3 0 0   100% 2 0   100%
dataexcept/trace_context.py W3CTraceContext.sampled   100% 1 0 0   100% 0 0   100%
dataexcept/trace_context.py W3CTraceContext.to_carrier   100% 6 0 0   100% 4 0   100%
dataexcept/trace_context.py W3CTraceContext.to_operation_context   67% 9 3 0   62% 8 3   65%
dataexcept/trace_context.py parse_traceparent   87% 15 2 0   80% 10 2   84%
dataexcept/trace_context.py trace_context_from_mapping   100% 14 0 0   92% 12 1   96%
dataexcept/trace_context.py (no function)   100% 29 0 0   100% 0 0   100%
dataexcept/worker_context.py _safe_text   100% 6 0 0   100% 4 0   100%
dataexcept/worker_context.py _validated_optional_text   100% 6 0 0   100% 4 0   100%
dataexcept/worker_context.py _normalized_metadata   100% 5 0 0   75% 4 1   89%
dataexcept/worker_context.py _validated_keys   73% 11 3 0   62% 8 3   68%
dataexcept/worker_context.py _first_metadata_value   100% 5 0 0   100% 4 0   100%
dataexcept/worker_context.py _validate_attempt   100% 7 0 0   100% 6 0   100%
dataexcept/worker_context.py WorkerContext.__init__   100% 3 0 0   100% 0 0   100%
dataexcept/worker_context.py worker_context_from_task   95% 21 1 0   92% 12 1   94%
dataexcept/worker_context.py (no function)   100% 17 0 0   100% 0 0   100%
dataexcept/wrapping.py _cause_parameter   100% 6 0 2   100% 4 0   100%
dataexcept/wrapping.py _explicit_cause_parameter   100% 4 0 0   100% 4 0   100%
dataexcept/wrapping.py wrap   91% 11 1 0   88% 8 1   89%
dataexcept/wrapping.py wrapping   100% 4 0 0   100% 0 0   100%
dataexcept/wrapping.py (no function)   100% 14 0 0   100% 0 0   100%
Total     96% 2252 98 35   85% 748 109   93%

No items found using the specified filter.