Skip to main content

srbf

Symbolic Regression Benchmark Framework

PyPI · Docs · Interactive results

srbf visual abstract: any problem sets and any methods go through one framework (problems from symbolic-data, which a method's training data can exclude; paired comparisons) into the results explorer with curves, tables and ranks.

srbf runs symbolic regression methods on the same expressions, sampled the same way, and reads every prediction with one judge. A method is plugged in with a small adapter, a YAML config describes the evaluation, and four commands take it from a first smoke test to a report:

srbf new mymethod                    # scaffold an adapter for your method
srbf check   -c config.yaml          # a few real problems, step by step
srbf run     -c config.yaml -v       # the evaluation
srbf analyze -c config.yaml -o report
  • 29 catalogs, 6,660 expressions: Feynman, FastSRB, Nguyen and the other classical suites, physics collections and synthetic corpora, served by symbolic-data.
  • Any method, in its own environment: a worker is one Python file with a fit() function, run in the interpreter you name, with whatever torch, Julia or NumPy version your method needs.
  • One judge: every prediction is parsed, evaluated on held-out points and compared with the ground truth in one canonical form.
  • Evaluations that scale: inline !sweep ladders, whole-suite configs, resumable runs, and sharding across GPUs with a checked merge.
  • Statistics that fit the design: paired comparisons on the same expressions, rank analysis with critical differences, bootstrap intervals.
  • Stated provenance: every configuration carries a label for who chose it, and every result file records what ran.

The published results are on the results explorer.

Install

pip install srbf                 # the framework, the metrics and the adapters of the worker protocol
pip install "srbf[baselines]"    # plus what the PySR, NeSymReS and E2E adapters import
pip install "srbf[analysis]"     # plus matplotlib, for the figures of `srbf analyze`
pip install "srbf[flash-ansr]"   # plus flash-ansr, for the Flash-ANSR adapter

srbf needs Python 3.12 or newer and installs symbolic-data and simplipy with it.

Quickstart

No GPU and no model are needed for a first run: srbf new writes an adapter whose placeholder fits a linear model.

export SRBF_ROOT=$PWD/bench                                         # models, results and adapters live here
srbf new mymethod --python "$(which python)"
srbf check   -c bench/adapters/mymethod/config.yaml                  # two real problems, every step named
srbf run     -c bench/adapters/mymethod/config.yaml --experiment nguyen -v
srbf analyze -c bench/adapters/mymethod/config.yaml -o report        # report/results.md and figures/

To evaluate a released Flash-ANSR model on one catalog at one budget:

git clone https://github.com/psaegert/srbf && cd srbf && pip install ".[flash-ansr]" && export SRBF_ROOT=$PWD
hf download psaegert/flash-ansr-v25.0-T8-3M --local-dir models/psaegert/flash-ansr-v25.0-T8-3M
srbf run -c configs/evaluation/scaling/flash-ansr-v25.0-T8-3M_srbf.yaml --experiment nguyen --sweep-filter ladder=32 -v

Documentation

srbf.readthedocs.io

Guide What it covers
Quickstart both tours above, with their output
Concepts ground truth, problem, catalog, budget, judge: the vocabulary
Adding your method the worker contract and the pull request
Running evaluations the config, ladders, suites, resuming, sharding, clusters
Results result files, deriving metrics, intervals, the report
Metrics the definition of every metric
Paired comparisons comparing two methods, ranking many
Benchmarks the 29 catalogs and their sources, custom catalogs
Models installing and configuring the built-in methods
Command line every command and flag
Fairness one protocol, upstream defaults, provenance labels, timing

Citing

srbf accompanies Saegert & Köthe 2026, Breaking the Simplification Bottleneck in Amortized Neural Symbolic Regression (ICML 2026), arXiv:2602.08885. If you publish numbers on a catalog, cite its source as well (Benchmarks).

Development

pip install -e ".[dev]"
pre-commit run --all-files
pytest tests

License

MIT (see LICENSE). Third-party attributions in THIRD_PARTY_LICENSES.

Metadata

Release files for srbf 0.21.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for srbf 0.21.0
File Size Uploaded
srbf-0.21.0.tar.gz 211.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for srbf 0.21.0
File Interpreter ABI Platform
srbf-0.21.0-py3-none-any.whl Python 3 none any Details

Total release size: 418.0 kB

Release files / srbf-0.21.0.tar.gz

Download URL srbf-0.21.0.tar.gz
Size 211.3 kB
Tags Source
SHA-256 checksum
How to use checksums
0a0df8aa2ebdc11992b08b7b09cd7ec5988ab2dadcf6b721893cc31feca55183
BLAKE2b-256 checksum
How to use checksums
4adc832bbbc5e031f29e6380b507f90f6363bdd7a4c079e20f1e6eb7faa66fd9
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 Sep 28, 2026.

Transparency log

Release files / srbf-0.21.0-py3-none-any.whl

Download URL srbf-0.21.0-py3-none-any.whl
Size 206.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1f0ca57feea51c275c1313e23f22671d1f7c201c5f1111b78c48a803808e9c51
BLAKE2b-256 checksum
How to use checksums
aeede84d668c7eea22a53191182c8e2c4cf443c1a12d1857eaeeab902efe4ead
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 Sep 28, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page