python / python/typing_extensions

Run the CPython typing test suite against typing-extensions

Open
#606 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
583
Forks
146
Avg merge
10h 11m
Merged PRs (30d)
5

Description

I propose to add a workflow that:

  • Grabs test_typing.py from CPython
  • Replaces all typing imports with typing_extensions through some hackery (either sed or some cleverness with importlib)
  • Runs the test suite

This would help us catch issues where something got changed in CPython and we didn't reapply it to our variant. For example, this would allow us to catch issues in our TypedDict implementation, which is currently different from CPython's on all versions.

We'd have to run this only on matching versions (e.g., run the CPython tests from the 3.14 branch on Python 3.14) because the CPython tests may rely on new syntax or standard library features.

Feel free to pick this up if you see this and are interested! I may do it eventually when I find time.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the repository's existing workflows and the CPython test_typing.py suite. Determine how to fetch matching CPython branches, replace typing imports with typing_extensions, and run each suite on its corresponding Python version. Done means the workflow exercises the compatible suites and reports failures when typing_extensions diverges.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
ci-cd, testing-qa
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.