Description
What is the question that needs to be resolved?
A bit of typing has entered astropy, with some sub-packages being substantially further along than others. We also have had a few bug reports pointing out that type information is missing. It may be good to decide package-wide how we want to approach this. Options:
- Go with the flow, let people update as they please (which means an incomplete state for quite a while).
- Embrace typing. If so, we need to think a bit on who is going to do the work. There seem to be two options:
- Add typing information to the modules proper. This likely means that subpackage maintainers will have to review quite a lot of PRs, even if they are not particularly interested in typing (or even disfavour it somewhat, because of the extra clutter).
- Add information in
.pyi
files (as numpy has done). This would mean only those who care about typing would do the work, but that only well set-up editing environments have this information readily available.
Personally, I have no particular preference, though I think I'd prefer to spend time reviewing bug fixes/enhancements (though I'd change my mind if there were, e.g., clear performance improvements to be had, as @nstarman suggested might be possible with mypy
). So, I'd like a scheme where it is clear who is responsible for adding and maintaining the typing information (which may be easier with option 1!).
Describe the desired outcome
Some kind of decision on whether to add typing information as we go, and where to add it. If it is effectively option 1, then I think we are done, otherwise an APE may be needed.