I found this answer helpful in creating my own:
import numpy as np
np.set_printoptions(edgeitems=30, linewidth=100000,
formatter=dict(float=lambda x: "%.3g" % x))
The absurd linewidth means only edgeitems and the window’s width will determine when newlines/wrapping occurs.

If I shrink the window a bit, it looks like this, so you may still need to play with the edgeitems or formatting:

Here are the docs for set_printoptions, of which the following are relevant:
-
edgeitems: Number of array items in summary at beginning and end of each dimension (default 3). -
linewidth: The number of characters per line for the purpose of inserting line breaks (default 75).