Not a blocking issue, but for the record I feel like this is a step backward. My understanding is that asserts validate internal consistency, verify supposed-invariants, etc.  If something is simply not implemented or an illegal argument, then an assertion error is the wrong thing for the job, and a ValueError or TypeError or something is better. In this case, I think the ValueError is more appropriate.