Description
When using bpython console, output of print(sum_numpy_array) is truncated to a line width of ~70 characters, regardless of the value set by numpy.set_printoptions(linewidth=<n_chars>). (Probably truncating to 75 characters, per the default value)
Reproduction
import numpy as np
my_array = np.random.rand(10,10)
print(my_array) # Default width
np.set_printoptions(linewidth=500) # Significantly increase width
print(my_array) # See if width has changed
Output using bpython console
Launching the console with
and running the above commands, the final output stays the same width, e.g.,
[[0.16879042 0.3686932 0.11583333 0.71321688 0.13670377 0.25383321
0.92788538 0.85056165 0.95871566 0.45657286]
[0.49414317 0.88604218 0.49922465 0.55992626 0.42089223 0.13897627
0.67980652 0.88978922 0.43246291 0.90526356]
[0.33860567 0.52356898 0.75102455 0.33301567 0.7098871 0.21842158
0.46992689 0.76128979 0.88457363 0.78181751]
[0.81131105 0.78620507 0.42323958 0.67422569 0.55118114 0.70407957
0.09016517 0.74287572 0.64249138 0.32268192]
[0.73698842 0.69307092 0.53539859 0.28499058 0.21822006 0.04206897
0.49433916 0.09354207 0.43103985 0.93385655]
[0.57097254 0.14512517 0.2543967 0.09382002 0.45794077 0.35054257
0.10442983 0.91845382 0.55508597 0.43811922]
[0.11549397 0.21101277 0.33120293 0.02861319 0.68274748 0.65524105
0.85512808 0.24291806 0.50740652 0.55194984]
[0.75793193 0.37992667 0.9271967 0.40700423 0.87117636 0.82544539
0.6475613 0.375711 0.10660802 0.80992348]
[0.10731481 0.63415828 0.29611222 0.6099451 0.55459819 0.26587325
0.02677911 0.56104341 0.11235509 0.21292126]
[0.0105919 0.77393485 0.94602175 0.93723815 0.26395324 0.60083277
0.9612396 0.01070631 0.28442629 0.54188245]]
Output using python3 console
Launching the console with
and running the above commands, the final output changes truncation, as expected, e.g.,
[[0.46753165 0.01686997 0.70437271 0.24879456 0.02556759 0.83650928 0.43286804 0.9451887 0.46181752 0.61630296]
[0.14566225 0.30565914 0.77176535 0.95703763 0.90894262 0.27614148 0.81659766 0.34812769 0.56174244 0.11549844]
[0.32356831 0.25946131 0.0412169 0.75370806 0.33468114 0.20393067 0.55025587 0.44584574 0.58217767 0.0194622 ]
[0.04457736 0.44181464 0.57638118 0.85024418 0.39383885 0.7514973 0.82326232 0.78800379 0.32851216 0.73534777]
[0.83012166 0.02666477 0.55707597 0.57091802 0.65053171 0.38345246 0.93166186 0.35886066 0.98315683 0.29832238]
[0.0459551 0.87111509 0.96831739 0.57373146 0.00515242 0.64619749 0.29837364 0.96973241 0.87579246 0.8223942 ]
[0.50320441 0.80214551 0.27265131 0.43892873 0.28584371 0.17528833 0.10920415 0.18958378 0.52295676 0.24579679]
[0.13021351 0.80121593 0.60686516 0.37569768 0.69666459 0.12626204 0.01553835 0.80746448 0.48018188 0.58879389]
[0.02042933 0.10991487 0.50438164 0.41571544 0.37653485 0.08231128 0.36678203 0.29661942 0.8794024 0.82026911]
[0.72970859 0.89390088 0.0175212 0.96947842 0.49559425 0.37974255 0.32831178 0.86434193 0.63606216 0.46084129]]
Details
Stumbled across this issue using the following environment (installed by uv via a hatch environment), running on Ubuntu 22.04.3 LTS via Windows Subsystem for Linux.
$ python3 -m pip freeze
attrs==25.3.0
black==25.1.0
blessed==1.21.0
bpython==0.25
certifi==2025.8.3
cfgv==3.4.0
charset-normalizer==3.4.3
click==8.2.1
coverage==7.10.6
curtsies==0.4.3
cwcwidth==0.1.10
distlib==0.4.0
filelock==3.19.1
greenlet==3.2.4
hypothesis==6.138.15
identify==2.6.14
idna==3.10
iniconfig==2.1.0
mypy_extensions==1.1.0
nodeenv==1.9.1
numpy==2.3.3
packaging==25.0
pathspec==0.12.1
platformdirs==4.4.0
pluggy==1.6.0
pre_commit==4.3.0
Pygments==2.19.2
pytest==8.4.2
pytest-cov==7.0.0
pyxdg==0.28
PyYAML==6.0.2
requests==2.32.5
scipy==1.16.2
sortedcontainers==2.4.0
urllib3==2.5.0
virtualenv==20.34.0
wcwidth==0.2.13
Additional context
This seems specific to the numpy set_printoptions function.
If I print a long string in the bpython console, it does not truncate at ~70 characters like the numpy array:
>>> print('x'*100)
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Description
When using bpython console, output of
print(sum_numpy_array)is truncated to a line width of ~70 characters, regardless of the value set bynumpy.set_printoptions(linewidth=<n_chars>). (Probably truncating to 75 characters, per the default value)Reproduction
Output using
bpythonconsoleLaunching the console with
and running the above commands, the final output stays the same width, e.g.,
Output using
python3consoleLaunching the console with
and running the above commands, the final output changes truncation, as expected, e.g.,
Details
Stumbled across this issue using the following environment (installed by
uvvia ahatchenvironment), running on Ubuntu 22.04.3 LTS via Windows Subsystem for Linux.Additional context
This seems specific to the numpy set_printoptions function.
If I print a long string in the bpython console, it does not truncate at ~70 characters like the numpy array: