Time interval class that enhances constructor argument handling of its parent class
If you don’t expect to be further subclassing MyInterval, you could just use a helper method for construction.

class MyInterval(Period):

    @classmethod
    def create(cls, start, end, inclusive=True, **kwargs):
        start = _toDate(start)
        end = _toDate(end)

        if inclusive:
            end = end.add(days=1)

        return cls(start, end, **kwargs)


Alternatively, you could use a helper method to avoid the duplicated code (but not duplicated execution).

class MyInterval(Period):

    @staticmethod
    def _fixup(start, end, inclusive):
        start = _toDate(start)
        end = _toDate(end)

        if inclusive:
            end = end.add(days=1)

        return start, end

    def __new__(cls, start, end, inclusive=True, **kwargs):
        start, end = cls._fixup(start, end, inclusive)
        return super().__new__(start, end, **kwargs)

    def __init__(self, start, end, inclusive=True, **kwargs):
        start, end = self._fixup(start, end, inclusive)
        return super().__init__(start, end, **kwargs)