Metadata-Version: 2.4
Name: baron-klinecharts
Version: 0.4.0
Summary: Deterministic ChartScene models, validation, editing, and rendering.
License-Expression: Apache-2.0
Project-URL: Source, https://github.com/git54496/baron-klinecharts
Project-URL: Issues, https://github.com/git54496/baron-klinecharts/issues
Project-URL: Changelog, https://github.com/git54496/baron-klinecharts/releases
Requires-Python: <3.15,>=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
License-File: licenses/KLineCharts-LICENSE
License-File: licenses/KLineCharts-NOTICE
License-File: licenses/Noto-Sans-SC-OFL-1.1
License-File: licenses/Tabler-Icons-LICENSE
License-File: licenses/TradingView-Lightweight-Charts-LICENSE
License-File: licenses/fflate-LICENSE
Requires-Dist: jsonschema==4.26.0
Requires-Dist: playwright==1.61.0
Requires-Dist: rfc8785==0.1.4
Provides-Extra: dev
Requires-Dist: build==1.3.0; extra == "dev"
Dynamic: license-file

# baron-klinecharts

Python SDK for the Baron KLineCharts `ChartScene` format.

```bash
pip install baron-klinecharts==0.4.0
python -m playwright install chromium
```

The package validates and canonicalizes static, embedded market data and renders the
same deterministic ChartScene used by the Web and npm runtimes. It never downloads a
browser or market data implicitly.

DrawableWorkspace documents have explicit render helpers that embed and drive the
same TypeScript offline Runtime template and Playwright browser; Python never
reimplements drawing projection, main-series switching, or canvas rendering.

```python
from baron_kline import (
    load_drawable_workspace,
    render_drawable_workspace_html,
    render_drawable_workspace_png,
)

workspace = load_drawable_workspace("workspace.json")
render_drawable_workspace_html(workspace, "workspace.html")
render_drawable_workspace_png(workspace, "workspace.png")
```

Raw `ChartScene`/`TimeSeriesScene` inputs are rejected by the Workspace helpers and
vice versa; the package does not guess a root document type.
