Pandas version checks

  • [x] I have checked that this issue has not already been reported.

  • [x] I have confirmed this bug exists on the latest version of pandas.

  • [x] I have confirmed this bug exists on the main branch of pandas.

Reproducible Example

from pandas.core.indexers.objects import VariableWindowIndexer

variable_window_indexer = VariableWindowIndexer()
variable_window_indexer.get_window_bounds(1)

Issue Description

Hi,

For a research paper, we carried out a large-scale benchmark of Pynguin, an Automatic Unit Test Generation Tool for Python, to test its new feature that can find Python interpreter crashes. In this benchmark, we found a potential bug in pandas, and we are making this issue to report it.

Expected Behavior

In our opinion, pandas should not produce a segmentation fault when calling a public function. However, we don't know whether this function is part of pandas' public API so we just wanted to at least warn you that this behaviour exists, so that you can take the action that suits you best.

Installed Versions

commit : 0ab10aa1417f19ecf265ff9383b1aa851b02736b python : 3.10.16 python-bits : 64 OS : Linux OS-release : 6.14.11-300.fc42.x86_64 Version : #1 SMP PREEMPT_DYNAMIC Tue Jun 10 16:24:16 UTC 2025 machine : x86_64 processor : byteorder : little LC_ALL : None LANG : en_US.UTF-8 LOCALE : en_US.UTF-8

pandas : 3.0.0.dev0+2192.g0ab10aa141 numpy : 2.2.6 dateutil : 2.9.0.post0 pip : 23.0.1 Cython : None sphinx : None IPython : None adbc-driver-postgresql: None adbc-driver-sqlite : None bs4 : None bottleneck : None fastparquet : None fsspec : None html5lib : None hypothesis : None gcsfs : None jinja2 : None lxml.etree : None matplotlib : None numba : None numexpr : None odfpy : None openpyxl : None psycopg2 : None pymysql : None pyarrow : None pyiceberg : None pyreadstat : None pytest : 8.4.1 python-calamine : None pytz : 2025.2 pyxlsb : None s3fs : None scipy : None sqlalchemy : None tables : N/A tabulate : None xarray : None xlrd : None xlsxwriter : None zstandard : None tzdata : 2025.2 qtpy : None pyqt5 : None

Comment From: jbrockmendel

@mroeschke i suspect this is a non-issue, but maybe an underscore is appropriate somewhere?

Comment From: mroeschke

Yeah this is a private API (.core) that we call correctly internally. get_window_bounds is probably rightfully public since users have access to its subclass BaseIndexer.

Thanks for the issue but going to close since we call this without segfaulting internally