from pydantic import Field
from .base import FileHandler
from .readers import NetCDFReader, CSVReader, ParquetReader, ZarrReader
from .writers import (
NetCDFWriter,
SplitNetCDFWriter,
CSVWriter,
ParquetWriter,
ZarrWriter,
)
__all__ = [
"NetCDFHandler",
"SplitNetCDFHandler",
"CSVHandler",
"ParquetHandler",
"ZarrHandler",
]
[docs]class NetCDFHandler(FileHandler):
[docs] reader: NetCDFReader = Field(default_factory=NetCDFReader)
[docs] writer: NetCDFWriter = Field(default_factory=NetCDFWriter)
[docs]class SplitNetCDFHandler(FileHandler):
[docs] reader: NetCDFReader = Field(default_factory=NetCDFReader)
[docs] writer: SplitNetCDFWriter = Field(default_factory=SplitNetCDFWriter)
[docs]class CSVHandler(FileHandler):
[docs] reader: CSVReader = Field(default_factory=CSVReader)
[docs] writer: CSVWriter = Field(default_factory=CSVWriter)
[docs]class ParquetHandler(FileHandler):
[docs] extension: str = "parquet"
[docs] reader: ParquetReader = Field(default_factory=ParquetReader)
[docs] writer: ParquetWriter = Field(default_factory=ParquetWriter)
[docs]class ZarrHandler(FileHandler):
[docs] extension: str = "zarr"
[docs] reader: ZarrReader = Field(default_factory=ZarrReader)
[docs] writer: ZarrWriter = Field(default_factory=ZarrWriter)