# Looking for draft feedback: Python Typing Survey 2026

**URL:** <https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255>\
**Category:** Typing\
**Tags:** typing, feedback, survey\
**Created:** [July 23, 2026, 8:09pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255 "2026-07-23T20:09:38Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![grievejia](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/grievejia/32/18850_2.png) [@grievejia](https://discuss.python.org/u/grievejia)\
**Post date:** [July 23, 2026, 8:09pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/1 "2026-07-23T20:09:38Z")

</div>

Hi all,

The Python Typing Survey is back for its third year! Last year we received 1,241 responses (up 15% YoY), and we’ve been pleased to see the survey become a recognised reference point for the direction of Python’s type system. It’s being referenced in [PEPs](https://peps.python.org/pep-0827/) and presentations to the Python community (including [Guido’s typing summit talk](https://www.youtube.com/watch?v=_SRFZODQtxw)). If you’re interested, you can read the [analysis of last year’s results](https://engineering.fb.com/2025/12/22/developer-tools/python-typing-survey-2025-code-quality-flexibility-typing-adoption/).

We’ve pulled together a draft for this year’s survey, featuring mostly the same questions as last year with a few adjustments. We’ve also opted to try out SurveyMonkey this year instead of Google Forms, it’ll give us some nicer tooling to pull together graphs etc. at the end, and should be a nicer experience for survey takers.

**[Draft survey link](https://www.surveymonkey.com/share/0ba1075f-e2a6-4d80-945c-645d5891f0e6)**

Feel free to click through the draft to try it out, responses won’t be saved. There’s one branching point this year (e.g. you’ll see different questions depending on whether you answered “never” to the question of type checker usage), so it’s worth clicking through to see how the flow feels.

If you have any feedback on the questions or structure, please leave suggestions in this thread. Also happy to hear ideas for how we can spread the word more broadly when it comes time to publish.

Thanks in advance!

---

<div class="post-metadata">

**Author:** ![mikeshardmind](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/mikeshardmind/32/14381_2.png) [@mikeshardmind](https://discuss.python.org/u/mikeshardmind)\
**Post date:** [July 23, 2026, 8:36pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/2 "2026-07-23T20:36:01Z")

</div>

Q17 \[1\] could use an “other” option, even if it doesn’t come with a free-form response, if the free-form response is not seen as useful for this question (given the specific options listed, I could see this being used to try and prioritize specific ongoing work)

I didn’t notice any other things like that, if these questions cover what people need from the ecosystem, the way the questions are presented seems fine.

Thanks for running the survey!

* * *

1. As labeled in the overview, it’s question 16 as presented to users after the skip logic for “Never”

---

<div class="post-metadata">

**Author:** ![Andrew5057](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/andrew5057/32/35016_2.png) [@Andrew5057](https://discuss.python.org/u/Andrew5057)\
**Post date:** [July 24, 2026, 7:59am UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/3 "2026-07-24T07:59:29Z")

</div>

Q9 is phrased as “Which IDE [singular] do you mainly use? (Select all that apply)”. The two clauses are contradictory; maybe something like “which IDEs do you use regularly” would be better?

Tangentially, specifying “for Python development” might be good; some people use different IDEs for different tasks.

Pedantically, “IDE” might be the wrong term here since “(Neo)vim/VIM (without a language server protocol)” is an option.

---

<div class="post-metadata">

**Author:** ![Andrew5057](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/andrew5057/32/35016_2.png) [@Andrew5057](https://discuss.python.org/u/Andrew5057)\
**Post date:** [July 24, 2026, 8:01am UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/4 "2026-07-24T08:01:51Z")

</div>

Q12 asks you to “rate” 6 options on a scale of 1-5, which is fine. However, the labels for 1 and 5 are confusing; 1 reads “not useful” (which matches a “rating”), while 5 reads “most useful” (which implies a “ranking” instead). Perhaps “very useful” or similar would be a better label?

---

<div class="post-metadata">

**Author:** ![Andrew5057](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/andrew5057/32/35016_2.png) [@Andrew5057](https://discuss.python.org/u/Andrew5057)\
**Post date:** [July 24, 2026, 8:03am UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/5 "2026-07-24T08:03:25Z")

</div>

Q16 is " What feature do you think is missing from the Python type system? (Select all that apply)" - maybe that should be pluralized?

---

<div class="post-metadata">

**Author:** ![Dr-Irv](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/dr-irv/32/16656_2.png) [@Dr-Irv](https://discuss.python.org/u/Dr-Irv)\
**Post date:** [July 24, 2026, 6:37pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/6 "2026-07-24T18:37:11Z")

</div>

You might want to ask a question relating to “how” people use type checkers. Some are integrated into IDE’s, some are only available via the command line, some have both. So something like:

Do you use a type checker via (check all that apply)

- Command line
- My IDE
- CI

Another question could relate to how people configure their type checkers, i.e., via `pyproject.toml`, or type-checker specific configuration files.

Another idea is to have a question about how people are reconciling different behaviors between type checkers, if they use more than one. For `pandas-stubs` (I’m the lead maintainer), this is something we have to deal with. I don’t know how to word this question, but maybe something along the lines of “If you use multiple type checkers on the same code base, are differences in features and behavior an issue?” (Yes or No). If yes, ask for a free-form text answer to understand the issues.

---

<div class="post-metadata">

**Author:** ![grievejia](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/grievejia/32/18850_2.png) [@grievejia](https://discuss.python.org/u/grievejia)\
**Post date:** [July 27, 2026, 10:44pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/7 "2026-07-27T22:44:13Z")

</div>

Thanks everyone for the feedback, really appreciate it! I’ve worked through all the suggestions here (as well as some additional comments received externally) and incorporated what I can.

I’ll keep the draft open for another few days. If there are no further comments, the plan is to finalize this week and launch next week. When we do (I’ll post separately), any help spreading the word would be great!

---

<div class="post-metadata">

**Author:** ![mfile\_bay](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@mfile\_bay](https://discuss.python.org/u/mfile_bay)\
**Post date:** [July 30, 2026, 1:29pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/8 "2026-07-30T13:29:56Z")

</div>

The website asks me to log in. Was anyone else required to do that?

 ![Screenshot](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/6/6/66063767feb15dc025009d47c1c53189d82002a3.jpeg)

---

<div class="post-metadata">

**Author:** ![grievejia](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/grievejia/32/18850_2.png) [@grievejia](https://discuss.python.org/u/grievejia)\
**Post date:** [July 30, 2026, 6:24pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/9 "2026-07-30T18:24:37Z")

</div>

@mfile_bay Yeah I changed some collector settings and it probably broke the old preview links. Does this new link work for you?

---

<div class="post-metadata">

**Author:** ![BrenBarn](https://avatars.discourse-cdn.com/v4/letter/b/74df32/32.png) [@BrenBarn](https://discuss.python.org/u/BrenBarn)\
**Post date:** [July 30, 2026, 7:50pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/10 "2026-07-30T19:50:07Z")

</div>

That new link seems to be blank and lead nowhere.

---

<div class="post-metadata">

**Author:** ![grievejia](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/grievejia/32/18850_2.png) [@grievejia](https://discuss.python.org/u/grievejia)\
**Post date:** [July 30, 2026, 9:20pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/11 "2026-07-30T21:20:56Z")

</div>

Would manually enter the link address work?  
[www.surveymonkey.com/share/98684f6a-8aaa-4658-aa78-b7c224174cf7](http://www.surveymonkey.com/share/98684f6a-8aaa-4658-aa78-b7c224174cf7)

---

<div class="post-metadata">

**Author:** ![waleedmebane](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/waleedmebane/32/11831_2.png) [@waleedmebane](https://discuss.python.org/u/waleedmebane)\
**Post date:** [July 30, 2026, 10:27pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/12 "2026-07-30T22:27:17Z")

</div>

On Q6, if the respondent hasn’t used typing in that context or hasn’t been aware of whether it was useful in that context, are they meant to answer “1 (not useful at all)”?

---

<div class="post-metadata">

**Author:** ![grievejia](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/grievejia/32/18850_2.png) [@grievejia](https://discuss.python.org/u/grievejia)\
**Post date:** [July 30, 2026, 10:58pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/13 "2026-07-30T22:58:00Z")

</div>

Ah that’s good suggestion. The question should now have a `N/A` column.

---

<div class="post-metadata">

**Author:** ![mfile\_bay](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@mfile\_bay](https://discuss.python.org/u/mfile_bay)\
**Post date:** [July 31, 2026, 12:05am UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/14 "2026-07-31T00:05:52Z")

</div>

I think it can be phrased “I don’t know”

---

<div class="post-metadata">

**Author:** ![mfile\_bay](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@mfile\_bay](https://discuss.python.org/u/mfile_bay)\
**Post date:** [July 31, 2026, 12:42am UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/15 "2026-07-31T00:42:46Z")

</div>

Q11 I think “In my IDE / editor (real-time feedback)”, “From the command line (on-demand)” should be split into

- Automatically run by my IDE
- Manually run in my IDE
- From the command line

I manually run dmypy in my IDE with a hand-written tasks.json that runs command `dmypy run` in the integrated terminal\[1\]. I also have Pylance/Pyright enabled (they update in real time). So I would select #1 and #2\[2\], and if I didn’t use Pylance/Pyright I would select #2. It’s clearer.\[3\]

In addition, #1 covers “update-on-save” in addition to “instant feedback” (if this finegraining isn’t important).

* * *

1. Search VS Code tasks 

2. not #3 though I run `dmypy stop` when dmypy starts acting weird (due to some niche usage I have for a project) 

3. In the latter case I’d be confused with the original options - I run in my IDE / editor, but it’s manually, not real-time feedback

---

<div class="post-metadata">

**Author:** ![Jos\_Verlinde](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/jos_verlinde/32/25571_2.png) [@Jos\_Verlinde](https://discuss.python.org/u/Jos_Verlinde)\
**Post date:** [July 31, 2026, 12:01pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/16 "2026-07-31T12:01:31Z")

</div>

On 8: I am “unable” to use several type checkers as they do not work on my preferred OS.

Perhaps that can be rephrased as a reason seperate from “Ease of installation and setup”

I also think that the survey assumes that the respondent is using CPython,

Perhaps that is worthy of its own multi-answer question

Which python implementations are you using type checking for

CPython, PyPy, MicroPython, Jupiter, …

---

<div class="post-metadata">

**Author:** ![Dutcho](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/dutcho/32/7074_2.png) [@Dutcho](https://discuss.python.org/u/Dutcho)\
**Post date:** [July 31, 2026, 7:38pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/17 "2026-07-31T19:38:39Z")

</div>

Some remarks:  
Shouldn’t Q4 have the option of typing for runtime use (eg pedantic or beartype)?  
Shouldn’t Q7 include IDE?  
Answering Q18 requires quite some background; perhaps slight explanation?

Good luck in finalising and analysing!

---

<div class="post-metadata">

**Author:** ![mfile\_bay](https://avatars.discourse-cdn.com/v4/letter/m/d78d45/32.png) [@mfile\_bay](https://discuss.python.org/u/mfile_bay)\
**Post date:** [July 31, 2026, 11:31pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/18 "2026-07-31T23:31:18Z")

</div>

Q17 and Q18 “What is [are] the hardest parts” “What features do you think is [are]”?

---

<div class="post-metadata">

**Author:** ![grievejia](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/grievejia/32/18850_2.png) [@grievejia](https://discuss.python.org/u/grievejia)\
**Post date:** [August 5, 2026, 5:17pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/19 "2026-08-05T17:17:18Z")

</div>

Thanks again for the additional feedback. I’ve now published the survey today:

> [@2026 Python Type System and Tooling Survey is out!](https://discuss.python.org/t/2026-python-type-system-and-tooling-survey-is-out/108426):
>
> The 2026 Python Type System and Tooling Survey is out! Take the survey here: [Python Type System and Tooling Survey 2025](https://www.surveymonkey.com/r/python_typing) (or scan the QR code attached at the end). I also want to say a huge thank-you to the folks who commented on our earlier post with feedback on the draft survey. Stay tuned for another post with the survey results in a few weeks! This survey was developed with support from the Pyrefly team at Meta, the PyCharm team at JetBrains, the Python team at Microsoft, and the communit…

---

<div class="post-metadata">

**Author:** ![davidism](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/davidism/32/3295_2.png) [@davidism](https://discuss.python.org/u/davidism)\
**Post date:** [August 5, 2026, 5:21pm UTC](https://discuss.python.org/t/looking-for-draft-feedback-python-typing-survey-2026/108255/20 "2026-08-05T17:21:44Z")

</div>

Closing as the draft is now finished and the survey is published.
