Passing the maxsize/warnsize as initial required position arguments sounds counter-intuitive to me, I would have added them at the end as optional keyword arguments. Even if this API isn't public there's no need to make it intentionally less future compatible (remember that warnsize will be going away eventually).