From 178d8dfa5cd31d56a5067619de630168287a6851 Mon Sep 17 00:00:00 2001 From: Bibek Chaudhary Date: Wed, 10 Jun 2026 15:42:24 +0545 Subject: [PATCH] Relax numpy/pandas/scipy/sympy/networkx pins to support modern stack Replace the `~=` upper caps with lower-bound floors. The caps blocked numpy 2 / pandas 2+ / networkx 3 and made Python 3.14 impossible (pandas 1.x has no cp314 wheels), blocking the downstream RealRate-Private uv / Python 3.14 migration. Verified equivalent across the stack jump: - causing unit suite: 24/24 pass on Python 3.14 + numpy 2 / pandas 3 / networkx 3 - make verify-output: all 5 example graphs.json byte-identical to baseline - RealRate de_life_insurance A/B: 8/8 years identical within 1e-10 Bump version 2.4.6 -> 2.5.0. Refs: realrate/RealRate-Private#2098 Co-Authored-By: Claude Opus 4.8 --- setup.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/setup.py b/setup.py index a8ab298..360484a 100644 --- a/setup.py +++ b/setup.py @@ -5,7 +5,7 @@ setuptools.setup( name="causing", - version="2.4.6", + version="2.5.0", author="Dr. Holger Bartel", author_email="holger.bartel@realrate.ai", description="Causing: CAUSal INterpretation using Graphs", @@ -19,11 +19,15 @@ "Operating System :: OS Independent", ], install_requires=[ - "numpy~=1.23", - "pandas~=1.3", - "scipy~=1.9", - "sympy~=1.5", - "networkx~=2.7", + # Lower-bound floors only: the previous `~=` upper caps blocked numpy 2 / + # pandas 2+ / networkx 3 and made Python 3.14 impossible (no pandas 1.x cp314 + # wheels). Verified numerically equivalent across the stack jump — see + # https://github.com/realrate/RealRate-Private/issues/2098 + "numpy>=1.23", + "pandas>=1.3", + "scipy>=1.9", + "sympy>=1.5", + "networkx>=2.7", "pre-commit", # TODO: move to dev-requirements ], python_requires=">=3.9",