Skip to content

Architecture Overview

This page gives a concise overview of the main components of the OctoPrint-Uptime plugin and links to more detailed architecture pages.

Components

  • Backend: A small Python module that exposes a plugin API endpoint at /api/plugin/octoprint_uptime (returns both system and OctoPrint process uptime) and helper functions for formatting uptime values.
  • Frontend: A Knockout.js ViewModel that queries the plugin API periodically and updates the navbar display with configurable uptime values and optional compact mode.
  • Settings: Plugin settings control the polling interval, which uptime values are shown in the navbar (show_system_uptime, show_octoprint_uptime), whether compact alternating mode is active (compact_display), and the display format.
  • Internationalization: Translatable strings provided via translations/ and compiled with pybabel.

The class/interaction diagrams used in the docs are available below.

Note: The SVG diagrams are auto-generated during CI and available when viewing the rendered documentation online.