Skip to content

Vendor pyprima optimization code and drop scipy#379

Merged
jonchang merged 2 commits intomasterfrom
scipy-remove
Nov 16, 2025
Merged

Vendor pyprima optimization code and drop scipy#379
jonchang merged 2 commits intomasterfrom
scipy-remove

Conversation

@jonchang
Copy link
Owner

@jonchang jonchang commented Nov 16, 2025

Note

Vendors pyprima COBYLA and a bounded scalar minimizer to remove SciPy, rewrites optimization in tact/lib.py, updates tests and tooling, and bumps dev dependencies.

  • Core/Optimization:
    • Replace SciPy optimizers with vendored pyprima COBYLA (pyprima_minimize) and vendored minimize_scalar_bounded in tact/lib.py.
    • Add robust parameter/exception handling in likelihood wrappers; rework two_step_optim to COBYLA; adjust Yule optimizer and errors.
  • Vendoring:
    • Add tact/vendor/pyprima (COBYLA) with compatibility shims and patches; add tact/vendor/scipy_optimize/minimize_scalar_bounded.
    • Add tact/vendor/README.md and patching infrastructure; include update_vendor.sh script.
  • Tests:
    • Update CLI invocations to list-style script_runner.run([...]).
    • Relax test_bd_optim tolerances.
  • Config/Deps:
    • Remove SciPy from runtime; keep numpy; bump dev deps (pytest, hypothesis, pytest-*).

Written by Cursor Bugbot for commit 6bcf441. This will update automatically on new commits. Configure here.

@jonchang jonchang merged commit 45fdde0 into master Nov 16, 2025
12 checks passed
@jonchang jonchang deleted the scipy-remove branch November 16, 2025 01:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant