Many of our scientific users are more familiar with numpy dtypes than GDAL types, and, for most numpy dtypes, there are clear mappings between numpy and GDAL types. So it would be nice to be able to allow users to provide either numpy or GDAL types, and raise some kind of exception if there isn't a clear matchup (e.g. numpy.float128 doesn't have a GDAL type).