Type checking `struct.unpack`
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 20.6k
- Forks
- 3.3k
- PR merge metrics
- PR metrics pending
Description
Feature
Recently I made a PR for ty to allow the type checker to inspect calls to struct.unpack and return static typing instead of having to cast() or ignoring the type. I believe mypy should add this too.
https://github.com/astral-sh/ty/issues/2437
https://github.com/astral-sh/ruff/pull/22562
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked ty issue and Ruff PR, then review the struct_unpack.md example at crates/ty_python_semantic/resources/mdtest/struct_unpack.md. Trace how mypy handles calls to struct.unpack and determine the intended inferred types from those examples. Done means mypy provides static typing for supported struct.unpack calls without requiring casts or ignores.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- devtools
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100