On Wed, Jun 29, 2016 at 1:21 PM, Random832 <random832@fastmail.com> wrote:
>
> Of course, naive times that care about the 'fold' are only portable to
> other timezones that have a fold at the same local time - e.g. among US
> timezones (which all have a fold from 2AM to 1AM local) but not EU
> timezones (which all transition at the same UTC time and therefore
> different local times).


I don't think you are correct.  With the current Github implementation [1] of the PEP, I can do the following:

>>> from datetime import *
>>> from test.datetimetester import ZoneInfo
>>> London = ZoneInfo.fromname('Europe/London')
>>> t0 = datetime(2016, 11, 6, 1, 30, fold=0)
>>> t1 = datetime(2016, 11, 6, 1, 30, fold=1)
>>> print(t0.astimezone(London))
2016-11-06 05:30:00+00:00
>>> print(t1.astimezone(London))
2016-11-06 06:30:00+00:00

In the snippet above, t0 and t1 are "naive times that care about the 'fold'."  (My system TZ is US/Eastern.)  I am not sure what you mean by being portable, but I can convert either of those times to London Time using .astimezone() which assumes local timezone for naive instances.

I am afraid Dan was right when he wrote: "And yet, it will still be confusing, because of how complicated time is in general, and of how humans interpret words." [2]  I can only hope that once PEP is implemented, most of the confusion can be resolved by experimentation.

[1]: https://github.com/python/cpython/pull/20
[2]: http://blog.danwin.com/pep-495-and-the-hardest-problem-in-computer-science/