_get_ns and _set_ns are setter/getter methods for the _ns attribute -
setting _ns within a setter would result in a infinite loop - you need
another parameter to store the value - in this case __ns
Also, all those methods/parameters are internal (indicated by the
starting underscore in the method/parameter name) and shouldn't be used
at all outside of the library.
I think I found the problem. UTCDateTime objects created with an older version of the library and stored on disk using pickle are not fully compatible when used with the newest version:
File "/usr/local/lib/python2.7/dist-packages/obspy-0.0.0_archive-py2.7-linux-x86_64.egg/obspy/core/utcdatetime.py", line 1165, in __ge__
return round((self._ns - other._ns) / 1e9, self.__precision) >= 0
AttributeError: 'UTCDateTime' object has no attribute '_ns'