ftl-bench
An agent-evaluation benchmark that has an LLM agent play FTL: Faster Than Light through a turn-based, intent-level interface built on the FTL-Hyperspace Lua API. The agent reads a decision-complete JSON observation and replies with one command; the harness scores how far it gets on a suite of reproducible, seed-pinned scenarios.
This package ships the Python harness, the scenario suite, the agents, and the ftlbench
command line. Driving the real game additionally needs FTL installed (via Steam) plus the bench
Hyperspace mod.
Install
pip install ftl-bench
Use
ftlbench run --agent scripted # run the scenario suite with the scripted baseline
ftlbench run --agent random --tier public # the legal-move floor on the public tier
ftlbench run --agent llm --backend anthropic --model claude-sonnet-4-6 # a model plays the suite
ftlbench play obs # print the live observation the agent sees
ftlbench install-mod --url <release-asset> # install the prebuilt bench Hyperspace mod into FTL
ftlbench version
ftlbench run --help and ftlbench play show the full options. Results and a reproducibility
manifest are written under runs/benchmark/.
Platforms
The harness runs on native Windows, WSL, or macOS and launches FTL for you (via Steam on
Windows). It reads/writes the FTL user folder, resolved per OS or overridden with FTL_SAVE_DIR.
More
Full design, architecture, and the in-game bridge live in the project repository: https://github.com/ogabrielluiz/ftl_bench.
Metadata
Release files for ftl-bench 0.1.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 | Provenance | Actions |
|---|---|---|---|---|
| ftl_bench-0.1.0.tar.gz | 116.8 kB | Without provenance | Details for ftl_bench-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| ftl_bench-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for ftl_bench-0.1.0-py3-none-any.whl |
Total release size: 235.6 kB
Release files / ftl_bench-0.1.0.tar.gz
| Download URL | ftl_bench-0.1.0.tar.gz |
|---|---|
| Size | 116.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
89b742059a9eac6f7e7d933759927018e3fe2d1fdf89bf7e6ccc9a5fc6f0f3f2
|
|
BLAKE2b-256 checksum How to use checksums |
a14cddb68014b0322e7e951e75552fe5ca20a6630248b692fa796a718348949a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / ftl_bench-0.1.0-py3-none-any.whl
| Download URL | ftl_bench-0.1.0-py3-none-any.whl |
|---|---|
| Size | 118.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
021664cc091b58338ae992e2e230119ec85acb1df33c11ce5e9efb5e9f9e6413
|
|
BLAKE2b-256 checksum How to use checksums |
124372254b98cac1c4e7673a4884d31248efe7653be35257b1281a15091356c1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for ftl-bench 0.1.0
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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.