Skip to content

[Feature]: relax the pyee upper-bound pin (currently <14) in pyproject.toml #3208

Description

@e2jk

(Filing here rather than in microsoft/playwright — the pin lives in this repo's pyproject.toml/meta.yaml, and prior reports of the same class of issue, #2190 and #2666, were both handled directly in playwright-python rather than redirected. The "please file at microsoft/playwright" notice on this tracker appears to be specific to the playwright-mcp bug template, not Python packaging issues.)

🚀 Feature Request

playwright currently pins pyee<14,>=13 (unchanged across the 1.62.0 → 1.63.0 release). pyee 14.0.0 was released on 2026-08-12 — over a month ago — but installing playwright alongside pyee==14.0.0 (or any other package that requires it) fails with a dependency-resolution conflict:

ERROR: Cannot install -r requirements.txt (line N) and pyee==14.0.0 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible

Looking at pyee's 14.0.0 changelog, the changes are: switching the build tooling to uv, dropping Python 3.8–3.11 support, and a bugfix to remove_all_listeners (only removing listeners for the specified event). None of that looks like it should be a breaking change for the subset of pyee's EventEmitter API playwright uses — but I haven't run playwright's own test suite against it to confirm.

Example

pip install playwright pyee==14.0.0

should not raise ResolutionImpossible.

Motivation

We run playwright in CI alongside other dependencies that have already moved to pyee 14.x (via automated dependency updates), and the pin blocks that upgrade from landing.

A ceiling tied to "next major version" (<14, or even <15 after a one-time bump) isn't a durable fix here — pyee's own release history shows it doesn't reserve major version bumps for actual breaking changes: 9.0.0 → 14.0.0 in about 4 years, several majors released within days of the prior one, and 14.0.0 itself is a Python-support drop plus a bugfix, not an API break. A hard major-version ceiling on a dependency with that release pattern will go stale almost every time pyee publishes anything, recreating this exact issue repeatedly. We'd suggest dropping the upper bound entirely (pyee>=13) rather than replacing one ceiling with another — closer to what #2698 did for greenlet, whose bound was widened rather than left to go stale again.


Claude on behalf of e2jk

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions