I'm hoping to get started on the mypy implementation later this weekend, after integrating the previous week's feedback into the PEP draft.
Famous last words. :) I've managed to clear everything off my plate now and so am now actually starting the mypy implementation of Required / NotRequired. AKA PEP 655.
However I am mindful of some upcoming timelines: * Python 3.10a7 (the last alpha) is scheduled for April 5th (in 4 days). I think this may be a last point where a new feature like Required can be introduced for Python 3.10. * The Steering Council will need to ultimately review PEP 655 before this feature is merged into CPython/mypy. I understand they have about a month of backlog in reviewing items at this busy time.
There is a small amount of feedback that ideally I'd like to integrate before submitting the PEP to the Steering Council but I'm running out of time: * > Are `Required` and `NotRequired` supported only in the class form of a TypedDict? - I'm leaning toward allowing it in the alternative syntax but I really want experience implementing in mypy first before making a decision. If it looks at all challenging to implement, I may lean toward no, since the alternative syntax is effectively deprecated in most new code anyway. * I'm wondering if updating the introspective functions of the "typing" module  might involve non-trivial changes that should be discussed in the PEP. I don't have enough experience with this code to discover issues before attempting implementation.
Would folks recommend that I submit the current draft of PEP 655 to the Steering Council while I'm still working on the mypy implementation, potentially discovering small issues to integrate into the PEP later, or should I wait until I finish the implementation and thus have very high confidence that all issues have been addressed in the PEP?