On 2018/01/17 00:55, Joerg Jung wrote: > On Tue, Jan 16, 2018 at 11:40:57PM +0000, Stuart Henderson wrote: > > On 2018/01/17 00:01, Joerg Jung wrote: > > > Hi, > > > > > > please find attached an update for devel/py-typing. > > > > The update seems ok, but: > > > > > This update introduces a python3 FLAVOR, which is needed as a dependency > > > for the upcoming homeassistant port. > > > > typing is in Python core for 3.5+, so I think it might be better to > > skip the py3 flavour. > > From PEP 484: Type Hints: > > "The module is available in Python since version 3.5.0 on a provisional > basis until Python 3.7.0."
Provisional => added as a test, not regarded as API-stable yet. ''Whenever the Python core development team decides that a new package should be included into the standard library, but isn't entirely sure about whether the package's API is optimal, the package can be included and marked as "provisional". In the next feature release, the package may either be "graduated" into a normal "stable" state in the standard library, remain in provisional state, or be rejected and removed entirely from the Python source tree. If the package ends up graduating into the stable state after being provisional, its API may be changed according to accumulated feedback. The core development team explicitly makes no guarantees about API stability and backward compatibility of provisional packages.'' Since this module is being committed to all three branches, it looks pretty much like it's staying (and anyone using it already should be prepared to adapt if the API does change). > From what I understand, provisional basis means this module is the newer > upstream-branch compared to the python built-in and it looks like > homeassistant really wants this newer one. > > But I'm not sure about this assumption :( The 3.6.2 version of "typing" standalone is identical to the one in python-3.6.2. The version in python-3.6.4 is a bit newer. I think it's not a good idea to have a standalone version when there's one in python core. Which one do you get if you import the module? What if another program is using it and then gets moved to an older version if py3-typing is installed?
