# {py:mod}`nexusLIMS.extractors.base` ```{py:module} nexusLIMS.extractors.base ``` ```{autodoc2-docstring} nexusLIMS.extractors.base :parser: autodoc2_docstrings_parser :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`FieldDefinition ` - ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`ExtractionContext ` - ```{autodoc2-docstring} nexusLIMS.extractors.base.ExtractionContext :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`BaseExtractor ` - ```{autodoc2-docstring} nexusLIMS.extractors.base.BaseExtractor :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`PreviewGenerator ` - ```{autodoc2-docstring} nexusLIMS.extractors.base.PreviewGenerator :parser: autodoc2_docstrings_parser :summary: ``` * - {py:obj}`InstrumentProfile ` - ```{autodoc2-docstring} nexusLIMS.extractors.base.InstrumentProfile :parser: autodoc2_docstrings_parser :summary: ``` ```` ### API `````{py:class} FieldDefinition :canonical: nexusLIMS.extractors.base.FieldDefinition Bases: {py:obj}`typing.NamedTuple` ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition :parser: autodoc2_docstrings_parser ``` ````{py:attribute} section :canonical: nexusLIMS.extractors.base.FieldDefinition.section **Type:** str ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition.section :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} source_key :canonical: nexusLIMS.extractors.base.FieldDefinition.source_key **Type:** str ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition.source_key :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} output_key :canonical: nexusLIMS.extractors.base.FieldDefinition.output_key **Type:** str | list[str] ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition.output_key :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} factor :canonical: nexusLIMS.extractors.base.FieldDefinition.factor **Type:** float ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition.factor :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} is_string :canonical: nexusLIMS.extractors.base.FieldDefinition.is_string **Type:** bool ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition.is_string :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} suppress_zero :canonical: nexusLIMS.extractors.base.FieldDefinition.suppress_zero :value: > False **Type:** bool ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition.suppress_zero :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} target_unit :canonical: nexusLIMS.extractors.base.FieldDefinition.target_unit **Type:** str | None ```{autodoc2-docstring} nexusLIMS.extractors.base.FieldDefinition.target_unit :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} ExtractionContext :canonical: nexusLIMS.extractors.base.ExtractionContext ```{autodoc2-docstring} nexusLIMS.extractors.base.ExtractionContext :parser: autodoc2_docstrings_parser ``` ````{py:attribute} file_path :canonical: nexusLIMS.extractors.base.ExtractionContext.file_path **Type:** pathlib.Path ```{autodoc2-docstring} nexusLIMS.extractors.base.ExtractionContext.file_path :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} instrument :canonical: nexusLIMS.extractors.base.ExtractionContext.instrument **Type:** nexusLIMS.instruments.Instrument | None ```{autodoc2-docstring} nexusLIMS.extractors.base.ExtractionContext.instrument :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} signal_index :canonical: nexusLIMS.extractors.base.ExtractionContext.signal_index **Type:** int | None ```{autodoc2-docstring} nexusLIMS.extractors.base.ExtractionContext.signal_index :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} BaseExtractor :canonical: nexusLIMS.extractors.base.BaseExtractor Bases: {py:obj}`typing.Protocol` ```{autodoc2-docstring} nexusLIMS.extractors.base.BaseExtractor :parser: autodoc2_docstrings_parser ``` ````{py:attribute} name :canonical: nexusLIMS.extractors.base.BaseExtractor.name **Type:** str ```{autodoc2-docstring} nexusLIMS.extractors.base.BaseExtractor.name :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} priority :canonical: nexusLIMS.extractors.base.BaseExtractor.priority **Type:** int ```{autodoc2-docstring} nexusLIMS.extractors.base.BaseExtractor.priority :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} supported_extensions :canonical: nexusLIMS.extractors.base.BaseExtractor.supported_extensions **Type:** set[str] | None ```{autodoc2-docstring} nexusLIMS.extractors.base.BaseExtractor.supported_extensions :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} supports(context: nexusLIMS.extractors.base.ExtractionContext) -> bool :canonical: nexusLIMS.extractors.base.BaseExtractor.supports ```{autodoc2-docstring} nexusLIMS.extractors.base.BaseExtractor.supports :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} extract(context: nexusLIMS.extractors.base.ExtractionContext) -> dict[str, typing.Any] :canonical: nexusLIMS.extractors.base.BaseExtractor.extract ```{autodoc2-docstring} nexusLIMS.extractors.base.BaseExtractor.extract :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} PreviewGenerator :canonical: nexusLIMS.extractors.base.PreviewGenerator Bases: {py:obj}`typing.Protocol` ```{autodoc2-docstring} nexusLIMS.extractors.base.PreviewGenerator :parser: autodoc2_docstrings_parser ``` ````{py:attribute} name :canonical: nexusLIMS.extractors.base.PreviewGenerator.name **Type:** str ```{autodoc2-docstring} nexusLIMS.extractors.base.PreviewGenerator.name :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} priority :canonical: nexusLIMS.extractors.base.PreviewGenerator.priority **Type:** int ```{autodoc2-docstring} nexusLIMS.extractors.base.PreviewGenerator.priority :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} supported_extensions :canonical: nexusLIMS.extractors.base.PreviewGenerator.supported_extensions **Type:** set[str] | None ```{autodoc2-docstring} nexusLIMS.extractors.base.PreviewGenerator.supported_extensions :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} supports(context: nexusLIMS.extractors.base.ExtractionContext) -> bool :canonical: nexusLIMS.extractors.base.PreviewGenerator.supports ```{autodoc2-docstring} nexusLIMS.extractors.base.PreviewGenerator.supports :parser: autodoc2_docstrings_parser ``` ```` ````{py:method} generate(context: nexusLIMS.extractors.base.ExtractionContext, output_path: pathlib.Path) -> bool :canonical: nexusLIMS.extractors.base.PreviewGenerator.generate ```{autodoc2-docstring} nexusLIMS.extractors.base.PreviewGenerator.generate :parser: autodoc2_docstrings_parser ``` ```` ````` `````{py:class} InstrumentProfile :canonical: nexusLIMS.extractors.base.InstrumentProfile ```{autodoc2-docstring} nexusLIMS.extractors.base.InstrumentProfile :parser: autodoc2_docstrings_parser ``` ````{py:attribute} instrument_id :canonical: nexusLIMS.extractors.base.InstrumentProfile.instrument_id **Type:** str ```{autodoc2-docstring} nexusLIMS.extractors.base.InstrumentProfile.instrument_id :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} parsers :canonical: nexusLIMS.extractors.base.InstrumentProfile.parsers :value: > 'field(...)' **Type:** dict[str, typing.Callable] ```{autodoc2-docstring} nexusLIMS.extractors.base.InstrumentProfile.parsers :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} transformations :canonical: nexusLIMS.extractors.base.InstrumentProfile.transformations :value: > 'field(...)' **Type:** dict[str, typing.Callable] ```{autodoc2-docstring} nexusLIMS.extractors.base.InstrumentProfile.transformations :parser: autodoc2_docstrings_parser ``` ```` ````{py:attribute} extension_fields :canonical: nexusLIMS.extractors.base.InstrumentProfile.extension_fields :value: > 'field(...)' **Type:** dict[str, typing.Any] ```{autodoc2-docstring} nexusLIMS.extractors.base.InstrumentProfile.extension_fields :parser: autodoc2_docstrings_parser ``` ```` `````