Hi,
as is stated in the official documentation:
programmers are encouraged to derive new exceptions from the Exception class or one of its subclasses, and not from BaseException
The rational is discussed in PEP352 or this StackOverflow discussion.
Moreover, I think most programmers (at least me!) expect that all errors are caught in a except Exception block, which is currently not the case, you have to:
except (Exception, pendulum.exceptions.PendulumException):
to be sure to catch everything but the system exit, keyboard interrupt...
Perhaps it's still time for v2 ?
Best regards and thanks for the amazing library!