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.7.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.7-py3-none-any.whl (1.3 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swe_lab-0.3.7.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.7.tar.gz
Algorithm Hash digest
SHA256 f646d35c328b2b2b32b6c9d672285686eff053a03024e115a49b670632a42b64
MD5 2e273248d757144fd8884a67f62026c9
BLAKE2b-256 e9a4dd062d13a625501c6678a7bab040a5bc4c9c397329f36a61433295bd4530

See more details on using hashes here.

Provenance

The following attestation bundles were made for swe_lab-0.3.7.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.7-py3-none-any.whl.

File metadata

  • Download URL: swe_lab-0.3.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 376c7fcf9e1bf83996d2ab8a2b8ec15e9471dec9b7973e3ffd97f4c4a7f41cf5
MD5 1a8e1f3168eaa4d0c7929dafb2a77bbd
BLAKE2b-256 8a80a06479755afc43de42ceb4b0e71a39d278db87137cf607296bb9c95203e2

See more details on using hashes here.

Provenance

The following attestation bundles were made for swe_lab-0.3.7-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

This release

0.3.7 This release

2 files

0.3.6

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