@@ -144,6 +144,20 @@ def install_prior_py() -> None:
144144 )
145145 tmp_src_dir = tmp_dir .joinpath ("projects" , "extension" ).resolve ()
146146 requirements_lock = tmp_src_dir .joinpath ("requirements-lock.txt" )
147+ requirements_txt = tmp_src_dir .joinpath ("requirements.txt" )
148+
149+ # If requirements.txt exists, add pydantic constraints to avoid broken versions
150+ if requirements_txt .exists ():
151+ content = requirements_txt .read_text ()
152+ additions = []
153+ if "pydantic==" not in content .lower ():
154+ additions .append ("pydantic==2.10.5" )
155+ if "pydantic-core==" not in content .lower ():
156+ additions .append ("pydantic-core==2.27.2" )
157+ if additions :
158+ requirements_txt .write_text (
159+ content + "\n " + "\n " .join (additions ) + "\n "
160+ )
147161
148162 # Generate requirements-lock.txt if it doesn't exist
149163 if not requirements_lock .exists ():
@@ -168,6 +182,15 @@ def install_prior_py() -> None:
168182 env = os .environ ,
169183 cwd = str (tmp_src_dir ),
170184 )
185+
186+ cmd = f'{ bin } install -v --compile --target "{ version_target_dir } " "{ tmp_src_dir } "'
187+ subprocess .run (
188+ cmd ,
189+ check = True ,
190+ shell = True ,
191+ env = os .environ ,
192+ cwd = str (tmp_src_dir ),
193+ )
171194 finally :
172195 shutil .rmtree (tmp_dir )
173196
@@ -199,7 +222,16 @@ def install_py() -> None:
199222 )
200223 else :
201224 version_target_dir .mkdir (exist_ok = True )
225+ requirements_lock = ext_dir ().joinpath ("requirements-lock.txt" )
202226 bin = "pip3" if shutil .which ("uv" ) is None else "uv pip"
227+ cmd = f'{ bin } install -v --compile --target "{ version_target_dir } " -r "{ requirements_lock } "'
228+ subprocess .run (
229+ cmd ,
230+ check = True ,
231+ shell = True ,
232+ env = os .environ ,
233+ cwd = str (ext_dir ()),
234+ )
203235 cmd = f'{ bin } install -v --compile --target "{ version_target_dir } " "{ ext_dir ()} "'
204236 subprocess .run (
205237 cmd ,
@@ -544,7 +576,7 @@ def run() -> None:
544576def versions () -> list [str ]:
545577 # ADD NEW VERSIONS TO THE FRONT OF THIS LIST! STAY SORTED PLEASE
546578 return [
547- "0.11.2-dev" ,
579+ "0.11.2" , # released
548580 "0.11.1" , # released
549581 "0.11.0" , # released
550582 "0.10.1" , # released
0 commit comments