import rustpower
import pandas as pd
import zipfile
import io
import os
def test_parquet_virtual_fs():
print("--- Testing Python-side Virtual FS for Parquet ---")
grid = rustpower.PowerGrid(case_path='cases/IEEE118/data.zip')
grid.init_pf()
grid.solve()
grid.post_process()
zip_bytes = grid.get_parquet_results()
with zipfile.ZipFile(io.BytesIO(zip_bytes)) as z:
print(f"Archive contains {len(z.namelist())} files.")
archetype_files = [f for f in z.namelist() if f.startswith('archetypes/') and f.endswith('.parquet')]
for file_path in archetype_files:
print(f"\nProcessing: {file_path}")
with z.open(file_path) as f:
try:
df = pd.read_parquet(f)
print(f" Rows: {len(df)}")
print(f" Columns: {df.columns.tolist()[:3]}...") except Exception as e:
print(f" Error loading parquet: {e}")
if __name__ == "__main__":
test_parquet_virtual_fs()