A system for the collection and distribution of reference information on chemical synthesis routes.
RouteHunter maintains a growing collection of digitized target molecules, each linked to the paper that reports a multi-step synthesis route to it. This dataset supports benchmarking computer-aided synthesis planning (CASP) tools by how many targets they can solve and, for solved targets, comparing a tool’s predicted route against the one published in the original paper.
Beyond the dataset itself, RouteHunter lets you:
search for a molecule to find whether a route to it has already been published, or solved by a CASP tool,
predict a molecule’s solvability by open-source CASP tools, and
monitor newly published papers likely to report new synthesis routes.
Installation
pip install routehunter
Requires Python 3.12 or later.
Quickstart
RouteHunter’s underlying dataset is hosted on Hugging Face. Download it once, then build the app from it:
from routehunter.utils import download_app_data
from routehunter import RouteHunterApp
app_data_dir = download_app_data(to=".")
app = RouteHunterApp.from_data_dir(app_data_dir)
print(app.review())
Search for a molecule
result = app.search("C#CCOC1=C(C=C(C(=C1)N2C(=O)N3CCCCC3=N2)Cl)Cl")
print(result.found) # True if a paper or a CASP tool already covers this molecule
print(result.paper_message) # e.g. "Found 1 paper(s) reporting a route for this molecule"
print(result.paper_report) # pandas.DataFrame: journal, title, year, doi
print(result.tool_message) # e.g. "Found 1 tool(s) predicted routes for this molecule"
print(result.tool_report) # pandas.DataFrame: tool, result, route
Predict solvability
result = app.predict("CC(C)Cc1ccc(cc1)C(C)C(=O)O")
print(result.to_dataframe()) # predicted solvability probability per CASP tool, with a link to each tool
Monitor recent papers
papers = app.monitor(year_min=2023, year_max=2025)
print(papers) # pandas.DataFrame, ranked by predicted probability of reporting a synthesis route
CASP tools currently covered
Project layout
routehunter/ the published package (pip install routehunter) -- everything above lives here
routehunter_build/ internal tooling for building and maintaining the dataset (not published to PyPI)
streamlit/ the Streamlit app behind the live demo
Contributing
RouteHunter is a static, curated dataset – there’s currently no way to add or edit data files directly. All data is updated manually by an administrator after the submitted data has been validated.
Contributions of any kind are welcome:
Scientists: propose new papers and their target molecules for the dataset, or flag targets with no known route that you’d like tested against open-source CASP tools.
Developers: propose having your CASP tool integrated into RouteHunter, for use in route search and solvability prediction.
Send contributions to dvzankov@gmail.com, and please include the name you’d like registered as the contributor on your records.
License
MIT – see LICENSE.
Metadata
Release files for routehunter 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| routehunter-1.0.0.tar.gz | 10.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| routehunter-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 21.6 kB
Release files / routehunter-1.0.0.tar.gz
| Download URL | routehunter-1.0.0.tar.gz |
|---|---|
| Size | 10.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d230bc5b7c7b4c259f432ebdd586e355c89feaa4ad64eb5ae6ca032c156e081d
|
|
BLAKE2b-256 checksum How to use checksums |
9ed6d98f9e4cf595ba72ed588ba72bdeace4173b05ef0d6803520b96ff881a3b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency logRelease files / routehunter-1.0.0-py3-none-any.whl
| Download URL | routehunter-1.0.0-py3-none-any.whl |
|---|---|
| Size | 11.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2f3f120565f662d8188779544fac59d2d16ea6f53f2b4b2a3d205e58b8f4a4c4
|
|
BLAKE2b-256 checksum How to use checksums |
6798f8fd8fe50076d0465d0b6e0a1e78f64d774b64c8c41b870f99288841538e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Aug 19, 2026.
Transparency log