AAVSOSubmissionHeader#

class stellarphot.settings.AAVSOSubmissionHeader(*, type: Annotated[Literal['EXTENDED'], BeforeValidator(func=_upper_if_str, json_schema_input_type=PydanticUndefined)] = 'EXTENDED', obscode: Annotated[str, AfterValidator(func=_non_empty_string_validator)], software: Annotated[str, AfterValidator(func=_non_empty_string_validator), MaxLen(max_length=255)] = 'stellarphot 2.0.4.dev38+gd59d6af0b.d20260604', delim: Annotated[str, AfterValidator(func=_validate_delim)] = ',', date_format: Annotated[Literal['JD', 'HJD', 'EXCEL'], BeforeValidator(func=_upper_if_str, json_schema_input_type=PydanticUndefined)] = 'JD')[source]#

Bases: BaseModel

Header parameters for an AAVSO Extended File Format submission.

Five fields map 1:1 to the #-prefixed parameter lines required by the AAVSO loader (TYPE, OBSCODE, SOFTWARE, DELIM, DATE). The sixth header line, #OBSTYPE=CCD, is always emitted by the writer and is not a field on this model.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Attributes Summary

data_delimiter

Return the actual character used to separate data fields.

model_config

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Methods Summary

header_lines()

Return the six AAVSO # header lines in spec order.

Attributes Documentation

data_delimiter#

Return the actual character used to separate data fields.

The header writes comma and tab literally, but the data rows use , and \t respectively.

model_config = {'extra': 'forbid', 'validate_assignment': True, 'validate_default': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

Methods Documentation

header_lines() list[str][source]#

Return the six AAVSO # header lines in spec order.

OBSTYPE is hardcoded to CCD; the other five values come from the model fields. No trailing newlines.