Improve Type System for `pyperf`

Open
#255 2 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@DebanKsahu is already working on this.

Since Sep 5, 2026.

  • #257 by @DebanKsahu — open

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
45/100
Issue type
Refactor
Clarity
Needs clarification
Activity status
Active
Tech stack
python

Research direction

Start by inspecting pyperf's public APIs and the examples shown in the issue, then reproduce the reported Unknown types with a type checker such as pyrefly. Done means the affected public parameters and return values expose useful, accurate types and the reported autocomplete and type-checking problems are resolved.

Written by the indexing model from the issue text.

Description

Description

  • I recently came across pyperf because I want to do some benchmark testing of my changes which I did on an opensource project named ArchUnitPython which are generally to improve the performance of the library. Initially I wanted to start with inbuilt time module but later I found pyperf which kind of can produce good benchmark by handling things like cold start, number of process spawn, warm benchmark etc. But during coding I found that the type system of pyperf is not good as most of most return type and function parameter have Unknown type which kind of hindering my auto completion and understanding of that function or parameter.
  • Eg;
Image Image
  • Now it might be issue from pyrefly typechecker but the thing is the library on which I contributed and benchmarking my changes have no Unknown (Till now) same for other libraries like FastAPI, PydanticAI and some more.
  • Because of this I am planning to do contribution to the library and improve the type system of pyperf.

If any maintainer could guide me or discuses in this issue, then it would be helpful.

Dominant language
Python
Stars
967
Forks
112
Avg merge
5d 8h
Merged PRs (30d)
9

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

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.

More from psf/pyperf

All issues in psf/pyperf

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.