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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: mini-swe-agent
3
- Version: 1.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.11
35
+ Classifier: Programming Language :: Python :: 3.10
36
36
  Classifier: Programming Language :: Python :: 3 :: Only
37
- Requires-Python: >=3.11
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
  [![Slack](https://img.shields.io/badge/Slack-4A154B?style=for-the-badge&logo=slack&logoColor=white)](https://join.slack.com/t/swe-bench/shared_invite/zt-36pj9bu5s-o3_yXPZbaH2wVnxnss1EkQ)
77
77
  [![PyPI - Version](https://img.shields.io/pypi/v/mini-swe-agent?style=for-the-badge&logo=python&logoColor=white&labelColor=black&color=deeppink)](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
- - 🧪 **Researchers** who want to **benchmark, fine-tune or RL** without assumptions, bloat, or surprises
88
- - 🧑‍💻 **Hackers & power users** who like their tools like their scripts: **short, sharp, and readable**
89
- - 🐳 **Engineers** who want something **trivial to sandbox & to deploy anywhere**
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
- - **🐜 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),
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
- - **💪 Powerful:** Resolves 65% of GitHub issues in the [SWE-bench verified benchmark](https://www.swebench.com/).
96
- - **🤗 Friendly:** Comes with **two convenient UIs** that will turn this into your daily dev swiss army knife!
97
- - **🍀 Environments:** In addition to local envs, you can use **docker**, **podman**, **singularity**, **apptainer**, and more
98
- - **🧪 Tested:** [![Codecov](https://img.shields.io/codecov/c/github/swe-agent/mini-swe-agent?style=flat-square)](https://codecov.io/gh/SWE-agent/mini-swe-agent)
99
- - **🎓 Cutting edge:** Built by the Princeton & Stanford team behind [SWE-bench](https://swebench.com) and [SWE-agent](https://swe-agent.com).
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:** [![Codecov](https://img.shields.io/codecov/c/github/swe-agent/mini-swe-agent?style=flat-square)](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
- ## 🔥 Let's get started!
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
- ## 👀 More agentic AI
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.1.dist-info/licenses/LICENSE.md,sha256=D3luWPkdHAe7LBsdD4vzqDAXw6Xewb3G-uczss0uh1s,1094
2
- minisweagent/__init__.py,sha256=Ya6NfAmQ-XUSM7SEr46KdNQIEHt-sfo9TUXD_NvJEzU,1787
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=8fKSss-FQYJektvysLKwRWLNVBhJFpSjNn95xAj8EZM,4265
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=Xf-JKpD4S_yEhiqh7AZWPEGYVu5LrBnpf9teiAoz-wI,3117
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.1.dist-info/METADATA,sha256=cUtVzc_xyhGvM3VZ2QK3oD_horO54bpZQ1XLx5fSdf4,12281
43
- mini_swe_agent-1.1.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
44
- mini_swe_agent-1.1.1.dist-info/entry_points.txt,sha256=d1_yRbTaGjs1UXHa6JQK0sKDGBIVGm8oeW0k2kfbJgQ,182
45
- mini_swe_agent-1.1.1.dist-info/top_level.txt,sha256=zKF4t8bFpV87fdVABZt2Da-vnb4Vkh_CxkwQx5YT4Ew,13
46
- mini_swe_agent-1.1.1.dist-info/RECORD,,
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
@@ -8,7 +8,7 @@ This file provides:
8
8
  unless you want the static type checking.
9
9
  """
10
10
 
11
- __version__ = "1.1.1"
11
+ __version__ = "1.1.2"
12
12
 
13
13
  import os
14
14
  from pathlib import Path
@@ -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
- save_traj(agent_app.agent, Path("traj.json"), exit_status=agent_app.exit_status, result=agent_app.result)
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__)