Skip to main content

SWE Lab

Tooling to build, run, enrich, audit and fix SWE (a.k.a. coding agent) evaluation data.

What's in it

  • The run engine (src/swe_lab/sandbox/, workflow/) — one sandboxed run of a coding agent over a benchmark instance, composed from three plug-in axes: a harness (claude_code, codex, grok_build), a dataset (SWE-Bench Pro, DeepSWE 1.1) and an eval method (unit-test grading). A workflow chains those steps — solve, grade, or both — and is run by name:

    python -m swe_lab run --list                                  # what can be run
    python -m swe_lab run rollout_and_unit_test <instance_id>     # solve, then grade
    
  • Benchmark integrity (src/swe_lab/git/, integrity/) — the task repo's future is stripped out of the container before the agent starts (and the strip is proved), and each run is swept for the ways an agent can reach the answer anyway. Detection, never a gate — ADR-0010.

  • Related-files annotation (src/swe_lab/pipelines/related_files/) — for each task instance, a ground-truth list of the code snippets a model needs to read to solve it. Shipped: 731/731 SWE-Bench Pro instances annotated & QA'd.

  • Quality auditing (planned) — flag "skewed" eval examples that no longer measure real capability (ambiguous specs vs. overly-specific tests, broken environments, contamination, brittle graders), in the spirit of OpenAI's Separating signal from noise in coding evaluations. Not started; the nearest shipped work is the benchmark-integrity detection above.

The overall roadmap and status live in docs/README.md; the codebase map, commands and hazards in docs/conventions.md.

Setup

Prerequisites

  • uv for environment and dependency management
  • direnv for auto-activating the environment
  • Python 3.13 (uv will install it automatically if missing)

1. Clone

git clone https://github.com/Luolc/swe-lab.git
cd swe-lab

Optional — the --capture proxy mode compiles the standalone cc-reverse-proxy Go project. It is not a submodule: by default it is looked up as a sibling checkout next to this repo (../cc-reverse-proxy/reverse_proxy.go); clone it there, or point CC_REVERSE_PROXY_SRC at its reverse_proxy.go. The default stream capture needs none of this.

2. Set up the environment

uv sync          # create .venv and install all (incl. dev) dependencies
direnv allow     # auto-activate the venv on cd (uses .envrc)

If you don't use direnv, activate manually with source .venv/bin/activate.

Install the pre-commit hooks (the full set is listed in docs/conventions.md):

uv run pre-commit install

3. Download the datasets

Dataset data files are gitignored and must be downloaded locally. See datasets/README.md for the list of available datasets and per-dataset download instructions.

Disclaimer

This is a personal project and is not affiliated with any company. The content does not reflect any specific company's projects, products or internal work.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

swe_lab-0.3.6.tar.gz (1.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

swe_lab-0.3.6-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

Details for the file swe_lab-0.3.6.tar.gz.

File metadata

  • Download URL: swe_lab-0.3.6.tar.gz
  • Upload date:
  • Size: 1.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for swe_lab-0.3.6.tar.gz
Algorithm Hash digest
SHA256 cfee0f47d0102c42646387f46b5387345bd7453fb5c7dc70aa9bd84a0758d913
MD5 5fa6289a46bd5d70ae19ccdd3a498e41
BLAKE2b-256 3287c7ee472698b1bfe4c30f61d115abae41e395352a0d4188137ba2094a61b8

See more details on using hashes here.

Provenance

The following attestation bundles were made for swe_lab-0.3.6.tar.gz:

Publisher: publish.yml on Luolc/swe-lab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file swe_lab-0.3.6-py3-none-any.whl.

File metadata

  • Download URL: swe_lab-0.3.6-py3-none-any.whl
  • Upload date:
  • Size: 1.3 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for swe_lab-0.3.6-py3-none-any.whl
Algorithm Hash digest
SHA256 6c2ff1b19dcb94bad7524869ed9cfc60ba3d6a840470e133d61276a015238b8a
MD5 e88389434b33fc733c57513bdce10977
BLAKE2b-256 1233110a517e8d7ace865e61cc326cadb8c27c9fa3698537efb6f82bb2ab197f

See more details on using hashes here.

Provenance

The following attestation bundles were made for swe_lab-0.3.6-py3-none-any.whl:

Publisher: publish.yml on Luolc/swe-lab

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.3.7

2 files

This release

0.3.6 This release

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.14

2 files

0.2.13

2 files

0.2.12

2 files

0.2.11

2 files

0.2.10

2 files

0.2.9

2 files

0.2.8

2 files

0.2.7

2 files

0.2.6

2 files

0.2.5

2 files

0.2.4

2 files

0.2.3

2 files

0.2.2

2 files

0.2.1

2 files

0.2.0

2 files

0.1.12

2 files

0.1.11

2 files

0.1.10

2 files

0.1.9

2 files

0.1.8

2 files

0.1.7

2 files

0.1.6

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

0.1.1

2 files

0.1.0

2 files

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