Creates a string repr of the dtype, excluding the 'dtype()' part surrounding the object. This object may be a string, a list, or a dict depending on the nature of the dtype. This is the object passed as the first parameter to the dtype constructor, and if no additional constructor parameters are given, will reproduce the exact memory layout.
If 'shortrepr' is non-zero, this creates a shorter repr using 'kind' and 'itemsize', instead of the longer type name.
If 'includealignflag' is true, this includes the 'align=True' parameter inside the struct dtype construction dict when needed. Use this flag if you want a proper repr string without the 'dtype()' part around it.
If 'includealignflag' is false, this does not preserve the 'align=True' parameter or sticky NPY_ALIGNED_STRUCT flag for struct arrays like the regular repr does, because the 'align' flag is not part of first dtype constructor parameter. This mode is intended for a full 'repr', where the 'align=True' is provided as the second parameter.
Normalize byteorder to '<' or '>'
Handle booleans, numbers, and custom dtypes
Short repr with endianness, like '<f8'
Longer repr, like 'float64'
All the rest which don't fit in the same pattern
The object reference may be different sizes on different platforms, so it should never include the itemsize here.
References arraydescr_dealloc(), arraydescr_getsets, arraydescr_members, arraydescr_methods, arraydescr_new(), arraydescr_repr(), arraydescr_richcompare(), arraydescr_str(), descr_as_mapping, and descr_as_sequence.