.gitignore
.pre-commit-config.yaml
.python-version
LICENSE
README.md
coverage.json
get-data.sh
pyproject.toml
retrocast-config.yaml
uv.lock
zensical.toml
.github/release-drafter.yml
.github/workflows/docs.yml
.github/workflows/publish-pypi.yml
.github/workflows/publish-release.yml
.github/workflows/release-drafter.yml
.github/workflows/tests.yml
.github/workflows/typing.yml
.github/workflows/update-major-minor-tags.yml
data/retrocast/SHA256SUMS
data/retrocast/0-assets/model-configs/aizynthfinder/config-mcts-high.yaml
data/retrocast/0-assets/model-configs/aizynthfinder/config-mcts.yaml
data/retrocast/0-assets/model-configs/aizynthfinder/config-retrostar-high.yaml
data/retrocast/0-assets/model-configs/aizynthfinder/config-retrostar.yaml
data/retrocast/0-assets/model-configs/dms/dms_dictionary.yaml
data/retrocast/0-assets/model-configs/synplanner/mcts-rollout-config.yaml
data/retrocast/0-assets/model-configs/synplanner/mcts-val-config.yaml
data/retrocast/0-assets/model-configs/synplanner/nmcs-config.yaml
data/retrocast/1-benchmarks/definitions/mkt-cnv-160.manifest.json
data/retrocast/1-benchmarks/definitions/mkt-lin-500.manifest.json
data/retrocast/1-benchmarks/definitions/paroutes-n1-full-buyables-pruned.manifest.json
data/retrocast/1-benchmarks/definitions/paroutes-n1-full-pruned.manifest.json
data/retrocast/1-benchmarks/definitions/paroutes-n5-full-buyables-pruned.manifest.json
data/retrocast/1-benchmarks/definitions/paroutes-n5-full-pruned.manifest.json
data/retrocast/1-benchmarks/definitions/random-n5-100.manifest.json
data/retrocast/1-benchmarks/definitions/random-n5-1000.manifest.json
data/retrocast/1-benchmarks/definitions/random-n5-2000.manifest.json
data/retrocast/1-benchmarks/definitions/random-n5-250.manifest.json
data/retrocast/1-benchmarks/definitions/random-n5-50.manifest.json
data/retrocast/1-benchmarks/definitions/random-n5-500.manifest.json
data/retrocast/1-benchmarks/definitions/ref-cnv-400.manifest.json
data/retrocast/1-benchmarks/definitions/ref-lin-600.manifest.json
data/retrocast/1-benchmarks/definitions/ref-lng-84.manifest.json
data/retrocast/1-benchmarks/definitions/uspto-190.manifest.json
data/retrocast/1-benchmarks/definitions/uspto-83.manifest.json
data/retrocast/1-benchmarks/stocks/buyables-meta.manifest.json
data/retrocast/1-benchmarks/stocks/buyables-stock.manifest.json
data/retrocast/1-benchmarks/stocks/n1-n5-stock.manifest.json
data/retrocast/1-benchmarks/stocks/n1-stock.manifest.json
data/retrocast/1-benchmarks/stocks/n5-stock.manifest.json
docs/concepts.md
docs/index.md
docs/quick-start.md
docs/developers/adapters.md
docs/guides/benchmarks.md
docs/guides/cli.md
docs/guides/library.md
docs/guides/workflows.md
scripts/01-canonicalize-stock.py
scripts/02-compare.py
scripts/03-compare-paired.py
scripts/04-rank.py
scripts/05-tournament.py
scripts/06-check-seed-stability.py
scripts/07-create-model-profile.py
scripts/08-pareto-frontier.py
scripts/batch-run.sh
scripts/aizynthfinder/1-download-assets.py
scripts/aizynthfinder/2-prepare-stock.py
scripts/aizynthfinder/3-run-aizyn-mcts.py
scripts/aizynthfinder/4-run-aizyn-retro-star.py
scripts/askcos/0-prep.sh
scripts/askcos/1-gather-askcos-results.py
scripts/askcos/1-run-askcos.py
scripts/curation/augment-buyables-metadata.py
scripts/curation/uspto-190/check-reaction-direction.py
scripts/curation/uspto-190/create-benchmark-from-pickle.py
scripts/dev/canonicalize-stock.py
scripts/dev/check-stock-overlap.py
scripts/dev/create-tarball.sh
scripts/dev/sync-to-files.py
scripts/directmultistep/1-download-assets.sh
scripts/directmultistep/2-run-dms.py
scripts/directmultistep/3-combine-results.py
scripts/directmultistep/ingest-dms-legacy.py
scripts/directmultistep/run-ingest.sh
scripts/dreamretroer/1-create-time-summary.py
scripts/migrations/01-reexport-benchmarks-with-hashes.py
scripts/migrations/02-reexport-benchmarks-with-single-gt.py
scripts/multistepttl/1-serialize-pickles.py
scripts/paroutes/01-cast-paroutes.py
scripts/paroutes/02-create-subsets.py
scripts/paroutes/03-visualize-routes.py
scripts/planning/run-synplanner/1-download-assets.py
scripts/planning/run-synplanner/2-run-synp-val.py
scripts/planning/run-synplanner/3-run-synp-rollout.py
scripts/planning/run-synplanner/4-run-synp-nmcs.py
scripts/planning/run-synplanner/pyproject.toml
scripts/planning/run-synplanner/utils.py
scripts/planning/run-synplanner/uv.lock
scripts/retrochimera/1-gather-chimera-results.py
scripts/retrostar/1-download-assets.sh
scripts/retrostar/2-run-og-retro-star.py
scripts/synllama/1-convert-to-json.py
scripts/syntheseus/1-run-synth-bfs-local-retro.py
scripts/syntheseus/2-run-synth-retro0-local-retro.py
src/retrocast/__init__.py
src/retrocast/_version.py
src/retrocast/api.py
src/retrocast/chem.py
src/retrocast/exceptions.py
src/retrocast/paths.py
src/retrocast/py.typed
src/retrocast/typing.py
src/retrocast.egg-info/PKG-INFO
src/retrocast.egg-info/SOURCES.txt
src/retrocast.egg-info/dependency_links.txt
src/retrocast.egg-info/entry_points.txt
src/retrocast.egg-info/requires.txt
src/retrocast.egg-info/top_level.txt
src/retrocast/adapters/__init__.py
src/retrocast/adapters/aizynth_adapter.py
src/retrocast/adapters/askcos_adapter.py
src/retrocast/adapters/base_adapter.py
src/retrocast/adapters/common.py
src/retrocast/adapters/dms_adapter.py
src/retrocast/adapters/dreamretro_adapter.py
src/retrocast/adapters/factory.py
src/retrocast/adapters/multistepttl_adapter.py
src/retrocast/adapters/paroutes_adapter.py
src/retrocast/adapters/retrochimera_adapter.py
src/retrocast/adapters/retrostar_adapter.py
src/retrocast/adapters/synllama_adapter.py
src/retrocast/adapters/synplanner_adapter.py
src/retrocast/adapters/syntheseus_adapter.py
src/retrocast/cli/__init__.py
src/retrocast/cli/adhoc.py
src/retrocast/cli/handlers.py
src/retrocast/cli/main.py
src/retrocast/curation/__init__.py
src/retrocast/curation/filtering.py
src/retrocast/curation/generators.py
src/retrocast/curation/sampling.py
src/retrocast/io/__init__.py
src/retrocast/io/blob.py
src/retrocast/io/data.py
src/retrocast/io/provenance.py
src/retrocast/metrics/__init__.py
src/retrocast/metrics/bootstrap.py
src/retrocast/metrics/diversity.py
src/retrocast/metrics/ranking.py
src/retrocast/metrics/similarity.py
src/retrocast/metrics/solvability.py
src/retrocast/models/__init__.py
src/retrocast/models/benchmark.py
src/retrocast/models/chem.py
src/retrocast/models/evaluation.py
src/retrocast/models/provenance.py
src/retrocast/models/stats.py
src/retrocast/resources/__init__.py
src/retrocast/resources/default_config.yaml
src/retrocast/utils/__init__.py
src/retrocast/utils/logging.py
src/retrocast/utils/serializers.py
src/retrocast/utils/timing.py
src/retrocast/visualization/adapters.py
src/retrocast/visualization/model_performance.py
src/retrocast/visualization/plots.py
src/retrocast/visualization/report.py
src/retrocast/visualization/routes.py
src/retrocast/visualization/theme.py
src/retrocast/workflow/__init__.py
src/retrocast/workflow/analyze.py
src/retrocast/workflow/ingest.py
src/retrocast/workflow/score.py
src/retrocast/workflow/verify.py
tests/__init__.py
tests/conftest.py
tests/helpers.py
tests/smoke_test.py
tests/smoke_test_library.py
tests/test_chem_descriptors.py
tests/test_chem_identifiers.py
tests/test_paths.py
tests/adapters/conftest.py
tests/adapters/test_aizynth_adapter.py
tests/adapters/test_askcos_adapter.py
tests/adapters/test_base_adapter.py
tests/adapters/test_common.py
tests/adapters/test_dms_adapter.py
tests/adapters/test_dreamretro_adapter.py
tests/adapters/test_factory.py
tests/adapters/test_multistepttl_adapter.py
tests/adapters/test_paroutes_adapter.py
tests/adapters/test_retrochimera_adapter.py
tests/adapters/test_retrostar_adapter.py
tests/adapters/test_synllama_adapter.py
tests/adapters/test_synplanner_adapter.py
tests/adapters/test_syntheseus_adapter.py
tests/cli/__init__.py
tests/cli/test_adhoc.py
tests/cli/test_cli.py
tests/cli/test_handlers.py
tests/curation/__init__.py
tests/curation/test_filtering.py
tests/curation/test_generators.py
tests/curation/test_sampling.py
tests/io/__init__.py
tests/io/test_roundtrip.py
tests/metrics/__init__.py
tests/metrics/test_bootstrap.py
tests/metrics/test_ranking.py
tests/models/__init__.py
tests/models/test_molecule.py
tests/models/test_pharma_routes.py
tests/models/test_reaction_step.py
tests/models/test_route.py
tests/models/test_route_hashing.py
tests/models/test_route_properties.py
tests/models/test_route_signatures.py
tests/testing_data/paroutes.json.gz
tests/testing_data/pharma_routes.json.gz
tests/testing_data/model-predictions/aizynthfinder-mcts/results.json.gz
tests/testing_data/model-predictions/aizynthfinder-mcts/summary.json
tests/testing_data/model-predictions/aizynthfinder-retro-star/results.json.gz
tests/testing_data/model-predictions/aizynthfinder-retro-star/summary.json
tests/testing_data/model-predictions/askcos/results.json.gz
tests/testing_data/model-predictions/dms-flash-fp16/summary.json
tests/testing_data/model-predictions/dms-flash-fp16/ursa_bb_results.json.gz
tests/testing_data/model-predictions/dreamretro/results.json.gz
tests/testing_data/model-predictions/multistepttl/ibuprofen_multistepttl/2025_10_13__132140__prediction.pkl
tests/testing_data/model-predictions/multistepttl/ibuprofen_multistepttl/2025_10_13__132140__tree.pkl
tests/testing_data/model-predictions/multistepttl/paracetamol_multistepttl/2025_10_13__133407__prediction.pkl
tests/testing_data/model-predictions/multistepttl/paracetamol_multistepttl/2025_10_13__133407__tree.pkl
tests/testing_data/model-predictions/retro-star/results.json.gz
tests/testing_data/model-predictions/retro-star/summary.json
tests/testing_data/model-predictions/retrochimera/results.json.gz
tests/testing_data/model-predictions/synllama/results.json.gz
tests/testing_data/model-predictions/synplanner-mcts-rollout/results.json.gz
tests/testing_data/model-predictions/synplanner-mcts-rollout/summary.json
tests/testing_data/model-predictions/syntheseus-retro0-local-retro/results.json.gz
tests/testing_data/model-predictions/syntheseus-retro0-local-retro/summary.json
tests/utils/test_serializers.py
tests/utils/test_timing.py
tests/workflow/__init__.py
tests/workflow/test_pipeline.py
tests/workflow/test_verify.py