On Tue, Feb 4, 2020 at 12:12 PM Chad Dombrova <chad...@gmail.com> wrote: >> >> Not to mention that all the nice work for the type hints will have to be >> redone in the for 3.x. > > Note that there's a tool for automatically converting type comments to > annotations: https://github.com/ilevkivskyi/com2ann > > So don't let that part bother you.
+1, I wouldn't worry about what can be easily automated. > I'm curious what other features you'd like to be using in the Beam source > that you cannot now. I hit things occasionally, e.g. I just ran into wanting keyword-only arguments the other day. >> It seems the faster we drop support the better. > > > I've already gone over my position on this, but a refresher for those who > care: some of the key vendors that support my industry will not offer > python3-compatible versions of their software until the 4th quarter of 2020. > If Beam switches to python3-only before that point we may be forced to stop > contributing features (note: I'm the guy who added the type hints :). Every > month you can give us would be greatly appreciated. As another data point, we're still 80/20 on Py2/Py3 for downloads at PyPi [1] (which I've heard should be taken with a grain of salt, but likely isn't totally off). IMHO that ratio needs to be way higher for Python 3 to consider dropping Python 2. It's pretty noisy, but say it doubles every 3 months that would put us at least mid-year before we hit a cross-over point. On the other hand Q4 2020 is probably a stretch. We could consider whether it needs to be an all-or-nothing thing as well. E.g. perhaps some features could be Python 3 only sooner than the whole codebase. (This would have to be well justified.) Another mitigation is that it is possible to mix Python 2 and Python 3 in the same pipeline with portability, so if there's a library that you need for one DoFn it doesn't mean you have to hold back your whole pipeline. - Robert [1] https://pypistats.org/packages/apache-beam , and that 20% may just be a spike.