ANALYSIS
Introduction
The Analysis page is the catalog and launcher for installed analysis views and project notebooks.
It lets you choose which AGI pages and notebooks belong to the active project and launch them from one place.
Choose the right surface
Use an AGI page when the analysis is becoming part of the application
contract: a repeatable dashboard, review screen, demo, validation evidence, or
shared result surface. A page reads exported artifacts from the project and the
selected page links are persisted in the project workspace settings under
[pages].view_module. This is the route that enables non-notebook users,
stable demos, CI-backed artifact contracts, and reusable agi-page-*
packaging. The consequence is that you must maintain a page bundle, declared
dependencies, and stable exported artifacts for the page to read.
Use a notebook or AGI snippet when the analysis is still code-centric: exploration, debugging, cell-by-cell reruns, migration from an existing notebook, reusable snippets, or handoff to a technical user. In ANALYSIS, a selected notebook opens through a project-rooted JupyterLab sidecar. Outside the page, exported notebooks and AGI snippets can also be reused wherever the AGI runtime and dependencies are available. The consequence is that reuse depends on the snippet/notebook contract, runtime environment, and declared dependencies; it is excellent for evolving logic but less direct for end users than an AGI page.
Use both when needed: keep an AGI page as the stable result surface and link a notebook or AGI snippets as the investigation trail behind that result. AGI page selections and notebook selections are stored separately.
Page snapshot
ANALYSIS exposes the available page bundles, stores the selected views per project, and launches them as sidecar dashboards.
Main Content Area
AGILab scans ${AGILAB_PAGES_ABS} for installed page bundles and
Python files that expose an entrypoint such as src/<module>/<module>.py
(or main.py / app.py). The page grid lists every discovered bundle
so you can preview what is available on disk.
Use Choose analysis views to choose which pages are shown as
sidebar shortcuts for analyzing the selected project. The selection
is written to ~/.agilab/apps/<project>/app_settings.toml in the
[pages] section under view_module. Only the names you choose are
persisted for the active project; every project keeps its own list. The
workspace file is seeded from the app’s app_settings.toml source file
(for example <project>/app_settings.toml or
<project>/src/app_settings.toml) the first time the app is loaded.
You can also create a complete starter bundle directly from this page using Create analysis view. It creates a minimal pyproject and runnable Streamlit module so the page is immediately usable and ready to be customized. Use Starting point when you want to begin from a blank template or duplicate an existing app page before clicking Create.
Use Choose notebooks to choose which .ipynb files are shown as
sidebar shortcuts for the selected project. The selection is written to
~/.agilab/apps/<project>/app_settings.toml in the [notebooks]
section under selected.
Each selected view appears as a compact sidebar link. Opening it launches
the bundle in a dedicated web process (one port per view, per session)
using the nearest virtual environment (.venv/venv in the bundle or the
directories pointed to ${AGILAB_VENVS_ABS} and
${AGILAB_PAGES_VENVS_ABS}). The child app is then embedded via iframe
and a Back to Analysis control keeps navigation lightweight.
Current page bundles use the visible label Back to ANALYSIS so the
return target matches the main navigation. Generic map pages keep the
selected project visible in the header while full runtime and filesystem
paths stay in collapsed context expanders.
Each selected notebook appears as a compact sidebar link. Opening it from ANALYSIS starts a project-rooted JupyterLab sidecar and embeds the notebook. Exported notebooks and AGI snippets remain reusable outside this embedded route when the AGI runtime and dependencies are available. Hosted end-user deployments should normally use AGI pages for the primary analysis surface because they avoid exposing an editable notebook runtime.
Tips & Notes
Views are ordinary web projects. Bundles that expose a
pyproject.tomland asrc/<module>/<module>.pyentry point are automatically picked up.Built-in IDE pages (PROJECT, ORCHESTRATE, WORKFLOW, ANALYSIS) always remain available; page bundles simply add extra entries to the Analysis catalogue when the project opts into them.
UAV Relay Queueis a good reference setup (install iduav_relay_queue_project): select bothview_relay_resilienceandview_maps_networkto inspect the same run through a dedicated queue dashboard and the generic topology map.AGILab caches the list per project, so the Analysis grid reflects the exact configuration stored in
app_settings.toml.If a view needs its own Python environment, place it alongside the page bundle (
.venvorvenv) or in the shared directories referenced by theAGILAB_VENVS_ABS/AGILAB_PAGES_VENVS_ABSenvironment variables. Analysis automatically picks the first interpreter that exists when spinning up the sidecar process.
Troubleshooting and checks
If analysis view discovery is unexpected, use these checks:
If the list is empty, confirm the bundle folder contains
pyproject.tomlandsrc/<module>/<module>.py.If a bundle is not launchable, verify that no syntax error blocks startup and that the bundle has either
.venv/venvor a valid shared interpreter under${AGILAB_VENVS_ABS}/${AGILAB_PAGES_VENVS_ABS}.If a launch opens a blank frame, confirm the web process starts on the expected port and that your browser blocks mixed local/remote content.
If the selected bundle list is not saved, check write permission on
~/.agilab/apps/<project>/app_settings.toml.If
view_maps_networkopens but shows no UAV queue data, point the data directory to one run folder such as~/export/uav_relay_queue/queue_analysis/<artifact_stem>/rather than the parent directory. The generic page expects one scenario run at a time.
See also
Main Page to place Analysis in the full flow.
Page Bundles to understand page bundle requirements.