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.0.tar.gz (1.1 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.0-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: swe_lab-0.3.0.tar.gz
  • Upload date:
  • Size: 1.1 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.0.tar.gz
Algorithm Hash digest
SHA256 0c6a1be3dff2f12eb67e2f66b9f9a3563b337774ae0f39a49acc3a19e6012c86
MD5 cb29b03518ac2e832a96f71f5d455e52
BLAKE2b-256 3455260ee88e1af8ef1510458e060cc1e05ac028f638dc0b01cd89b7af41e050

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: swe_lab-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 1.2 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a693ba485adeaa71982df3b641e0261c7353221a7672b5bf9e8a8fe599911c57
MD5 c93d5246b957c0582a8c9ab3ee889b6d
BLAKE2b-256 ed6c97b63cf492950e277d9d870700684276d2b365eebdadb887b4710698a641

See more details on using hashes here.

Provenance

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

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.1

2 files

This release

0.3.0 This release

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