Dev > Team

Environment Doctor

Checks Navisworks, pyNavis, engines, extensions, shortcuts, panels, add-ins, folders and the log, and reports what needs attention. Shift+Click copies the report as text.

Tab and panelDev > Team
KindButton

Status

Launched Ran inside Navisworks at least once with no error logged; nobody checked the result yet.

Ran headless under pynavis run against a sample model; no selection: ran to the end (wrote output); result not checked by a person.

Recorded on 2026-10-09. The evidence is a pynavis run transcript.

The public ask

No public source is on record for this tool.

Installs with

Environment Doctor sits in a stack, so installing it also installs:

Events it listens to

None. It runs only when you click it.

Files

Paths are relative to the Playground.extension folder.

  • Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/bundle.yaml
  • Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/config.py
  • Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.dark.png
  • Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.png
  • Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.small.dark.png
  • Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/icon.small.png
  • Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/script.py

Install

  1. Only this tool. In Navisworks, click pyNavis > Playground, search for Environment Doctor, tick it and click Install.
  2. The whole extension. Download Playground.extension.zip, unzip it, put the Playground.extension folder in %APPDATA%\pyNavis\extensions\, and click pyNavis > Reload. Environment Doctor is on the Dev tab, Team panel.

You need pyNavis 1.3.0 or later.

Tried it? Tell us whether it worked or not. That report is what moves a tool up the status ladder.

Report

Source

The tool's own files, word for word as published in pynavis/Playground. Paths are relative to the Playground.extension folder.

script.py

The script that runs on a click.

Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/script.py View on GitHub
# -*- coding: utf-8 -*-
"""Checks everything pyNavis and Playground depend on and reports pass, warning or fail."""
from pynavis import toast

from namo import doctor

results = doctor.checks(doctor.gather())
doctor.print_report(results)
level, message = doctor.headline(results)
toast.show(level, message, 'The details are in the output window.')

config.py

The Shift+Click action.

Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/config.py View on GitHub
# -*- coding: utf-8 -*-
"""Runs the Environment Doctor and copies its report as plain text (for a support email)."""
import datetime

from pynavis import toast

from namo import doctor, ui

results = doctor.checks(doctor.gather())
text = doctor.text_report(results, datetime.datetime.now().strftime('%Y-%m-%d %H:%M'))
if ui.copy(text):
    level, message = doctor.headline(results)
    toast.success('Environment report copied', '%s. Paste it into an email or a ticket.' % message)
else:
    toast.error('The clipboard is busy', 'Another program is holding it; try again.')

Library modules this tool uses

From the shared namo library, which installs with every tool. Each name opens the module on GitHub.

  • namo.doctorEnvironment Doctor: everything that decides whether pyNavis and Playground can work on this machine, as pass / warning / fail lines.
  • namo.uiWPF building blocks for Playground tools, themed from the pyNavis design system.

bundle.yaml

The bundle contract: the keys pyNavis reads for this tool.

Dev.tab/Team.panel/Team_Tools.stack/Environment_Doctor.pushbutton/bundle.yaml View on GitHub
title: Environment Doctor
tooltip: Checks Navisworks, pyNavis, engines, extensions, shortcuts, panels, add-ins, folders and the log, and reports what needs attention. Shift+Click copies the report as text.