60 lines
1.6 KiB
Python
60 lines
1.6 KiB
Python
from typing import Callable, Dict, IO, Iterable, Optional, Union, Any
|
|
from .io.binary_encoder import BinaryEncoder
|
|
from .io.json_encoder import AvroJSONEncoder
|
|
from .types import AvroMessage, Schema
|
|
|
|
def writer(
|
|
fo: Union[IO, AvroJSONEncoder],
|
|
schema: Schema,
|
|
records: Iterable[Any],
|
|
codec: str = ...,
|
|
sync_interval: int = ...,
|
|
metadata: Optional[Dict[str, str]] = ...,
|
|
validator: bool = ...,
|
|
sync_marker: bytes = ...,
|
|
codec_compression_level: Optional[int] = ...,
|
|
*,
|
|
strict: bool = ...,
|
|
strict_allow_default: bool = ...,
|
|
disable_tuple_notation: bool = ...,
|
|
) -> None: ...
|
|
|
|
class GenericWriter:
|
|
schema: Schema
|
|
validate_fn: Optional[Callable]
|
|
metadata: Dict
|
|
|
|
class Writer(GenericWriter):
|
|
encoder: BinaryEncoder
|
|
io: BinaryEncoder
|
|
block_count: int
|
|
sync_interval: int
|
|
compression_level: Optional[int]
|
|
block_writer: Callable
|
|
def __init__(
|
|
self,
|
|
fo: Union[IO, BinaryEncoder],
|
|
schema: Schema,
|
|
codec: str = ...,
|
|
sync_interval: int = ...,
|
|
metadata: Optional[Dict[str, str]] = ...,
|
|
validator: bool = ...,
|
|
sync_marker: bytes = ...,
|
|
compression_level: Optional[int] = ...,
|
|
options: Dict[str, bool] = ...,
|
|
): ...
|
|
def dump(self) -> None: ...
|
|
def write(self, record: AvroMessage) -> None: ...
|
|
def write_block(self, block) -> None: ... # type: ignore # Should be a read.Block
|
|
def flush(self) -> None: ...
|
|
|
|
def schemaless_writer(
|
|
fo: IO,
|
|
schema: Schema,
|
|
record: Any,
|
|
*,
|
|
strict: bool = ...,
|
|
strict_allow_default: bool = ...,
|
|
disable_tuple_notation: bool = ...,
|
|
) -> None: ...
|