Skip to main content

The official SWE-smith package - A toolkit for generating software engineering training data at scale.

Project description

Kawhi the SWE-smith


NeurIPS 2025 Datasets & Benchmarks Track - Spotlight 🔦


SWE-smith is a toolkit for training SWE-agents. You can:

  • Turn any Github repository into a SWE-gym.
  • Create unlimited tasks (e.g., file localization, program repair, SWE-bench) for that repo.
  • Train an LM to become a better SWE (SWE-agent-LM-32B).

⚒️ Build Environments

If you're interested in turning a GitHub repository into a SWE-gym, install the package from source.

[!TIP] SWE-smith requires Docker to create execution environments. SWE-smith was developed and tested on Ubuntu 22.04.4 LTS. We do not plan on supporting Windows or MacOS.

You can then build a dataset for the repository by...

  1. Creating an environment
  2. Synthesizing task instances
  3. Keep tasks that break 1+ unit tests
  4. Generating issue text for your tasks

🏋️ Train SWE-agent's

Training SWE-agent's using the SWE-smith dataset is super simple.

from swesmith.profiles import registry
from datasets import load_dataset
ds = load_dataset("SWE-bench/SWE-smith", split="train") # Loads all 52k task instances
for task in ds:
    rp = registry.get_from_inst(task)  # Get the RepoProfile for the task
    container = rp.get_container(task) # Returns pointer to a Docker container with the task initialized

    """TODO: Train!"""

SWE-smith has been used to

  • Fine-tune Qwen 2.5 Coder into SWE-agent-LM-32B (A +32% jump on SWE-bench Verified!) using SWE-agent [Tutorial]
  • Perform GRPO style reinforcement learning using SkyRL

💿 Resources

And there's more coming!

💫 Contributions

We're actively working on several follow ups! Check out the Contributing Guide for more.

Contact Person: John Yang, Kilian Lieret (Email: johnby@stanford.edu)

🪪 License

MIT. Check LICENSE for more information.

✍️ Citation

@inproceedings{yang2025swesmith,
  title={SWE-smith: Scaling Data for Software Engineering Agents}, 
  author={John Yang and Kilian Lieret and Carlos E. Jimenez and Alexander Wettig and Kabir Khandpur and Yanzhe Zhang and Binyuan Hui and Ofir Press and Ludwig Schmidt and Diyi Yang},
  booktitle = {Proceedings of the 39th Annual Conference on Neural Information Processing Systems (NeurIPS 2025 D&B Spotlight)},
  year={2025},
  eprint={2504.21798},
  archivePrefix={arXiv},
  primaryClass={cs.SE},
  url={https://arxiv.org/abs/2504.21798},
  note={arXiv:2504.21798, accepted at NeurIPS 2025 (Spotlight)}
}

📕 Our Other Projects

SWE-bench    SWE-agent    Mini-SWE-Agent    SWE-ReX    sb-cli

Project details


Download files

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

Source Distribution

swesmith-0.0.9.tar.gz (214.8 kB view details)

Uploaded Source

Built Distribution

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

swesmith-0.0.9-py3-none-any.whl (275.8 kB view details)

Uploaded Python 3

File details

Details for the file swesmith-0.0.9.tar.gz.

File metadata

  • Download URL: swesmith-0.0.9.tar.gz
  • Upload date:
  • Size: 214.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for swesmith-0.0.9.tar.gz
Algorithm Hash digest
SHA256 1726124ea43577853c6efb0a5a0db5fa3ce5c340e1bed479afa5bab85d8a69da
MD5 7755b690664cdf2ccb69e32c57450b80
BLAKE2b-256 0797e506b20fa59debc66e4660a86b0e98b45d32c87f23b994ad739e9c5d542a

See more details on using hashes here.

File details

Details for the file swesmith-0.0.9-py3-none-any.whl.

File metadata

  • Download URL: swesmith-0.0.9-py3-none-any.whl
  • Upload date:
  • Size: 275.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.9

File hashes

Hashes for swesmith-0.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 cbb98a52fc573b38032cde1179b6ce5f5862ce7c31d6931cfd5b8ad4969ce900
MD5 f406de20f0720b91cb99ebfbed9d2403
BLAKE2b-256 802d71b6ac5dadbe7199085de3815624775744d51b6c554efeeddfb12dc45ce1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page