mth5.utils.mth5_validator
Validates MTH5 files for structural integrity and metadata compliance.
This module provides comprehensive validation of MTH5 files including: - File format and version checks - Group structure validation - Metadata schema validation - Summary table validation
Created on February 7, 2026
- copyright:
MTH5 Development Team
- license:
MIT
Examples
Validate a file programmatically:
>>> from mth5.utils.mth5_validator import MTH5Validator
>>> validator = MTH5Validator('data.mth5')
>>> results = validator.validate()
>>> print(results.is_valid)
True
Validate with detailed reporting:
>>> validator = MTH5Validator('data.mth5', verbose=True)
>>> results = validator.validate()
>>> results.print_report()
Classes
Validation severity levels. |
|
Container for a single validation message. |
|
Container for validation results. |
|
MTH5 file validator. |
Functions
|
Convenience function to validate an MTH5 file. |
Module Contents
- class mth5.utils.mth5_validator.ValidationLevel[source]
Bases:
enum.EnumValidation severity levels.
- class mth5.utils.mth5_validator.ValidationMessage[source]
Container for a single validation message.
- level: ValidationLevel[source]
- class mth5.utils.mth5_validator.ValidationResults[source]
Container for validation results.
- messages: list[ValidationMessage] = [][source]
- add_error(category: str, message: str, path: str | None = None, **details) None[source]
Add an error message.
- add_warning(category: str, message: str, path: str | None = None, **details) None[source]
Add a warning message.
- class mth5.utils.mth5_validator.MTH5Validator(file_path: str | pathlib.Path, verbose: bool = False, validate_metadata: bool = True, check_data: bool = False)[source]
MTH5 file validator.
Performs comprehensive validation of MTH5 files including file format, group structure, and metadata validation.
- Parameters:
file_path (str | Path) – Path to the MTH5 file to validate.
verbose (bool, default False) – Enable verbose logging during validation.
validate_metadata (bool, default True) – Enable metadata validation using mt_metadata schemas.
check_data (bool, default False) – Check that channels contain data (can be slow for large files).
Examples
Basic validation:
>>> validator = MTH5Validator('data.mth5') >>> results = validator.validate() >>> if results.is_valid: ... print("File is valid!")
Detailed validation with report:
>>> validator = MTH5Validator('data.mth5', verbose=True, check_data=True) >>> results = validator.validate() >>> results.print_report(include_info=True)
- validate() ValidationResults[source]
Run full validation suite.
- Returns:
Complete validation results with all messages.
- Return type:
Examples
>>> validator = MTH5Validator('data.mth5') >>> results = validator.validate() >>> print(f"Valid: {results.is_valid}")
- mth5.utils.mth5_validator.validate_mth5_file(file_path: str | pathlib.Path, verbose: bool = False, **kwargs) ValidationResults[source]
Convenience function to validate an MTH5 file.
- Parameters:
file_path (str | Path) – Path to MTH5 file to validate.
verbose (bool, default False) – Enable verbose output.
**kwargs – Additional arguments passed to MTH5Validator.
- Returns:
Validation results.
- Return type:
Examples
>>> from mth5.utils.mth5_validator import validate_mth5_file >>> results = validate_mth5_file('data.mth5') >>> if not results.is_valid: ... results.print_report()