Hoe
Deploying Backend API
b339b93
"""Voteview CSV to Parquet converter with streaming and validation.
This module provides tools for converting Voteview congressional voting
data from CSV format to Parquet, with lossless conversion guaranteed
through three-tier validation.
Supported file types:
- members: Congressional member information with NOMINATE scores
- rollcalls: Roll call vote metadata
- votes: Individual vote records (26M+ rows)
Example usage:
from voteview_converter import convert_voteview_file, FileType
result = convert_voteview_file(
"HSall_members.csv",
"members.parquet",
FileType.MEMBERS,
)
print(f"Converted {result.row_count:,} rows")
"""
from .converter import ConversionResult, StreamingStats, convert_voteview_file
from .exceptions import (
ChecksumMismatchError,
CSVParseError,
RowCountMismatchError,
SampleMismatchError,
SchemaValidationError,
VoteviewConversionError,
)
from .schema import FileType, FileTypeConfig, get_config
__all__ = [
# Core functions
"convert_voteview_file",
"get_config",
# Data classes
"ConversionResult",
"FileType",
"FileTypeConfig",
"StreamingStats",
# Exceptions
"CSVParseError",
"ChecksumMismatchError",
"RowCountMismatchError",
"SampleMismatchError",
"SchemaValidationError",
"VoteviewConversionError",
]