| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
samples/PythonDemo/ demonstrates the Python runtime, PEP 723 dependency resolution, logging, visualization, WebView2 dashboard patterns, and Python MCP toolsets.
Last updated: 2026-09-17
| Area | Path |
|---|---|
| Entry scripts | samples/PythonDemo/commands/ |
| Dashboard backend | samples/PythonDemo/revit_dashboard/ |
| Dashboard frontend | samples/PythonDemo/revit_dashboard_ui/ |
| Python MCP toolset (Revit) | samples/PythonDemo/mcp_toolset/ |
| Python MCP toolset (AutoCAD) | samples/PythonDemo/mcp_acad_toolset/ |
| Import/dependency test module | samples/PythonDemo/test_module/ |
flowchart TB
Commands["commands/*_script.py"]
Runtime["DevTools.Execution Python runtime\nhost-attach uv / owned pixi / pip"]
Dashboard["revit_dashboard/\ncollector, analytics, export, WebView bridge"]
UI["revit_dashboard_ui/\nReact + TypeScript + Vite"]
MCP["mcp_toolset / mcp_acad_toolset\nPython MCP tools"]
TestModule["test_module/\nimport/dependency samples"]
Logging["Logging monitor"]
Viz["Revit visualization"]
Commands --> Runtime
Runtime --> Dashboard
Dashboard --> UI
Runtime --> MCP
Runtime --> TestModule
Commands --> Logging
Commands --> Viz
commands/ contains the executable script entries discovered by ScriptExecutionProvider.
| Script | Purpose |
|---|---|
| dashboard_script.py | Launches the WebView2 dashboard sample. |
| data_analysis_script.py | Polars/data-analysis demo. |
| debugpy_script.py | CPython debugpy demo (port 5678). |
| debug_ipy_script.py | IronPython debug demo (Revit, port 4567). |
| debug_acad_ipy_script.py | IronPython debug demo (AutoCAD, port 4567). |
| export_data_script.py | Excel export demo. |
| fcl_script.py | Geometry/collision dependency demo. |
| logging_batch_script.py | Logging stress sample. |
| logging_format_script.py | Logging format/severity sample. |
| link_element_trace_script.py | Pick linked elements; print {instanceId}@{inner} tokens for monitor click-to-select. |
| modeless_script.py | Modeless UI sample. |
| module_test_script.py | Multi-file import/dependency sample. |
| pipe_bridge_script.py | Named-pipe bridge sample. |
| selectionfilter_script.py | Revit API interface sample. |
| shapely_script.py | 2D geometry dependency sample. |
| sklearn_script.py | ML dependency sample. |
| trimesh_script.py | 3D mesh dependency sample. |
| visualization_curve_script.py | Revit curve visualization. |
| visualization_solid_script.py | Revit solid visualization. |
| visualization_xyz_script.py | Revit point visualization. |
revit_dashboard/ is the Python backend used by dashboard_script.py.
| Folder | Role |
|---|---|
| analytics/engine.py | Builds analytics payloads. |
| contracts/payload.py | Payload contracts exchanged with the frontend. |
| core/event_queue.py | Queue/event support. |
| data/ | Category, collector, heavy-family, and warning data helpers. |
| export/excel_exporter.py | Excel export path. |
| presentation/bridge.py | Python to WebView bridge. |
| presentation/webview_host.py | WebView host integration. |
| revit_api/handler.py | Revit API interaction layer. |
| runner.py | Dashboard runner orchestration. |
revit_dashboard_ui/ is a Vite application.
| Technology | Current role |
|---|---|
| React 19 | UI runtime |
| TypeScript 5.9 | Type checking |
| Vite 7 | Build/dev tooling |
| Recharts 3 | Charts |
| Semi UI, Radix UI, lucide-react | UI controls/icons |
| Tailwind CSS 4 | Styling pipeline |
Quality gates:
npm run quality
npm run buildTwo Python MCP samples share the same layout (tools/ → services/ → dto/ + shared/, plus resources/ and prompts/). Entry files must match *mcp.py so McpPathValidator and PEP 723 pre-resolve can find them.
| Folder | Host | Entry |
|---|---|---|
| mcp_toolset/ | Revit | revitdevtool_mcp.py |
| mcp_acad_toolset/ | AutoCAD family | acaddevtool_mcp.py |
mcp_toolset/ is the larger Revit-oriented catalog (query/CRUD/MEP/docs/export) plus parser samples (tests/parser_annotation_sample.py, tests/parser_lowlevel_sample.py).
mcp_acad_toolset/ is a small AutoCAD catalog: status, layers, find/selection, draw line/circle, highlight, erase. Resources use acad://… URIs. Register it in AutoCAD's AcadMcpRegistryConfig.json (pythonToolsetPaths), not Revit's McpRegistryConfig.json — AutoCAD API imports fail in Revit.
Key folders (both toolsets):
test_module/ demonstrates multi-file Python imports and plugin-style dependency structure. It is a sample for script dependency behavior, not a deep test suite.
| Back | FazBrowse Home | New Git URL |