Skip to main content

MachineLogMonitor

MachineLogMonitor is a PySide6 desktop application for observing live text logs from CAN, RS232, and CAN trace files. It only reads: no CAN frame and no serial byte is sent from application code — the source layer contains no send or write call, enforced by a test. On CAN, listen-only mode is requested where the backend supports it.

Features

  • Monitor exactly one selected source: a CAN bus, an RS232 serial port, or a CAN trace file
  • Receive-only by design — no send or write call exists in the source layer
  • Multiple filtered monitor views over one shared ring buffer; pause and clear per view without losing incoming data
  • Configurable substring rules that color lines as DEBUG, INFO, WARN, and ERROR
  • Optional logging to disk: raw stream and per-monitor files, written while a source is connected
  • Trace playback at 0.5×, 1×, 2×, 10×, or instant speed
  • RS232 port field offers the serial ports detected on the machine and also accepts pyserial URLs (for example socket://host:port)
  • A configured serial port that is not present is flagged on the Monitors page and in the menu bar; connecting stays possible for virtual ports
  • Sidebar collapses to a narrow icon strip with the arrow button at its top or Ctrl+B
  • JSON configuration with safe defaults: missing keys are restored, a malformed file is never overwritten until an explicit save
  • Optional dependency vulnerability scan on the About page via pip-audit

Installation

Requires Python 3.10 or newer. Developed and tested primarily on Windows.

pip install machine-log-monitor

As a standalone application, installing with pipx keeps it in its own environment and puts the machine-log-monitor command on the PATH:

pipx install machine-log-monitor

Connecting to a source additionally needs a CAN backend, a serial device, or a supported CAN trace file.

Usage

Run machine-log-monitor to launch the application:

machine-log-monitor
machine-log-monitor --config .\monitor.json

The application opens on the Monitors page. Configure and select a source under Data source, then choose Connect. Add, edit, or remove filtered views on Log monitors; Pause and Clear affect only the selected view, not the incoming buffer. Enable Log file to also write the received stream to disk.

On General, set the substrings used for DEBUG, INFO, WARN, and ERROR coloring; empty substrings disable that rule. Save settings with File → Save or Save as… as a JSON file that can be passed back via --config.

The optional audit extra (pip install machine-log-monitor[audit], or pipx install "machine-log-monitor[audit]") enables the background pip-audit scan on the About page.

License

MIT — see the LICENSE file shipped with the package. Third-party components (PySide6, python-can, pyserial, bundled fonts) keep their own licenses; see THIRD_PARTY_LICENSES.md in the source distribution.

MachineLogMonitor is a diagnostic viewer and not intended for safety-critical use.

This project was created with the assistance of artificial intelligence.

Metadata

Release files for machine-log-monitor 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for machine-log-monitor 0.2.0
File Size Uploaded Provenance Actions
machine_log_monitor-0.2.0.tar.gz 751.5 kB Without provenance Details for machine_log_monitor-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for machine-log-monitor 0.2.0
File Interpreter ABI Platform Actions
machine_log_monitor-0.2.0-py3-none-any.whl Python 3 none any Details for machine_log_monitor-0.2.0-py3-none-any.whl

Total release size: 1.5 MB

Release files / machine_log_monitor-0.2.0.tar.gz

Download URL machine_log_monitor-0.2.0.tar.gz
Size 751.5 kB
Tags Source
SHA-256 checksum
How to use checksums
82ba6c078347eb390d2f2ef8c7f6504664ffaacff7206708a269cf0bebdbe92f
BLAKE2b-256 checksum
How to use checksums
6d1fab4065caf7df0a5393e3f2a8bf09bff5ac78d2535c5540c0fcbd010e9757
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / machine_log_monitor-0.2.0-py3-none-any.whl

Download URL machine_log_monitor-0.2.0-py3-none-any.whl
Size 748.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3352048b66c512dee1ce71b47a5c2c072c5e39a838b2274351afeddba0f94166
BLAKE2b-256 checksum
How to use checksums
8d42a733f8f72bd4abab25f70938f3a6c4e07d3f2dc5cb2b263fe382a5cba122
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Security for machine-log-monitor 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page