Reading exports
def read( path: str, *, what: str = 'report', save: bool | str = False, output: str = 'polars', dataset: str | None = None,) -> Any: ...Read back the metadata (or data) embedded by :func:save from a PNG, SVG, or JSON.
Parameters
path(str) - A dysonsphere-exported.png,.svg, or.jsonfile.what(str) - Which artifact to return: -'report'(default) — the human-readable report table as astr; it is printed to stdout and returned. Joins every section of thereportcontainer (statistics+provenance). Falls back to re-rendering the statistics from the embedded records if the prose wasn’t saved (embedReport=False). -'statistics'— the structured records (list of dicts, exact floats). -'metadata'— the whole{provenance, statistics, theme, report}dict, wherereportis the{section: text}container. -'data'— the original data Altair inlined into the spec (the whole frame, including columns the chart never plotted). JSON only (PNG/SVG don’t carry the data). The form is chosen byoutput.save(bool | str) - Only forwhat='report':Truewrites the report to a.txtin the cwd; a string writes to that directory.output(str) - Only forwhat='data'— the form to return the data in:'polars'(default) →pl.DataFrame;'pandas'→pd.DataFrame;'duckdb'→ aDuckDBPyRelation;'records'→ the rawlist[dict](no dataframe library needed).pandasandduckdbare imported lazily and are not package dependencies.