skillfed

infi.systray

Windows system tray icon

infi-systray v0.1.12.1 610.9K downloads/30d#5,762 on PyPI223
Permissive license BSD DORMANT released

What it is and what it does

infi.systray creates a Windows system tray icon that displays in the taskbar notification area with a customizable right-click context menu. It runs the tray in a background thread, allowing your main program to continue execution while the icon remains active. You define menu options as tuples specifying the label, optional icon path, and callback function; the package handles Windows integration and user interaction.

The package supports nested submenus, custom hover text, icon updates during runtime, and lifecycle callbacks for quit events. It can be used as a context manager to ensure clean shutdown, or managed manually with start() and shutdown() calls. A "Quit" option is automatically appended to the menu.

Use it for:

  • Add a system tray presence to a background service or daemon running on Windows.
  • Create a quick-access menu for common tasks without opening a main window.
  • Monitor or control a long-running process via tray icon updates and menu callbacks.
  • Build a Windows desktop utility with minimal UI footprint using the notification area.
  • Implement graceful shutdown and status reporting through tray context menus.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Implements a Windows system tray icon with a right-click context menu and callback support for menu actions.

Yes, if you need a Windows system tray icon with menu support and accept the dormant maintenance status. The package is stable and has no known vulnerabilities, but expect no active development—use it for straightforward tray integration in Windows-only applications. Not suitable if you need cross-platform support or expect ongoing maintenance.

Install

infi-systray on PyPI

pip

pip install infi-systray

uv

uv add infi-systray

poetry

poetry add infi-systray

Installing infi.systray

Before you install

Low install friction with a single runtime dependency (setuptools). Maintenance is dormant—last release was 580 days ago, though the repository remains active with a recent commit on 2023-10-22.

License in practice

BSD license is permissive, allowing commercial and private use with minimal restrictions.

Quickstart

pip install infi.systray

from infi.systray import SysTrayIcon

def say_hello(systray):
    print("Hello, World!")

menu_options = (("Say Hello", None, say_hello),)
systray = SysTrayIcon("icon.ico", "Example tray icon", menu_options)
systray.start()

Windows-only; import will fail on non-Windows systems.

Verify before relying

  • Whether the package works reliably on modern Windows versions (last release 580 days ago).
  • Python 3 compatibility beyond the listed 3.2 classifier—actual tested versions unknown.
  • Whether threading model and context manager support are stable under heavy concurrent menu use.

Package facts

License BSD (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 1 — setuptools
Maintenance dormant — 580 days since the last release
Last repo commit
First released
Downloads 610,939/month — #5,762 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: infi.systray-0.1.12.1-py3-none-any.whl

Intended Audience :: DevelopersIntended Audience :: System AdministratorsLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2.7Programming Language :: Python :: 3.2Topic :: Software Development :: Libraries :: Python Modules

Tags

windows system tray icontaskbar notification areasystem tray context menuwindows tray applicationsystray icon pythontaskbar icon with menuwindows notification tray
windows-onlysystem-traygui-integration

More Python Modules packages