API

Most useful functions and classes are contained in submodules.

isd

class isd.Batch(records: 'List[Record]')
filter_by_datetime(start_date: datetime | None = None, end_date: datetime | None = None) Batch

Returns a new Batch with records filtered by start and end datetimes (both optional).

classmethod from_path(path: str | Path) Batch

Opens a local ISD file and returns an iterator over its records.

If the path has a .gz extension, this function will assume it has gzip compression and will attempt to open it using gzip.open.

classmethod parse(lines: str | BytesIO) Batch

Reads records from a text io stream.

to_data_frame() pandas.DataFrame

Reads a local ISD file into a DataFrame.

to_dict() List[Dict[str, Any]]

Returns a list of dictionaries, one for each record.

to_json(indent: int = 4) str

Returns a JSON line of all records.

to_polars() polars.DataFrame

Reads a local ISD file into a Polars DataFrame.

exception isd.IsdError

Error class for invalid ISD files

class isd.Record(usaf_id: str, ncei_id: str, year: int, month: int, day: int, hour: int, minute: int, data_source: str, latitude: float | None, longitude: float | None, report_type: str | None, elevation: float | None, call_letters: str | None, quality_control_process: str, wind_direction: int | None, wind_direction_quality_code: str, wind_observation_type: str | None, wind_speed: float | None, wind_speed_quality_code: str, ceiling: int | None, ceiling_quality_code: str, ceiling_determination_code: str | None, cavok_code: str | None, visibility: int | None, visibility_quality_code: str, visibility_variability_code: str | None, visibility_variability_quality_code: str, air_temperature: float | None, air_temperature_quality_code: str, dew_point_temperature: float | None, dew_point_temperature_quality_code: str, sea_level_pressure: float | None, sea_level_pressure_quality_code: str, additional_data: str, remarks: str, element_quality_data: str, original_observation_data: str)

A single line of an ISD file.

datetime() datetime

Returns this record’s datetime.

classmethod parse(line: str) Record

Parses an ISD line into a record.

to_dict() Dict[str, Any]

Returns a dictionary representation of this record.

to_json(indent: int = 4) str

Returns a JSON representation of this record.