feat: add multi-CSV visualization (charts) with CLI integration and graceful fallback#19
Conversation
💡 Codex ReviewFirst_two/bitnet_tools/multi_csv.py Line 254 in 5be029b
First_two/bitnet_tools/visualize.py Line 73 in 5be029b Chart output paths are built directly from raw column names, so headers containing path separators or invalid filename characters (for example ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Motivation
multi-analyzeflow so reports, JSON and charts are produced together.matplotlibis not available.Description
bitnet_tools/visualize.pythat generates per-file charts (numeric histograms and boxplots, categorical top-value bars) and exposescreate_multi_chartsto operate across multiple CSVs.bitnet_tools/cli.py) to accept--charts-dirformulti-analyzeand wire upcreate_multi_charts, storing eitherchartsorcharts_errorinto the result.bitnet_tools/multi_csv.py) to include a "생성된 차트 파일" section when chart artifacts exist and to otherwise preserve analysis-only behavior.matplotlibusage defensive invisualize.pyby raising a clearRuntimeErrorwhen unavailable and catching that in the CLI to avoid hard failures.analysis.py, a lightweightdoctorhelper and Windows desktop glue files, README usage & capability updates, and tests covering chart integration and error fallback.Testing
pytest -qand all tests passed (15 passed).multi-analyzepath with--charts-dirto confirm that output JSON/Markdown are written and that thechartskey is present whencreate_multi_chartssucceeds.matplotlibwherecreate_multi_chartsraises and confirmedcharts_errorappears in the output JSON instead of failing the run.Codex Task