$npx skillfedfor your agent

screeninfo

Fetch location and size of physical screens.

With conditionsPyPI SystemReleased Sep 202212.7M downloads / moMITPure Python

Decision gist · record as of 2026-08-14

pure-Python wheel — screeninfo-0.8.1-py3-none-any.whl
v0.8.1 · released 2022-09-09 · Python >=3.6.2,<4.0.0 · 3 runtime deps: dataclasses, Cython, pyobjc-framework-Cocoa

Yes, if you need cross-platform monitor detection for desktop or multi-display applications. The library is stable, permissively licensed, and has low install friction. However, maintenance is aging (last release 2022, no updates since August 2025)—verify that DRM support on Linux and compatibility with your target Python versions meet your needs before relying on it for production systems.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Platform-specific: requires X11 libraries on Linux (Xinerama), AppKit on macOS (via pyobjc-framework-Cocoa), or native Windows APIs.
  • DRM support on Linux is experimental.
  • Low friction installation with a pure-Python wheel.

License · maintenance · safety

MIT (permissive) — MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice in distributions.

last release 2022-09-09 (1435 days) · last repo commit 2025-08-22 · 244 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 12,716,034 downloads/mo, #1,309 on PyPI

Verify before relying

pip install screeninfo

from screeninfo import get_monitors
for m in get_monitors():
    print(m)
  • Whether DRM driver on Linux is stable enough for production use
  • Current compatibility with Python 3.10+ beyond stated support
  • Whether aging maintenance affects bug fixes for newer OS versions
Same gist for agents: .md · .json

What it is and what it does

screeninfo is a cross-platform library that queries the operating system to enumerate connected monitors and retrieve their physical properties: position (x, y coordinates), resolution (width and height in pixels), physical dimensions (width_mm, height_mm), display name, and primary-display status. It abstracts away platform differences by providing a single `get_monitors()` function that works on Windows, Linux (X11 and experimental DRM), macOS, and Cygwin.

The library is lightweight and has low install friction—it ships as a pure-Python wheel on most platforms. Its runtime dependencies include Cython and pyobjc-framework-Cocoa (macOS only), plus the dataclasses backport for older Python versions. It supports Python 3.6.2 through 3.9 officially, though classifiers indicate 3.10 support. You can also force a specific driver (windows, cygwin, x11, osx) if auto-detection fails or you need to override the environment.

Use it for

  • Detect monitor count and resolution to scale UI layouts or window positioning in desktop applications
  • Query physical screen dimensions (mm) for DPI-aware rendering or accessibility adjustments
  • Enumerate all connected displays to identify the primary monitor or arrange multi-monitor workflows
  • Force a specific display driver when running in emulated or non-standard environments like Cygwin
  • Retrieve monitor coordinates to place windows on specific screens in multi-display setups

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you need cross-platform monitor detection for desktop or multi-display applications.

The library is stable, permissively licensed, and has low install friction. However, maintenance is aging (last release 2022, no updates since August 2025)—verify that DRM support on Linux and compatibility with your target Python versions meet your needs before relying on it for production systems.

Install

screeninfo on PyPI

Before you install

Low friction installation with a pure-Python wheel. Maintenance is aging—last release was in 2022 and the repository has not been updated since August 2025, though it remains active and unarchived with modest community engagement (244 stars).

Platform-specific: requires X11 libraries on Linux (Xinerama), AppKit on macOS (via pyobjc-framework-Cocoa), or native Windows APIs. DRM support on Linux is experimental.

License in practice

MIT license permits commercial and private use with minimal restrictions; you must include a copy of the license and copyright notice in distributions.

Quickstart

pip install screeninfo

from screeninfo import get_monitors
for m in get_monitors():
    print(m)

Verify before relying

  • Whether DRM driver on Linux is stable enough for production use
  • Current compatibility with Python 3.10+ beyond stated support
  • Whether aging maintenance affects bug fixes for newer OS versions

Package facts

LicenseMIT permissive
Python supportSupports the current Python release >=3.6.2,<4.0.0
Install frictionLow. Pure-Python wheel
Runtime dependencies
3 packages
dataclassesCythonpyobjc-framework-Cocoa
MaintenanceAging 1,435 days since the last release
Last repo commit
First released
Downloads12,716,034 / month, #1,309 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Desktop EnvironmentTopic :: System :: Operating SystemTyping :: Typed

Evidence: screeninfo-0.8.1-py3-none-any.whl

Tags

Capabilities
monitor detectionscreen resolution querydisplay informationmulti-monitor setupphysical screen propertiesmonitor coordinatesdisplay enumeration
Topics
cross-platformdisplay-detectiondesktop-utilities

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “monitor detection”

  • screeninfoDetects and reports the location, dimensions, and physical properties…
  • PyMonCtlPyMonCtl provides cross-platform Python access to monitor information…
  • alibi-detectAlibi Detect provides outlier, adversarial, and drift detection…

Give your agent the search over MCP, or paste the wish link into any chat.

More System packages

filelock Worth it
PyPI · Libraries · released Aug 2026

Provides a platform-independent file locking mechanism to coordinate access to files across processes and threads.

MITpure Python · 3.10+
717.1Mdownloads / mo
distro Worth it
PyPI · Python Modules · released Dec 2023

Distro provides a reliable, machine-readable API to query the Linux or BSD distribution name, version, codename, and other OS platform details, replacing Python's deprecated `platform.linux_distribution` function.

Install it if you need to detect or report the Linux/BSD distribution your code runs on.

Apache-2.0pure Python · 3.6+
417.9Mdownloads / mo
psutil Worth it
PyPI · Libraries · released Jan 2026

psutil retrieves real-time information about running processes and system resources (CPU, memory, disks, network, sensors) across multiple operating systems, enabling system monitoring, process profiling, and resource management.

permissive licensecompiled wheel · 3.6+
387.6Mdownloads / mo
pexpect With conditions
PyPI · Software Development · released Nov 2023

Pexpect spawns and controls interactive console applications by sending input and matching output patterns, automating tasks that would otherwise require manual interaction.

ISCpure Pythonaging
200.8Mdownloads / mo
aiofile Worth it
PyPI · Libraries · released Aug 2026

Provides asynchronous file I/O operations for asyncio programs, with automatic selection of the best available backend (io_uring, libaio, thread-based, or pure Python) depending on your system.

Apache-2.0pure Python · 3.11+
75.4Mdownloads / mo
portalocker Worth it
PyPI · Libraries · released Aug 2026

Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.

Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.

BSD-3-Clausepure Python · 3.10+
65.1Mdownloads / mo

See also archspec · mss · PyMonCtl · PyWinBox · PyGetWindow · EWMHlib · PyScreeze · PyAutoGUI · xvfbwrapper · wakepy