infi.systray
Windows system tray icon
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-systrayuv
uv add infi-systraypoetry
poetry add infi-systrayInstalling 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
Tags
More Python Modules packages
Converts domain names between Unicode and…
permissive · top 100 on PyPI
setuptoolsSetuptools is a Python build backend and…
permissive · top 100 on PyPI
PyYAMLPyYAML parses and emits YAML 1.1 data format,…
permissive · top 100 on PyPI
pydanticPydantic validates Python data structures…
permissive · top 100 on PyPI
annotated-typesProvides reusable metadata objects for use with…
permissive · top 100 on PyPI
typing-inspectionProvides runtime tools to inspect and…
permissive · top 100 on PyPI
pystrayPystray creates a system tray icon with an…
copyleft · top 5,000 on PyPI
pyshortcutsCreates desktop and Start Menu shortcuts for…
permissive · top 15,000 on PyPI
notify2notify2 creates and displays desktop…
permissive · top 15,000 on PyPI
notify_pySends cross-platform desktop notifications from…
permissive · top 15,000 on PyPI
streamlit-option-menuA Streamlit component that renders a static…
unclear · top 15,000 on PyPI
QtAwesomeQtAwesome provides iconic fonts—Font Awesome,…
permissive · top 15,000 on PyPI
pywinautoAutomate Microsoft Windows GUI interactions by…
permissive · top 5,000 on PyPI
reflex-components-lucideProvides Lucide icon components for Reflex web…
permissive · top 15,000 on PyPI
dash-iconifyDash Iconify is a Dash component library that…
permissive · top 15,000 on PyPI
Flask-SilkProvides a Flask integration to serve Silk icon…
permissive · top 15,000 on PyPI