Skip to content

Make ThinkBooster installable without patches#245

Merged
smirnovlad merged 5 commits intomainfrom
fix/pypi-ready-deps
Apr 9, 2026
Merged

Make ThinkBooster installable without patches#245
smirnovlad merged 5 commits intomainfrom
fix/pypi-ready-deps

Conversation

@smirnovlad
Copy link
Copy Markdown
Collaborator

Summary

Step towards releasing ThinkBooster as a PyPI package. After merging lm-polygraph#446, lm-polygraph no longer needs post-install patching.

  • lm-polygraph as direct dependency — added to pyproject.toml, no more sed hacks in setup.sh
  • vLLM moved to main dependencies — it's the primary inference backend, not optional
  • Use bundled latex2sympy — switched imports from latex2sympy2 pip package to bundled llm_tts.evaluation.latex2sympy, avoiding antlr4==4.7.2 vs 4.9.x conflict with hydra
  • setup.sh cleaned up — removed all sed patches, switched from dev to main branch

What still needs setup.sh

  • llm-uncertainty-head (GitHub-only)
  • vllm-speculators (GitHub-only)
  • KernelAct (git clone, not a pip package)

Test plan

  • Clean conda env, pip install -e . only (no setup.sh)
  • Full math500 eval with Qwen2.5-Math-7B-Instruct: exact_match 0.836
  • vLLM inference works
  • Bundled latex2sympy produces correct results

The numpy>=2.0 constraint, thinc>=8.3, and spacy>=3.8 pins were based
on the assumption that vLLM requires numpy 2.x. Verified that vLLM 0.12.0
works fine with numpy 1.26.4, thinc 8.2.5, and spacy 3.7.5.

Changes:
- pyproject.toml: numpy>=2.0.0,<2.3.0 -> numpy>=1.23.5, remove thinc pin
- setup.sh: remove post-install numpy/thinc/spacy pinning block,
  remove spacy sed patch, update transformers sed to match main branch
- Add lm-polygraph as direct dependency (from GitHub main, no sed patches)
- Move vLLM from optional extra to main dependencies
- Use bundled latex2sympy instead of latex2sympy2 pip package
  (avoids antlr4 version conflict with hydra)
- Remove all sed hacks from setup.sh, switch to main branch
- Verified: full math500 eval passes in clean conda env with pip install only
Now that lm-polygraph v0.6.0 is published on PyPI, replace the
git+https dependency with a standard version specifier.
- Set requires-python to >=3.10 (lm-polygraph and vLLM requirement)
- Fix placeholder author metadata
- Remove broken console script entry point (scripts/ is not a package)
- Remove non-existent config package-data paths
- Update black/mypy target versions to match
@smirnovlad
Copy link
Copy Markdown
Collaborator Author

Ready to merge. Summary of all changes:

Dependencies

  • lm-polygraph>=0.6.0 from PyPI (was git+https dependency — PyPI blocker removed)
  • vLLM moved from optional to main dependencies
  • Removed unnecessary thinc>=8.3.0 override
  • Loosened numpy to >=1.23.5

Imports

  • Switched latex2sympy2 → bundled llm_tts.evaluation.latex2sympy (avoids antlr4/hydra conflict)
  • Fixed isort: first-party imports in separate group

setup.sh

  • Removed all sed patches for lm-polygraph
  • Switched lm-polygraph from dev to main branch
  • Removed post-install numpy/thinc/spacy pinning block

PyPI metadata

  • requires-python >= 3.10 (lm-polygraph + vLLM requirement)
  • Fixed placeholder author metadata
  • Removed broken run-tts-eval console script (scripts/ is not a package)
  • Removed non-existent config package-data paths
  • Updated black/mypy target versions

Verified

  • Clean pip install -e . in fresh conda env — no setup.sh needed
  • All key imports pass (llm_tts, grader, parser, vllm, lm_polygraph)
  • python -m build + twine check both pass

@smirnovlad smirnovlad merged commit 546ffcc into main Apr 9, 2026
3 checks passed
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.

2 participants