# Pinned to versions that produced the committed tables/figures (2026-05-04).
# Newer minor versions should also work — re-run the script and verify outputs.
pandas>=2.0,<4
numpy>=1.26,<3
matplotlib>=3.8,<4
pyarrow>=14   # parquet reader for pandas
tabulate>=0.9   # required by pandas .to_markdown()
