Skip to content

Add a file format to core

This is a source-development task for core contributors. It changes the format registry; it does not register an installed translator plugin. Start with development setup.

The current registry lives in file_types.py. Use the file type reference to check whether the extension already has a supported type before adding one.

Add a FileFormat subclass with the appropriate supports_timeseries value, map its extensions in EXTENSION_MAPPING, and update TableDataFormat if the format is tabular. These are edits to core’s source definitions, not a public runtime registration API. Implement the matching reading path in file_readers.py. A recognized extension alone does not make a file readable.

Check DataFile’s format-specific validation and processing constraints as well. Do not declare time-series support merely because the file can contain numeric arrays; the implemented reader and model workflow must support the required time-series representation.

Add a small actual fixture and tests covering extension selection, parsed values/schema, processing compatibility and time-series acceptance or rejection. Run the affected file-type, DataFile and reader tests using the contributor workflow. Confirm the new format loads its expected records and that unsupported extensions and incompatible settings still fail. Document supported extensions and constraints in the reference; put model-specific parsing instructions in the model package.

The existing contracts stay at File Types API Reference.