mini-swe-agent 1.1.1__py3-none-any.whl → 1.1.2__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {mini_swe_agent-1.1.1.dist-info → mini_swe_agent-1.1.2.dist-info}/METADATA +35 -17
- {mini_swe_agent-1.1.1.dist-info → mini_swe_agent-1.1.2.dist-info}/RECORD +9 -9
- minisweagent/__init__.py +1 -1
- minisweagent/run/extra/config.py +3 -0
- minisweagent/run/mini.py +2 -5
- {mini_swe_agent-1.1.1.dist-info → mini_swe_agent-1.1.2.dist-info}/WHEEL +0 -0
- {mini_swe_agent-1.1.1.dist-info → mini_swe_agent-1.1.2.dist-info}/entry_points.txt +0 -0
- {mini_swe_agent-1.1.1.dist-info → mini_swe_agent-1.1.2.dist-info}/licenses/LICENSE.md +0 -0
- {mini_swe_agent-1.1.1.dist-info → mini_swe_agent-1.1.2.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mini-swe-agent
|
|
3
|
-
Version: 1.1.
|
|
3
|
+
Version: 1.1.2
|
|
4
4
|
Summary: Nano SWE Agent - A simple AI software engineering agent
|
|
5
5
|
Author-email: Kilian Lieret <kilian.lieret@posteo.de>, "Carlos E. Jimenez" <carlosej@princeton.edu>
|
|
6
6
|
License: MIT License
|
|
@@ -32,9 +32,9 @@ Classifier: Development Status :: 3 - Alpha
|
|
|
32
32
|
Classifier: Operating System :: OS Independent
|
|
33
33
|
Classifier: Intended Audience :: Developers
|
|
34
34
|
Classifier: License :: OSI Approved :: MIT License
|
|
35
|
-
Classifier: Programming Language :: Python :: 3.
|
|
35
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
36
36
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
37
|
-
Requires-Python: >=3.
|
|
37
|
+
Requires-Python: >=3.10
|
|
38
38
|
Description-Content-Type: text/markdown
|
|
39
39
|
License-File: LICENSE.md
|
|
40
40
|
Requires-Dist: pyyaml
|
|
@@ -67,8 +67,8 @@ Requires-Dist: mkdocs-glightbox; extra == "dev"
|
|
|
67
67
|
Dynamic: license-file
|
|
68
68
|
|
|
69
69
|
<div align="center">
|
|
70
|
-
|
|
71
70
|
<a href="https://mini-swe-agent.com/latest/"><img src="https://github.com/SWE-agent/mini-swe-agent/raw/main/docs/assets/mini-swe-agent-banner.svg" alt="mini-swe-agent banner" style="height: 7em"/></a>
|
|
71
|
+
</div>
|
|
72
72
|
|
|
73
73
|
<h1>The 100 line AI agent that solves GitHub issues & more</h1>
|
|
74
74
|
|
|
@@ -76,27 +76,25 @@ Dynamic: license-file
|
|
|
76
76
|
[](https://join.slack.com/t/swe-bench/shared_invite/zt-36pj9bu5s-o3_yXPZbaH2wVnxnss1EkQ)
|
|
77
77
|
[](https://pypi.org/project/mini-swe-agent/)
|
|
78
78
|
|
|
79
|
-
</div>
|
|
80
|
-
|
|
81
79
|
In 2024, [SWE-bench](https://github.com/swe-bench/SWE-bench) & [SWE-agent](https://github.com/swe-agent/swe-agent) helped kickstart the agentic AI for software revolution.
|
|
82
80
|
|
|
83
81
|
We now ask: **What if SWE-agent was 100x smaller, and still worked nearly as well?**
|
|
84
82
|
|
|
85
83
|
`mini` is for
|
|
86
84
|
|
|
87
|
-
-
|
|
88
|
-
-
|
|
89
|
-
-
|
|
85
|
+
- **Researchers** who want to **benchmark, fine-tune or RL** without assumptions, bloat, or surprises
|
|
86
|
+
- **Hackers & power users** who like their tools like their scripts: **short, sharp, and readable**
|
|
87
|
+
- **Engineers** who want something **trivial to sandbox & to deploy anywhere**
|
|
90
88
|
|
|
91
89
|
Here's some details:
|
|
92
90
|
|
|
93
|
-
-
|
|
91
|
+
- **Minimal**: Just [100 lines of python](https://github.com/SWE-agent/mini-swe-agent/blob/main/src/minisweagent/agents/default.py) (+100 total for [env](https://github.com/SWE-agent/mini-swe-agent/blob/main/src/minisweagent/environments/local.py),
|
|
94
92
|
[model](https://github.com/SWE-agent/mini-swe-agent/blob/main/src/minisweagent/models/litellm_model.py), [script](https://github.com/SWE-agent/mini-swe-agent/blob/main/src/minisweagent/run/hello_world.py)) — no fancy dependencies!
|
|
95
|
-
-
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
93
|
+
- **Powerful:** Resolves 65% of GitHub issues in the [SWE-bench verified benchmark](https://www.swebench.com/) (with Claude Sonnet 4).
|
|
94
|
+
- **Friendly:** Comes with **two convenient UIs** that will turn this into your daily dev swiss army knife!
|
|
95
|
+
- **Environments:** In addition to local envs, you can use **docker**, **podman**, **singularity**, **apptainer**, and more
|
|
96
|
+
- **Tested:** [](https://codecov.io/gh/SWE-agent/mini-swe-agent)
|
|
97
|
+
- **Cutting edge:** Built by the Princeton & Stanford team behind [SWE-bench](https://swebench.com) and [SWE-agent](https://swe-agent.com).
|
|
100
98
|
|
|
101
99
|
<details>
|
|
102
100
|
|
|
@@ -240,11 +238,13 @@ agent.run("Write a sudoku game")
|
|
|
240
238
|
</tr>
|
|
241
239
|
</table>
|
|
242
240
|
|
|
243
|
-
##
|
|
241
|
+
## Let's get started!
|
|
244
242
|
|
|
245
243
|
Install + run in virtual environment
|
|
246
244
|
|
|
247
245
|
```bash
|
|
246
|
+
pip install uv && uvx mini-swe-agent [-v]
|
|
247
|
+
# or
|
|
248
248
|
pip install pipx && pipx ensurepath && pipx run mini-swe-agent [-v]
|
|
249
249
|
```
|
|
250
250
|
|
|
@@ -272,7 +272,25 @@ Read more in our [documentation](https://mini-swe-agent.com/latest/):
|
|
|
272
272
|
* [FAQ](https://mini-swe-agent.com/latest/faq/)
|
|
273
273
|
* [Contribute!](https://mini-swe-agent.com/latest/contributing/)
|
|
274
274
|
|
|
275
|
-
##
|
|
275
|
+
## Bottom line
|
|
276
|
+
|
|
277
|
+
If you found this work helpful, please consider citing
|
|
278
|
+
|
|
279
|
+
<details>
|
|
280
|
+
<summary> SWE-agent citation</summary>
|
|
281
|
+
|
|
282
|
+
```bibtex
|
|
283
|
+
@inproceedings{yang2024sweagent,
|
|
284
|
+
title={{SWE}-agent: Agent-Computer Interfaces Enable Automated Software Engineering},
|
|
285
|
+
author={John Yang and Carlos E Jimenez and Alexander Wettig and Kilian Lieret and Shunyu Yao and Karthik R Narasimhan and Ofir Press},
|
|
286
|
+
booktitle={The Thirty-eighth Annual Conference on Neural Information Processing Systems},
|
|
287
|
+
year={2024},
|
|
288
|
+
url={https://arxiv.org/abs/2405.15793}
|
|
289
|
+
}
|
|
290
|
+
```
|
|
291
|
+
</details>
|
|
292
|
+
|
|
293
|
+
More agentic AI:
|
|
276
294
|
|
|
277
295
|
<div align="center">
|
|
278
296
|
<a href="https://github.com/SWE-agent/SWE-agent"><img src="https://github.com/SWE-agent/mini-swe-agent/raw/main/docs/assets/sweagent_logo_text_below.svg" alt="SWE-agent" height="120px"></a>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
mini_swe_agent-1.1.
|
|
2
|
-
minisweagent/__init__.py,sha256=
|
|
1
|
+
mini_swe_agent-1.1.2.dist-info/licenses/LICENSE.md,sha256=D3luWPkdHAe7LBsdD4vzqDAXw6Xewb3G-uczss0uh1s,1094
|
|
2
|
+
minisweagent/__init__.py,sha256=rxOCCkB39AUvm4SyDbBnhD4AtNHokjPx7dsujEiSJUM,1787
|
|
3
3
|
minisweagent/__main__.py,sha256=FIyAOiw--c3FQ2g240FOM1FdL0lk_PxSpixu0pQ7WFo,194
|
|
4
4
|
minisweagent/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
minisweagent/agents/__init__.py,sha256=cpjJLzg1IGxLM-tZpoMJV9S33ye13XtdBO0x7DU_Lrk,48
|
|
@@ -30,17 +30,17 @@ minisweagent/run/__init__.py,sha256=WIoYgHVl7iZF2YncrfV3IttupG6P5KogroKHKECka3A,
|
|
|
30
30
|
minisweagent/run/github_issue.py,sha256=GWOkGM09jOYV93p6xIM_kKWmC1yP_d5lprafWlqoBN0,2748
|
|
31
31
|
minisweagent/run/hello_world.py,sha256=erLnEwNmPFLxq3-8zyv66Vy1kIqMqQf97vISX7LrQXg,959
|
|
32
32
|
minisweagent/run/inspector.py,sha256=QnY3oYzm-yq3w9Jzs112Lco2Rg84vSocAWrQRVz_1lc,7127
|
|
33
|
-
minisweagent/run/mini.py,sha256=
|
|
33
|
+
minisweagent/run/mini.py,sha256=l_odLLCwYyRN0JO4NhV0POH1XgswrN4ssK1ZJva3wao,4087
|
|
34
34
|
minisweagent/run/mini_extra.py,sha256=ecA1PnTWElpO60G9RktvVLtUOf3bZ_ESmnSttS6izhQ,1465
|
|
35
35
|
minisweagent/run/extra/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
minisweagent/run/extra/config.py,sha256=
|
|
36
|
+
minisweagent/run/extra/config.py,sha256=paMHfplhKsqNmzhCmozxhXWHvBzBCUlwUWD8N7ytCPc,3277
|
|
37
37
|
minisweagent/run/extra/swebench.py,sha256=x50nFj4tdXkdoad6TkK7tP8CSgf-WkrY0IdSMe8_oX0,9564
|
|
38
38
|
minisweagent/run/extra/swebench_single.py,sha256=L3Kk4G65o3MCPLMEwGNIs77-AFf6Lfc8o1oxrbN-ZWM,1991
|
|
39
39
|
minisweagent/run/extra/utils/batch_progress.py,sha256=u__khJ-fipZLxTJu43LamGAtPUCqEZYEi8J7SfH7X6A,6211
|
|
40
40
|
minisweagent/run/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
41
41
|
minisweagent/run/utils/save.py,sha256=3_kuutw-uAGIhEoDawA3_FPeSz1vWuCWpJl80j5u7_s,893
|
|
42
|
-
mini_swe_agent-1.1.
|
|
43
|
-
mini_swe_agent-1.1.
|
|
44
|
-
mini_swe_agent-1.1.
|
|
45
|
-
mini_swe_agent-1.1.
|
|
46
|
-
mini_swe_agent-1.1.
|
|
42
|
+
mini_swe_agent-1.1.2.dist-info/METADATA,sha256=tFKestkDgQK2fhTaZrJQMGkqlkmZMRiokD5IFuQdb8U,12841
|
|
43
|
+
mini_swe_agent-1.1.2.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
44
|
+
mini_swe_agent-1.1.2.dist-info/entry_points.txt,sha256=d1_yRbTaGjs1UXHa6JQK0sKDGBIVGm8oeW0k2kfbJgQ,182
|
|
45
|
+
mini_swe_agent-1.1.2.dist-info/top_level.txt,sha256=zKF4t8bFpV87fdVABZt2Da-vnb4Vkh_CxkwQx5YT4Ew,13
|
|
46
|
+
mini_swe_agent-1.1.2.dist-info/RECORD,,
|
minisweagent/__init__.py
CHANGED
minisweagent/run/extra/config.py
CHANGED
|
@@ -58,6 +58,9 @@ def setup():
|
|
|
58
58
|
).strip()
|
|
59
59
|
if default_model:
|
|
60
60
|
set_key(global_config_file, "MSWEA_MODEL_NAME", default_model)
|
|
61
|
+
console.print(
|
|
62
|
+
"[bold yellow]If you already have your API keys set as environment variables, you can ignore the next question.[/bold yellow]"
|
|
63
|
+
)
|
|
61
64
|
key_name = prompt("Enter your API key name (e.g., ANTHROPIC_API_KEY): ").strip()
|
|
62
65
|
key_value = None
|
|
63
66
|
if key_name:
|
minisweagent/run/mini.py
CHANGED
|
@@ -48,8 +48,6 @@ def run_interactive(model: Model, env: Environment, agent_config: dict, task: st
|
|
|
48
48
|
exit_status, result = None, None
|
|
49
49
|
try:
|
|
50
50
|
exit_status, result = agent.run(task)
|
|
51
|
-
except KeyboardInterrupt:
|
|
52
|
-
console.print("\n[bold red]KeyboardInterrupt -- goodbye[/bold red]")
|
|
53
51
|
finally:
|
|
54
52
|
if output:
|
|
55
53
|
save_traj(agent, output, exit_status=exit_status, result=result)
|
|
@@ -65,10 +63,9 @@ def run_textual(model: Model, env: Environment, agent_config: dict, task: str, o
|
|
|
65
63
|
)
|
|
66
64
|
try:
|
|
67
65
|
agent_app.run()
|
|
68
|
-
except KeyboardInterrupt:
|
|
69
|
-
typer.echo("\nKeyboardInterrupt -- goodbye")
|
|
70
66
|
finally:
|
|
71
|
-
|
|
67
|
+
if output:
|
|
68
|
+
save_traj(agent_app.agent, output, exit_status=agent_app.exit_status, result=agent_app.result)
|
|
72
69
|
|
|
73
70
|
|
|
74
71
|
@app.command(help=__doc__)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|