Skip to content

Pyppeteer SOP

What it is

Pyppeteer is an unofficial Python port of the JavaScript Puppeteer library. It provides a high-level API to control headless (or headful) Chromium via the Chrome DevTools Protocol (CDP). Built on Python's asyncio, it lets you automate browser interactions, take screenshots, generate PDFs, scrape dynamic pages, and test web applications entirely in Python.

PropertyDetail
CategoryClassic
LicenseMIT (free and open source)
Current version2.0.0 (released 2024-02-18)
Python supportPython 3.8 to 3.x
PricingFree
Official repogithub.com/pyppeteer/pyppeteer
Docspyppeteer.github.io/pyppeteer
PyPIpypi.org/project/pyppeteer

Maintenance status

Warning: The pyppeteer repository is officially unmaintained. The maintainers recommend migrating to playwright-python for new projects.

Pyppeteer still works and receives occasional minor fixes, but no active feature development is happening. It is a legacy tool best suited for maintaining existing Python Puppeteer-style scripts.

Key traits

  • Downloads a Chromium binary (~150 MB) automatically on first run via pyppeteer-install
  • Async-native: all browser calls are await-able coroutines
  • API mirrors Puppeteer's JavaScript API closely (camelCase method names)
  • No built-in proxy management or stealth features
  • CAPTCHA handling requires third-party solvers
  • Headless by default; headful mode available via launch(headless=False)

Template / starter boilerplate

No official starter template or boilerplate repository is provided by the maintainers.