Improve Type System for `pyperf`
Maintainers usually reply within 1 day
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
- Domain
- developer-experience, tooling
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
pyperfbecause I want to do some benchmark testing of my changes which I did on an opensource project namedArchUnitPythonwhich are generally to improve the performance of the library. Initially I wanted to start with inbuilttimemodule but later I foundpyperfwhich 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 ofpyperfis not good as most of most return type and function parameter haveUnknowntype which kind of hindering my auto completion and understanding of that function or parameter. - Eg;
- Now it might be issue from
pyreflytypechecker but the thing is the library on which I contributed and benchmarking my changes have noUnknown(Till now) same for other libraries likeFastAPI,PydanticAIand 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
- 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.
More from psf/pyperf
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 32/100
Maintainers usually reply within 1 day
-
Extend hook's teardown metadata with warmup/calibration flagsPossibly taken @maurycy claimed this 170 days ago. Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
psf/pyperf#239 · 12 comments ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
Maintainers usually reply within 1 day
-
2.6.2: sphinx warnings `reference target not found`Possibly taken @amritamishra01 claimed this 356 days ago. Open
Difficulty 3/5 1-2 days Newbie friendliness 42/100
Maintainers usually reply within 1 day
Similar issues
-
plot_graph crashes when a mesh node has no m2m edgePossibly taken @tygvi claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
mllam/neural-lam#883 · 1 comment ·
Maintainers usually reply within 2 days
-
enhancement possible-duplicate
Difficulty 1/5 1-3 hours Newbie friendliness 78/100
AOSSIE-Org/PictoPy#1715 · 2 comments ·
Maintainers usually reply within 6 days
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themOpen
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
NVIDIA/auto-ontology#511 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ethereum/execution-specs#3996 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
cpp-best-practices/project_validator#267 ·
Maintainers usually reply within 1 day