Add UI network inspectors clean base 102 - #106
Conversation
…raining instructions
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report❌ Patch coverage is
🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🟡 Changes recommended
A newly added pytest module (test_network_inspectors.py) is placed outside the configured testpaths and therefore will not run in CI, so the intended regression coverage is currently ineffective.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Pull request overview
This PR adds a Streamlit-based UI for LANfactory’s network inspector workflows and refactors the existing inspector logic to separate “compute” from “plot” via explicit result contracts, making it easier to reuse outputs across CLI/UI/testing.
Changes:
- Introduces a Streamlit app + CLI launcher (
network-inspectors-ui) and ships UI styling as package data. - Adds
contracts.pydataclasses and refactors inspector API/plotting to operate on structured payloads (LikelihoodComparison,ManifoldComputation). - Extends/updates tests for the new compute/plot APIs and figure builders.
File summaries
| File | Description |
|---|---|
| tests/test_network_inspectors_plotting.py | Adds tests for the new plotting figure-builder functions and updated plot contracts. |
| tests/test_network_inspectors_api.py | Adds tests for new compute-layer contract return types and updated plotting-call signatures. |
| test_network_inspectors.py | Adds additional pytest cases (currently not collected due to pytest testpaths). |
| src/lanfactory/network_inspectors/styles.css | Adds Streamlit UI styling, including focus outlines and dark-mode rules. |
| src/lanfactory/network_inspectors/streamlit_app.py | Implements the Streamlit UI for KDE-vs-LAN and manifold workflows, loading models from disk. |
| src/lanfactory/network_inspectors/plotting.py | Refactors plotting into build_*_figure helpers and updates plotting to consume contracts. |
| src/lanfactory/network_inspectors/contracts.py | Adds shared dataclass contracts for compute/plot/UI layers. |
| src/lanfactory/network_inspectors/api.py | Adds compute functions that return contracts; keeps plotting wrappers for backward-style entry points. |
| src/lanfactory/network_inspectors/init.py | Re-exports new compute functions and contracts as public API. |
| src/lanfactory/cli/network_inspectors_ui.py | Adds a CLI entry point to launch the Streamlit UI. |
| README.md | Documents how to install UI extras and launch the UI command. |
| pyproject.toml | Adds ui extra (Streamlit) and registers the network-inspectors-ui console script + CSS package data. |
| .gitignore | Ignores data/ directory (likely used for local model assets). |
Review details
- Files reviewed: 12/13 changed files
- Comments generated: 1
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
There was a problem hiding this comment.
🟢 Ready to approve
The refactor cleanly preserves existing entry points via wrappers, adds targeted contract/plot tests, and the new UI/CLI packaging looks consistent with the project’s optional-dependency patterns.
This review doesn't count toward merge requirements. Sign up for the private preview to control whether Copilot approvals count.
Review details
- Files reviewed: 11/12 changed files
- Comments generated: 0 new
- Review effort level: Lite
We're testing this review assessment. Please use 👍 or 👎 to tell us if it's correct.
No description provided.