"to be not None" reads sort of unnaturally to me.  "to not be None"?  Or "The user should provide either `scale` or `wcs`, but not both?
(Also, I think the ```-``` in the default statement should be ```=```.