TuringBot and PySR both do symbolic regression: given data, they search for a mathematical expression that predicts a target variable. They are built for different users, and this page is about which one fits yours.
Short answer
Want to load a CSV and search for equations in a desktop application, with no language runtimes to manage and someone to email when it breaks? Use TuringBot.
Working inside a Python codebase and you want something free, open source and extensible? Use PySR.
What each one is
TuringBot is a commercial desktop application with a graphical interface, a command line mode and a Python library. The search engine is compiled C++ and uses simulated annealing. It runs on Windows, macOS and Linux as a single installer with no language runtime to set up, and there is a free version that works without signup.
PySR is an open source Python package under the Apache 2.0 license. The Python layer is a front end to an engine written in Julia, and it exposes a scikit-learn compatible estimator, PySRRegressor. It is actively maintained.
Side by side
| PySR | TuringBot | |
|---|---|---|
| License | Apache 2.0, open source | Commercial, free tier available |
| Interface | Python API | Desktop GUI, command line, Python library |
| Engine | Julia (SymbolicRegression.jl) | Compiled C++ |
| Algorithm | Multi-population evolutionary search | Simulated annealing |
| Install | pip install pysr; Julia dependencies install on first import | Desktop installer; Python automation also needs pip install turingbot |
| Custom operators | Written in Julia syntax inside Python strings | Defined in the settings file or the interface |
| Source access | Full, modifiable, forkable | Closed |
| Support | Community, GitHub issues | Commercial support |
| Cost | Free | Free tier, paid licenses for larger datasets |
When TuringBot is the better choice
- You want to see your data before you commit to code. Loading a CSV, picking a target column and pressing start takes under a minute in a GUI, and nothing has to be installed beyond the application itself.
- You do not want a Julia runtime on the machine. On locked-down corporate or laboratory machines, "one installer, no runtimes" is sometimes the difference between using a tool and not using it.
- The people who need the result are not programmers. A colleague can open the application and run a search. Handing them a Python environment is a different proposition.
- You want someone to answer a support email. That is what a commercial license buys.
When PySR is the better choice
There are several cases where we would point you to PySR rather than sell you a license.
- You need the source. Academic work that has to be reproducible by reviewers, or any project where a closed engine is unacceptable, argues for PySR. You can read the algorithm, modify it and cite it.
- You are already in a Python or Julia pipeline. The scikit-learn compatible API drops into existing workflows with very little friction.
- You want to extend the algorithm itself, not just configure it. PySR is a library you can build on. TuringBot is an application you can drive.
- Budget is zero and it has to stay zero. PySR is free at any dataset size.
Why there is no benchmark on this page
Vendor benchmarks against a competitor deserve skepticism, and ours would be no exception. Symbolic regression results depend heavily on the operator set, the time budget, the error metric and the random seed, and the party running the comparison chooses all four. A benchmark run by us, tuned by us, published by us, would tell you very little.
If you want a comparison, run both on your own data with the same time budget. Both have a free option, so the only cost is your time.
Trying TuringBot
The free version needs no signup or credit card and is enough to see whether the search finds anything useful in your data. It runs on Windows, macOS and Linux. The Python library installs with pip install turingbot, the full option list is in the documentation, and pricing covers the paid licenses.
If your problem is really a classical fitting problem rather than a search for an unknown form, the curve fitting comparison covers the alternatives, several of which are free.