Breaking Changes
- Dev/install workflow migrated to
uv: removedpoetry.lock, addeduv.lock, CI/Docs builds now useuv(pyproject.toml,readthedocs.yaml,.github/workflows/*). - Config file paths reorganized/renamed (update any scripts/docs referencing old names):
configs/planning.yaml→configs/planning_standard.yamlconfigs/policy.yaml→configs/policy_training.yamlconfigs/extraction.yaml→configs/extraction_functional_groups.yamlconfigs/filtration.yaml→configs/reactions_filtration.yamlconfigs/standardization.yaml→configs/reactions_standardization.yaml
Added
- Alternative search algorithms for planning (select via
tree.algorithm): NMCS, LazyNMCS, Best-first, Breadth-first, Beam (synplan/mcts/algorithm.py,docs/methods/mcts.rst,docs/configuration/planning.rst). - NMCS configuration knobs:
nmcs_level,nmcs_playout_mode,lnmcs_ratio(docs +synplan/utils/config.py). - Combined filtering + ranking policy support:
- New combined policy expansion class (
synplan/mcts/expansion.py) - Example configs (
configs/combined_ranking_filtering_policy.yaml,configs/planning_combined_policies.yaml) - New tutorial notebook:
tutorials/Combined_ranking_filtering_policy.ipynb
- New combined policy expansion class (
- SAScore benchmark tooling:
- CLI entrypoints:
sascore-benchmark,sascore-plot(pyproject.toml) - Scripts and config:
scripts/sascore_bench/run_benchmark.py,scripts/sascore_bench/plot_results.py,scripts/sascore_bench/config.yaml
- CLI entrypoints:
- CSV / CSV.GZ building blocks support (header/no-header, configurable delimiter and SMILES column):
synplan/utils/loading.py,synplan/utils/files.py(+ tests intests/unit/utils/test_loading.py). - New planning config templates:
configs/planning_value.yaml,configs/rules_extraction.yaml. - New tutorial notebook:
tutorials/NMCS_Algorithms.ipynb.
Performance Improvements
- Faster building blocks loading/standardization via chunked IO + optional process-pool mapping (
synplan/utils/loading.py,synplan/utils/files.py). - LazyNMCS pruning reduces branching factor for deep searches (
synplan/mcts/algorithm.py).
Changed
- Evaluation refactor to strategy-based evaluation (rollout/value-net/RDKit/policy/random) with centralized rollout simulator (
synplan/mcts/evaluation.py,synplan/utils/loading.py,synplan/utils/config.py). - Docker builds updated (uv-based installs; refreshed CLI/GUI images) (
cli.Dockerfile,gui.Dockerfile,Dockerfile, docs updates). - CI + release workflows updated (uv-based build/publish; PyPI/TestPyPI pipeline fixes) (
.github/workflows/ci.yml,pypi.yml,test-pypi.yml,build-docker.yml). - Documentation updated for planning config, MCTS algorithms, installation/dev, and Docker usage (
docs/*,README.rst).