After some discussion in the gitter, it seems like we're converging on the standard that the new constructor for the safe rust bindings for Python classes should return either &'p T where 'p is the lifetime of the Python object, or PyErr<&'p T>, but when I first wrote the datetime bindings, I had them return PyErr<Py<T>>.
I would like to switch those over for the 0.6.0 release (see #404).
I have a local branch where I've already done this for PyDate, shouldn't be too much longer converting the others.