skillfed

pyscreenshot

python screenshot

pyscreenshot v3.1 235.6K downloads/30d#8,999 on PyPI512
Permissive license BSD DORMANT released

What it is and what it does

pyscreenshot is a screenshot capture library that copies screen contents into Pillow images. It was originally created to fill a gap when PIL's ImageGrab only worked on Windows, but now serves as an alternative with additional features: flexible backend selection, Wayland support, and optional subprocessing. The package supports Python 3.9, 3.10, and 3.11, and works across Windows, Linux, and macOS.

The library depends on EasyProcess, entrypoint2, mss, and jeepney to handle subprocess management, backend discovery, and platform-specific capture methods. It is marked obsolete for most use cases since Pillow now supports all major platforms, but remains useful when you need specific backend control, Wayland compatibility, or performance optimization through subprocessing.

Use it for:

  • Automated testing that requires visual verification of UI state across different display servers.
  • Building screenshot tools that need to support both X11 and Wayland on Linux.
  • Capturing screenshots in subprocesses to isolate display server interactions.
  • Cross-platform applications that need consistent screenshot behavior on Windows, macOS, and Linux.
  • Benchmarking or comparing performance of different screenshot backends.

Worth the install?

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

Captures screenshots to Pillow images using multiple backend methods, with support for Wayland, flexible backend selection, and optional subprocessing.

Yes, if you need Wayland support or flexible backend selection; otherwise no. For most projects, Pillow's ImageGrab is sufficient and actively maintained. Install pyscreenshot only if you have a specific requirement the description mentions—Wayland compatibility, backend switching, or subprocessing—that Pillow does not meet. Dormant maintenance is acceptable for a stable utility, but verify your backend needs first.

Install

pyscreenshot on PyPI

pip

pip install pyscreenshot

uv

uv add pyscreenshot

poetry

poetry add pyscreenshot

Installing pyscreenshot

Before you install

Low install friction with a pure-Python wheel and four runtime dependencies. Maintenance is dormant—last commit was 2023-11-04—but the repository remains active and the package is stable for its use case.

License in practice

BSD license is permissive, allowing commercial and private use with minimal restrictions; attribution is required but no copyleft obligations apply.

Quickstart

pip install pyscreenshot
import pyscreenshot
img = pyscreenshot.grab()
img.save('screenshot.png')

Requires a display server or Wayland session; headless environments without X11 or Wayland may not work.

Verify before relying

  • Whether the package's Wayland support is production-ready or experimental.
  • Performance characteristics compared to Pillow's ImageGrab on modern systems.
  • Which backend methods are recommended for different operating systems and display servers.

Package facts

License BSD (permissive)
Python support supports the current Python release (>=3.4)
Install friction low — pure-Python wheel
Runtime dependencies 4 — EasyProcess, entrypoint2, mss, jeepney
Maintenance dormant — 1,251 days since the last release
Last repo commit
First released
Downloads 235,553/month — #8,999 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: pyscreenshot-3.1-py3-none-any.whl

Keywords: screenshot

License :: OSI Approved :: BSD LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.9

Tags

screenshot capture pythonscreen grab to imagepillow screenshotwayland screenshot supportcross-platform screen capturescreenshot backend selectionheadless screenshot tool
screenshot-capturedisplay-server-agnostic

More Graphics packages