Currently, properties.Float('', min=0.) is inclusive of 0, and this cannot be changed at the property level. We could add min_inclusive/max_inclusive boolean attributes, to make this possible.
Alternatively, this could just be done at the validator level, i.e.
class HasFloat(properties.HasProperties):
my_float = properties.Float('Exclusive minimum float', min=0.)
@properties.validator('my_float')
def _validate_min_exclusive(self, change):
if change['value'] == 0:
raise properties.ValidationError(...)