I was wondering why have restrictions on the datetime.time constructor arguments?  For example, why can't you enter 1.5 minutes or 90 seconds to create a datetime object with 1 minute and 30 seconds? 

>>> datetime.time(minute=1.5)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: integer argument expected, got float

>>> datetime.time(second=90)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: second must be in 0..59

I'd like to use datetime.time for time conversions like this.  It seems silly to have to do all the math and sanitize the inputs manually.  If I have to do all that work myself, then why use this module at all?  Is there another module or function that I am missing?

Thanks,
Ben