Compare commits

..

No commits in common. "main" and "v0.85.6.dev" have entirely different histories.

43 changed files with 2239 additions and 3870 deletions

View file

@ -1,16 +1,5 @@
# Release history
### Aider v0.86.0
- Expanded GPT-5 model support across family variants and providers (OpenAI, Azure, OpenRouter), including dated and chat/mini/nano variants.
- Aider wrote 88% of the code in this release.
### Aider v0.85.5
- Enforced diff edit format for GPT-5 models.
- Added support for the reasoning_effort setting for GPT-5 models.
- Fixed model detection to correctly apply GPT-5 settings to versioned names (gpt-5 and gpt-5-2025-08-07).
### Aider v0.85.4
- Added support for openai/gpt-5

View file

@ -27,13 +27,13 @@ cog.out(text)
<a href="https://github.com/Aider-AI/aider/stargazers"><img alt="GitHub Stars" title="Total number of GitHub stars the Aider project has received"
src="https://img.shields.io/github/stars/Aider-AI/aider?style=flat-square&logo=github&color=f1c40f&labelColor=555555"/></a>
<a href="https://pypi.org/project/aider-chat/"><img alt="PyPI Downloads" title="Total number of installations via pip from PyPI"
src="https://img.shields.io/badge/📦%20Installs-4.1M-2ecc71?style=flat-square&labelColor=555555"/></a>
src="https://img.shields.io/badge/📦%20Installs-3.0M-2ecc71?style=flat-square&labelColor=555555"/></a>
<img alt="Tokens per week" title="Number of tokens processed weekly by Aider users"
src="https://img.shields.io/badge/📈%20Tokens%2Fweek-15B-3498db?style=flat-square&labelColor=555555"/>
<a href="https://openrouter.ai/#options-menu"><img alt="OpenRouter Ranking" title="Aider's ranking among applications on the OpenRouter platform"
src="https://img.shields.io/badge/🏆%20OpenRouter-Top%2020-9b59b6?style=flat-square&labelColor=555555"/></a>
<a href="https://aider.chat/HISTORY.html"><img alt="Singularity" title="Percentage of the new code in Aider's last release written by Aider itself"
src="https://img.shields.io/badge/🔄%20Singularity-88%25-e74c3c?style=flat-square&labelColor=555555"/></a>
src="https://img.shields.io/badge/🔄%20Singularity-21%25-e74c3c?style=flat-square&labelColor=555555"/></a>
<!--[[[end]]]-->
</p>

View file

@ -1,6 +1,6 @@
from packaging import version
__version__ = "0.86.2.dev"
__version__ = "0.85.6.dev"
safe_version = __version__
try:

View file

@ -12,6 +12,8 @@ Respect and use existing conventions, libraries, etc that are already present in
Take requests for changes to the supplied code.
If the request is ambiguous, ask questions.
Always reply to the user in {language}.
Once you understand the request you MUST:
1. Decide if you need to propose *SEARCH/REPLACE* edits to any files that haven't been added to the chat. You can create new files without asking!

View file

@ -15,6 +15,8 @@ Respect and use existing conventions, libraries, etc that are already present in
Take requests for changes to the supplied code.
If the request is ambiguous, ask questions.
Always reply to the user in {language}.
Once you understand the request you MUST:
1. Decide if you need to propose edits to any files that haven't been added to the chat. You can create new files without asking!

View file

@ -13,6 +13,8 @@ Respect and use existing conventions, libraries, etc that are already present in
Take requests for changes to the supplied code.
If the request is ambiguous, ask questions.
Always reply to the user in {language}.
For each file that needs to be changed, write out the changes similar to a unified diff like `diff -U0` would produce.
"""

View file

@ -7,6 +7,9 @@ class WholeFilePrompts(CoderPrompts):
main_system = """Act as an expert software developer.
Take requests for changes to the supplied code.
If the request is ambiguous, ask questions.
Always reply to the user in {language}.
{final_reminders}
Once you understand the request you MUST:
1. Determine if any code changes are needed.

View file

@ -20,7 +20,6 @@ EXCEPTIONS = [
"The API provider is not able to authenticate you. Check your API key.",
),
ExInfo("AzureOpenAIError", True, None),
ExInfo("BadGatewayError", True, "The API provider's servers are down or overloaded."),
ExInfo("BadRequestError", False, None),
ExInfo("BudgetExceededError", True, None),
ExInfo(
@ -29,8 +28,6 @@ EXCEPTIONS = [
"The API provider has refused the request due to a safety policy about the content.",
),
ExInfo("ContextWindowExceededError", False, None), # special case handled in base_coder
ExInfo("ErrorEventError", True, None),
ExInfo("ImageFetchError", False, "The API provider was unable to fetch one or more images."),
ExInfo("InternalServerError", True, "The API provider's servers are down or overloaded."),
ExInfo("InvalidRequestError", True, None),
ExInfo("JSONSchemaValidationError", True, None),

View file

@ -94,12 +94,10 @@ MODEL_ALIASES = {
# Other models
"deepseek": "deepseek/deepseek-chat",
"flash": "gemini/gemini-2.5-flash",
"flash-lite": "gemini/gemini-2.5-flash-lite",
"quasar": "openrouter/openrouter/quasar-alpha",
"r1": "deepseek/deepseek-reasoner",
"gemini-2.5-pro": "gemini/gemini-2.5-pro",
"gemini-3-pro-preview": "gemini/gemini-3-pro-preview",
"gemini": "gemini/gemini-3-pro-preview",
"gemini": "gemini/gemini-2.5-pro",
"gemini-exp": "gemini/gemini-2.5-pro-exp-03-25",
"grok3": "xai/grok-3-beta",
"optimus": "openrouter/openrouter/optimus-alpha",

View file

@ -21,4 +21,3 @@ tree-sitter language implementations:
* [https://github.com/tree-sitter/tree-sitter-ruby](https://github.com/tree-sitter/tree-sitter-ruby) — licensed under the MIT License.
* [https://github.com/tree-sitter/tree-sitter-rust](https://github.com/tree-sitter/tree-sitter-rust) — licensed under the MIT License.
* [https://github.com/tree-sitter/tree-sitter-typescript](https://github.com/tree-sitter/tree-sitter-typescript) — licensed under the MIT License.
* [https://github.com/starelmanma/tree-sitter-fortran](https://github.com/starelmanma/tree-sitter-fortran) — licensed under the MIT License.

View file

@ -1,15 +0,0 @@
;; derived from: https://github.com/stadelmanma/tree-sitter-fortran
;; License: MIT
(module_statement
(name) @name.definition.class) @definition.class
(function_statement
name: (name) @name.definition.function) @definition.function
(subroutine_statement
name: (name) @name.definition.function) @definition.function
(module_procedure_statement
name: (name) @name.definition.function) @definition.function

View file

@ -1,3 +0,0 @@
(function (variable) @name.definition.function)
(bind (variable) @name.definition.function)
(signature (variable) @name.definition.type)

View file

@ -1,60 +0,0 @@
;; derived from: https://github.com/tree-sitter/tree-sitter-julia
;; License: MIT
(module
name: (identifier) @name.definition.module) @definition.module
(module
name: (scoped_identifier) @name.definition.module) @definition.module
(struct_definition
name: (type_identifier) @name.definition.class) @definition.class
(mutable_struct_definition
name: (type_identifier) @name.definition.class) @definition.class
(abstract_type_declaration
name: (type_identifier) @name.definition.class) @definition.class
(constant_assignment
left: (identifier) @name.definition.class) @definition.class
(function_definition
name: (identifier) @name.definition.function) @definition.function
(function_definition
name: (scoped_identifier) @name.definition.function) @definition.function
(assignment
left: (call_expression
function: (identifier) @name.definition.function)) @definition.function
(method_definition
name: (identifier) @name.definition.method) @definition.method
(macro_definition
name: (identifier) @name.definition.macro) @definition.macro
(macro_call
name: (identifier) @name.reference.call) @reference.call
(call_expression
function: (identifier) @name.reference.call) @reference.call
(call_expression
function: (scoped_identifier) @name.reference.call) @reference.call
(type_expression
name: (type_identifier) @name.reference.type) @reference.type
(constant_assignment
left: (identifier) @name.definition.constant) @definition.constant
(export_statement
(identifier) @name.reference.export) @reference.export
(using_statement
(identifier) @name.reference.module) @reference.module
(import_statement
(identifier) @name.reference.module) @reference.module

View file

@ -1,3 +0,0 @@
(FnProto) @name.definition.function
(VarDecl "const" @name.definition.constant)
(VarDecl "var" @name.definition.variable)

View file

@ -1,32 +1,16 @@
{
"deepseek/deepseek-reasoner": {
"max_tokens": 64000,
"max_input_tokens": 128000,
"max_output_tokens": 64000,
"input_cost_per_token": 0.00000028,
"input_cost_per_token_cache_hit": 0.000000028,
"cache_read_input_token_cost": 0.000000028,
"cache_creation_input_token_cost": 0.0,
"output_cost_per_token": 0.00000042,
"litellm_provider": "deepseek",
"mode": "chat",
//"supports_function_calling": true,
"supports_assistant_prefill": true,
"supports_tool_choice": false,
"supports_prompt_caching": true
},
"deepseek/deepseek-chat": {
"deepseek-reasoner": {
"max_tokens": 8192,
"max_input_tokens": 128000,
"max_input_tokens": 64000,
"max_output_tokens": 8192,
"input_cost_per_token": 0.00000028,
"input_cost_per_token_cache_hit": 0.000000028,
"cache_read_input_token_cost": 0.000000028,
"input_cost_per_token": 0.00000055,
"input_cost_per_token_cache_hit": 0.00000014,
"cache_read_input_token_cost": 0.00000014,
"cache_creation_input_token_cost": 0.0,
"output_cost_per_token": 0.00000042,
"output_cost_per_token": 0.00000219,
"litellm_provider": "deepseek",
"mode": "chat",
//"supports_function_calling": true,
//"supports_function_calling": true,
"supports_assistant_prefill": true,
//"supports_tool_choice": true,
"supports_prompt_caching": true

View file

@ -1465,48 +1465,6 @@
weak_model_name: openrouter/google/gemini-2.5-flash
accepts_settings: ["thinking_tokens"]
- name: gemini/gemini-3-pro-preview
overeager: true
edit_format: diff-fenced
use_repo_map: true
weak_model_name: gemini/gemini-2.5-flash
use_temperature: false
accepts_settings: ["thinking_tokens"]
- name: vertex_ai/gemini-3-pro-preview
edit_format: diff-fenced
use_repo_map: true
weak_model_name: vertex_ai/gemini-2.5-flash
overeager: true
editor_model_name: vertex_ai/gemini-2.5-flash
accepts_settings: ["thinking_tokens"]
- name: openrouter/google/gemini-3-pro-preview
overeager: true
edit_format: diff-fenced
use_repo_map: true
weak_model_name: openrouter/google/gemini-2.5-flash
accepts_settings: ["thinking_tokens"]
- name: gemini/gemini-3-flash-preview
overeager: true
edit_format: diff-fenced
use_repo_map: true
use_temperature: false
accepts_settings: ["thinking_tokens"]
- name: vertex_ai/gemini-3-flash-preview
overeager: true
edit_format: diff-fenced
use_repo_map: true
accepts_settings: ["thinking_tokens"]
- name: openrouter/google/gemini-3-flash-preview
overeager: true
edit_format: diff-fenced
use_repo_map: true
accepts_settings: ["thinking_tokens"]
#- name: openrouter/qwen/qwen3-235b-a22b
# system_prompt_prefix: "/no_think"
# use_temperature: 0.7
@ -1588,20 +1546,6 @@
editor_edit_format: editor-diff
accepts_settings: ["thinking_tokens"]
- name: bedrock/global.anthropic.claude-sonnet-4-5-20250929-v1:0
edit_format: diff
weak_model_name: bedrock/anthropic.claude-3-5-haiku-20241022-v1:0
use_repo_map: true
examples_as_sys_msg: false
extra_params:
extra_headers:
anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19
max_tokens: 64000
cache_control: true
editor_model_name: bedrock/global.anthropic.claude-sonnet-4-5-20250929-v1:0
editor_edit_format: editor-diff
accepts_settings: ["thinking_tokens"]
- name: bedrock_converse/anthropic.claude-sonnet-4-20250514-v1:0
edit_format: diff
weak_model_name: bedrock_converse/anthropic.claude-3-5-haiku-20241022-v1:0
@ -1875,524 +1819,3 @@
editor_edit_format: editor-diff
accepts_settings: ["thinking_tokens"]
# GPT-5 family
- name: gpt-5
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
overeager: true
- name: gpt-5-pro
streaming: false
edit_format: diff
weak_model_name: gpt-5-mini
use_repo_map: true
editor_model_name: gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: "Formatting re-enabled. "
accepts_settings: ["reasoning_effort"]
examples_as_sys_msg: true
use_temperature: false
- name: gpt-5-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5.1
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
overeager: true
- name: gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5.2-pro
streaming: false
edit_format: diff
weak_model_name: gpt-5-mini
use_repo_map: true
editor_model_name: gpt-5.2
editor_edit_format: editor-diff
system_prompt_prefix: "Formatting re-enabled. "
accepts_settings: ["reasoning_effort"]
examples_as_sys_msg: true
use_temperature: false
- name: gpt-5.2
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
overeager: true
- name: gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5-mini
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5-nano
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5-chat
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5-chat-latest
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5.1-chat
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5.1-chat-latest
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5.2-chat-latest
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5-codex
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: gpt-5.1-codex
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5-pro
streaming: false
edit_format: diff
weak_model_name: azure/gpt-5-mini
use_repo_map: true
editor_model_name: azure/gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: "Formatting re-enabled. "
accepts_settings: ["reasoning_effort"]
examples_as_sys_msg: true
use_temperature: false
- name: azure/gpt-5-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5.1
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5.2
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5-mini
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5-nano
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5-chat
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5-chat-latest
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5.1-chat
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5.1-chat-latest
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: azure/gpt-5.2-chat-latest
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5-pro
streaming: false
edit_format: diff
weak_model_name: openai/gpt-5-mini
use_repo_map: true
editor_model_name: openai/gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: "Formatting re-enabled. "
accepts_settings: ["reasoning_effort"]
examples_as_sys_msg: true
use_temperature: false
- name: openai/gpt-5-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5.1
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5.2-pro
streaming: false
edit_format: diff
weak_model_name: openai/gpt-5-mini
use_repo_map: true
editor_model_name: openai/gpt-5.2
editor_edit_format: editor-diff
system_prompt_prefix: "Formatting re-enabled. "
accepts_settings: ["reasoning_effort"]
examples_as_sys_msg: true
use_temperature: false
- name: openai/gpt-5.2
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5-mini
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5-nano
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5-chat
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5-chat-latest
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5.1-chat
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5.1-chat-latest
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openai/gpt-5.2-chat-latest
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5-pro
streaming: false
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-mini
use_repo_map: true
editor_model_name: openrouter/openai/gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: "Formatting re-enabled. "
accepts_settings: ["reasoning_effort"]
examples_as_sys_msg: true
use_temperature: false
- name: openrouter/openai/gpt-5-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5.1
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5.2-pro
streaming: false
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-mini
use_repo_map: true
editor_model_name: openrouter/openai/gpt-5.2
editor_edit_format: editor-diff
system_prompt_prefix: "Formatting re-enabled. "
accepts_settings: ["reasoning_effort"]
examples_as_sys_msg: true
use_temperature: false
- name: openrouter/openai/gpt-5.2
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5-mini
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5-nano
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5-chat
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5-chat-latest
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5.1-chat
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5.1-chat-latest
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]
- name: openrouter/openai/gpt-5.2-chat-latest
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings: ["reasoning_effort"]

View file

@ -24,17 +24,6 @@ cog.out(text)
]]]-->
### Aider v0.86.0
- Expanded GPT-5 model support across family variants and providers (OpenAI, Azure, OpenRouter), including dated and chat/mini/nano variants.
- Aider wrote 88% of the code in this release.
### Aider v0.85.5
- Enforced diff edit format for GPT-5 models.
- Added support for the reasoning_effort setting for GPT-5 models.
- Fixed model detection to correctly apply GPT-5 settings to versioned names (gpt-5 and gpt-5-2025-08-07).
### Aider v0.85.4
- Added support for openai/gpt-5

File diff suppressed because it is too large Load diff

View file

@ -1682,175 +1682,4 @@
date: 2025-07-17
versions: 0.85.3.dev
seconds_per_case: 67.6
total_cost: 1.2357
- dirname: 2025-08-06-04-54-48--gpt-oss-120b-high-polyglot
test_cases: 225
model: gpt-oss-120b (high)
edit_format: diff
commit_hash: 1af0e59
pass_rate_1: 13.8
pass_rate_2: 41.8
pass_num_1: 31
pass_num_2: 94
percent_cases_well_formed: 79.1
error_outputs: 95
num_malformed_responses: 77
num_with_malformed_responses: 47
user_asks: 142
lazy_comments: 0
syntax_errors: 0
indentation_errors: 0
exhausted_context_windows: 0
prompt_tokens: 3123768
completion_tokens: 856495
test_timeouts: 4
total_tests: 225
command: aider --model openrouter/openai/gpt-oss-120b --reasoning-effort high
date: 2025-08-06
versions: 0.85.3.dev
seconds_per_case: 35.5
total_cost: 0.7406
- dirname: 2025-08-23-15-47-21--gpt-5-high
test_cases: 225
model: gpt-5 (high)
edit_format: diff
commit_hash: 32faf82
reasoning_effort: high
pass_rate_1: 52.0
pass_rate_2: 88.0
pass_num_1: 117
pass_num_2: 198
percent_cases_well_formed: 91.6
error_outputs: 23
num_malformed_responses: 22
num_with_malformed_responses: 19
user_asks: 96
lazy_comments: 3
syntax_errors: 0
indentation_errors: 0
exhausted_context_windows: 0
prompt_tokens: 2675561
completion_tokens: 2623429
test_timeouts: 3
total_tests: 225
command: aider --model openai/gpt-5
date: 2025-08-23
versions: 0.86.2.dev
seconds_per_case: 194.0
total_cost: 29.0829
- dirname: 2025-08-25-13-23-27--gpt-5-medium
test_cases: 225
model: gpt-5 (medium)
edit_format: diff
commit_hash: 32faf82
reasoning_effort: medium
pass_rate_1: 49.8
pass_rate_2: 86.7
pass_num_1: 112
pass_num_2: 195
percent_cases_well_formed: 88.4
error_outputs: 40
num_malformed_responses: 40
num_with_malformed_responses: 26
user_asks: 102
lazy_comments: 0
syntax_errors: 0
indentation_errors: 0
exhausted_context_windows: 0
prompt_tokens: 2827261
completion_tokens: 1468799
test_timeouts: 0
total_tests: 225
command: aider --model openai/gpt-5
date: 2025-08-25
versions: 0.86.2.dev
seconds_per_case: 118.7
total_cost: 17.6930
- dirname: 2025-08-25-14-16-37--gpt-5-low
test_cases: 225
model: gpt-5 (low)
edit_format: diff
commit_hash: 32faf82
reasoning_effort: low
pass_rate_1: 43.1
pass_rate_2: 81.3
pass_num_1: 97
pass_num_2: 183
percent_cases_well_formed: 86.7
error_outputs: 46
num_malformed_responses: 46
num_with_malformed_responses: 30
user_asks: 113
lazy_comments: 1
syntax_errors: 0
indentation_errors: 0
exhausted_context_windows: 0
prompt_tokens: 2534059
completion_tokens: 779568
test_timeouts: 1
total_tests: 225
command: aider --model openai/gpt-5
date: 2025-08-25
versions: 0.86.2.dev
seconds_per_case: 62.4
total_cost: 10.3713
- dirname: 2025-10-03-09-45-34--deepseek-v3.2-reasoner
test_cases: 225
model: DeepSeek-V3.2-Exp (Reasoner)
edit_format: diff
commit_hash: cbb5376
pass_rate_1: 39.6
pass_rate_2: 74.2
pass_num_1: 89
pass_num_2: 167
percent_cases_well_formed: 97.3
error_outputs: 8
num_malformed_responses: 6
num_with_malformed_responses: 6
user_asks: 67
lazy_comments: 0
syntax_errors: 0
indentation_errors: 0
exhausted_context_windows: 1
prompt_tokens: 2191446
completion_tokens: 1645129
test_timeouts: 1
total_tests: 225
command: aider --model deepseek/deepseek-reasoner
date: 2025-10-03
versions: 0.86.2.dev
seconds_per_case: 291.2
total_cost: 1.3045
- dirname: 2025-10-03-09-21-36--deepseek-v3.2-chat
test_cases: 225
model: DeepSeek-V3.2-Exp (Chat)
edit_format: diff
commit_hash: cbb5376
pass_rate_1: 38.7
pass_rate_2: 70.2
pass_num_1: 87
pass_num_2: 158
percent_cases_well_formed: 98.2
error_outputs: 6
num_malformed_responses: 4
num_with_malformed_responses: 4
user_asks: 60
lazy_comments: 0
syntax_errors: 0
indentation_errors: 0
exhausted_context_windows: 1
prompt_tokens: 2266868
completion_tokens: 573477
test_timeouts: 4
total_tests: 225
command: aider --model deepseek/deepseek-chat
date: 2025-10-03
versions: 0.86.2.dev
seconds_per_case: 104.0
total_cost: 0.8756
total_cost: 1.2357

View file

@ -32,11 +32,6 @@
.side-bar {
background: linear-gradient(135deg, #ffffff 0%, rgba(20, 176, 20, 0.01) 25%, rgba(20, 176, 20, 0.04) 40%, rgba(220, 230, 255, 0.4) 60%, rgba(205, 218, 255, 0.4) 80%, #F5F6FA 100%);
}
@media (max-width: 50em) {
.ea-ad--sidebar { display: none; }
.ea-ad--mobile { display: block; }
}
</style>
<link rel="alternate" type="application/rss+xml" title="RSS Feed" href="{{ site.url }}/feed.xml">
<link rel="preconnect" href="https://fonts.gstatic.com">

File diff suppressed because it is too large Load diff

View file

@ -314,139 +314,6 @@ cog.out("```\n")
use_repo_map: true
reminder: sys
- name: azure/gpt-5
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-chat
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-chat-latest
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-mini
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-nano
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5-pro
edit_format: diff
weak_model_name: azure/gpt-5-mini
use_repo_map: true
examples_as_sys_msg: true
use_temperature: false
streaming: false
editor_model_name: azure/gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: 'Formatting re-enabled. '
accepts_settings:
- reasoning_effort
- name: azure/gpt-5.1
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5.1-chat
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5.1-chat-latest
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5.2
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: azure/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/gpt-5.2-chat-latest
edit_format: diff
weak_model_name: azure/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: azure/o1
edit_format: diff
weak_model_name: azure/gpt-4o-mini
@ -622,20 +489,6 @@ cog.out("```\n")
accepts_settings:
- thinking_tokens
- name: bedrock/global.anthropic.claude-sonnet-4-5-20250929-v1:0
edit_format: diff
weak_model_name: bedrock/anthropic.claude-3-5-haiku-20241022-v1:0
use_repo_map: true
extra_params:
extra_headers:
anthropic-beta: prompt-caching-2024-07-31,pdfs-2024-09-25,output-128k-2025-02-19
max_tokens: 64000
cache_control: true
editor_model_name: bedrock/global.anthropic.claude-sonnet-4-5-20250929-v1:0
editor_edit_format: editor-diff
accepts_settings:
- thinking_tokens
- name: bedrock/us.anthropic.claude-3-7-sonnet-20250219-v1:0
edit_format: diff
weak_model_name: bedrock/us.anthropic.claude-3-5-haiku-20241022-v1:0
@ -1110,23 +963,6 @@ cog.out("```\n")
accepts_settings:
- thinking_tokens
- name: gemini/gemini-3-flash-preview
edit_format: diff-fenced
use_repo_map: true
overeager: true
use_temperature: false
accepts_settings:
- thinking_tokens
- name: gemini/gemini-3-pro-preview
edit_format: diff-fenced
weak_model_name: gemini/gemini-2.5-flash
use_repo_map: true
overeager: true
use_temperature: false
accepts_settings:
- thinking_tokens
- name: gemini/gemini-exp-1206
edit_format: diff
use_repo_map: true
@ -1260,171 +1096,6 @@ cog.out("```\n")
lazy: true
reminder: sys
- name: gpt-5
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
overeager: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-chat
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-chat-latest
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-codex
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-mini
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-nano
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5-pro
edit_format: diff
weak_model_name: gpt-5-mini
use_repo_map: true
examples_as_sys_msg: true
use_temperature: false
streaming: false
editor_model_name: gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: 'Formatting re-enabled. '
accepts_settings:
- reasoning_effort
- name: gpt-5.1
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
overeager: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.1-chat
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.1-chat-latest
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.1-codex
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.2
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
overeager: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.2-chat-latest
edit_format: diff
weak_model_name: gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: gpt-5.2-pro
edit_format: diff
weak_model_name: gpt-5-mini
use_repo_map: true
examples_as_sys_msg: true
use_temperature: false
streaming: false
editor_model_name: gpt-5.2
editor_edit_format: editor-diff
system_prompt_prefix: 'Formatting re-enabled. '
accepts_settings:
- reasoning_effort
- name: groq/llama3-70b-8192
edit_format: diff
weak_model_name: groq/llama3-8b-8192
@ -1570,152 +1241,6 @@ cog.out("```\n")
lazy: true
reminder: sys
- name: openai/gpt-5
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-chat
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-chat-latest
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-mini
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-nano
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5-pro
edit_format: diff
weak_model_name: openai/gpt-5-mini
use_repo_map: true
examples_as_sys_msg: true
use_temperature: false
streaming: false
editor_model_name: openai/gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: 'Formatting re-enabled. '
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.1
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.1-chat
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.1-chat-latest
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.2
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.2-chat-latest
edit_format: diff
weak_model_name: openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openai/gpt-5.2-pro
edit_format: diff
weak_model_name: openai/gpt-5-mini
use_repo_map: true
examples_as_sys_msg: true
use_temperature: false
streaming: false
editor_model_name: openai/gpt-5.2
editor_edit_format: editor-diff
system_prompt_prefix: 'Formatting re-enabled. '
accepts_settings:
- reasoning_effort
- name: openai/o1
edit_format: diff
weak_model_name: openai/gpt-4o-mini
@ -2040,21 +1565,6 @@ cog.out("```\n")
accepts_settings:
- thinking_tokens
- name: openrouter/google/gemini-3-flash-preview
edit_format: diff-fenced
use_repo_map: true
overeager: true
accepts_settings:
- thinking_tokens
- name: openrouter/google/gemini-3-pro-preview
edit_format: diff-fenced
weak_model_name: openrouter/google/gemini-2.5-flash
use_repo_map: true
overeager: true
accepts_settings:
- thinking_tokens
- name: openrouter/google/gemma-3-27b-it
use_system_prompt: false
@ -2094,152 +1604,6 @@ cog.out("```\n")
examples_as_sys_msg: true
editor_edit_format: editor-diff
- name: openrouter/openai/gpt-5
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-chat
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-chat-latest
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-mini
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-mini-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-nano
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-nano-2025-08-07
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5-pro
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-mini
use_repo_map: true
examples_as_sys_msg: true
use_temperature: false
streaming: false
editor_model_name: openrouter/openai/gpt-5
editor_edit_format: editor-diff
system_prompt_prefix: 'Formatting re-enabled. '
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.1
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.1-2025-11-13
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.1-chat
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.1-chat-latest
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.2
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.2-2025-12-11
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano-2025-08-07
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.2-chat-latest
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-nano
use_repo_map: true
use_temperature: false
accepts_settings:
- reasoning_effort
- name: openrouter/openai/gpt-5.2-pro
edit_format: diff
weak_model_name: openrouter/openai/gpt-5-mini
use_repo_map: true
examples_as_sys_msg: true
use_temperature: false
streaming: false
editor_model_name: openrouter/openai/gpt-5.2
editor_edit_format: editor-diff
system_prompt_prefix: 'Formatting re-enabled. '
accepts_settings:
- reasoning_effort
- name: openrouter/openai/o1
edit_format: diff
weak_model_name: openrouter/openai/gpt-4o-mini
@ -2611,22 +1975,6 @@ cog.out("```\n")
accepts_settings:
- thinking_tokens
- name: vertex_ai/gemini-3-flash-preview
edit_format: diff-fenced
use_repo_map: true
overeager: true
accepts_settings:
- thinking_tokens
- name: vertex_ai/gemini-3-pro-preview
edit_format: diff-fenced
weak_model_name: vertex_ai/gemini-2.5-flash
use_repo_map: true
overeager: true
editor_model_name: vertex_ai/gemini-2.5-flash
accepts_settings:
- thinking_tokens
- name: xai/grok-3-beta
edit_format: diff
use_repo_map: true

View file

@ -80,10 +80,8 @@ for alias, model in sorted(MODEL_ALIASES.items()):
- `4o`: gpt-4o
- `deepseek`: deepseek/deepseek-chat
- `flash`: gemini/gemini-2.5-flash
- `flash-lite`: gemini/gemini-2.5-flash-lite
- `gemini`: gemini/gemini-3-pro-preview
- `gemini`: gemini/gemini-2.5-pro
- `gemini-2.5-pro`: gemini/gemini-2.5-pro
- `gemini-3-pro-preview`: gemini/gemini-3-pro-preview
- `gemini-exp`: gemini/gemini-2.5-pro-exp-03-25
- `grok3`: xai/grok-3-beta
- `haiku`: claude-3-5-haiku-20241022

View file

@ -264,15 +264,21 @@ tr:hover { background-color: #f5f5f5; }
</style>
<table>
<tr><th>Model Name</th><th class='right'>Total Tokens</th><th class='right'>Percent</th></tr>
<tr><td>gemini/gemini-2.5-pro</td><td class='right'>222,047</td><td class='right'>23.7%</td></tr>
<tr><td>gpt-5</td><td class='right'>211,072</td><td class='right'>22.6%</td></tr>
<tr><td>gemini/gemini-3-flash-preview</td><td class='right'>187,836</td><td class='right'>20.1%</td></tr>
<tr><td>None</td><td class='right'>168,988</td><td class='right'>18.1%</td></tr>
<tr><td>gemini/gemini-3-pro-preview</td><td class='right'>81,851</td><td class='right'>8.8%</td></tr>
<tr><td>o3-pro</td><td class='right'>36,620</td><td class='right'>3.9%</td></tr>
<tr><td>gemini/gemini-2.5-flash-lite</td><td class='right'>15,470</td><td class='right'>1.7%</td></tr>
<tr><td>gemini/gemini-2.5-flash-lite-preview-06-17</td><td class='right'>11,371</td><td class='right'>1.2%</td></tr>
<tr><td>gemini/gemini-2.5-pro</td><td class='right'>349,929</td><td class='right'>66.6%</td></tr>
<tr><td>anthropic/claude-sonnet-4-20250514</td><td class='right'>76,669</td><td class='right'>14.6%</td></tr>
<tr><td>openrouter/moonshotai/kimi-k2</td><td class='right'>32,483</td><td class='right'>6.2%</td></tr>
<tr><td>o3</td><td class='right'>22,003</td><td class='right'>4.2%</td></tr>
<tr><td>None</td><td class='right'>17,389</td><td class='right'>3.3%</td></tr>
<tr><td>o3-pro</td><td class='right'>12,707</td><td class='right'>2.4%</td></tr>
<tr><td>xai/grok-4</td><td class='right'>9,573</td><td class='right'>1.8%</td></tr>
<tr><td>openrouter/REDACTED</td><td class='right'>2,342</td><td class='right'>0.4%</td></tr>
<tr><td>openai/REDACTED</td><td class='right'>1,970</td><td class='right'>0.4%</td></tr>
<tr><td>claude-opus-4-20250514</td><td class='right'>502</td><td class='right'>0.1%</td></tr>
</table>
{: .note :}
Some models show as REDACTED, because they are new or unpopular models.
Aider's analytics only records the names of "well known" LLMs.
<!--[[[end]]]-->
## How are the "aider wrote xx% of code" stats computed?

View file

@ -110,11 +110,11 @@ cog.out(get_supported_languages_md())
| fennel | .fnl | | ✓ |
| firrtl | .fir | | ✓ |
| fish | .fish | | ✓ |
| fortran | .f | | ✓ |
| fortran | .f03 | | ✓ |
| fortran | .f08 | | ✓ |
| fortran | .f90 | | ✓ |
| fortran | .f95 | | ✓ |
| fortran | .f | | ✓ |
| fortran | .f03 | | ✓ |
| fortran | .f08 | | ✓ |
| fortran | .f90 | | ✓ |
| fortran | .f95 | | ✓ |
| func | .fc | | ✓ |
| gdscript | .gd | | ✓ |
| gitattributes | .gitattributes | | ✓ |
@ -133,7 +133,7 @@ cog.out(get_supported_languages_md())
| gstlaunch | .launch | | ✓ |
| hack | .hack | | ✓ |
| hare | .ha | | ✓ |
| haskell | .hs | | ✓ |
| haskell | .hs | | ✓ |
| haxe | .hx | | ✓ |
| hcl | .hcl | ✓ | ✓ |
| hcl | .tf | ✓ | ✓ |
@ -153,7 +153,7 @@ cog.out(get_supported_languages_md())
| json | .json | | ✓ |
| jsonnet | .jsonnet | | ✓ |
| jsonnet | .libsonnet | | ✓ |
| julia | .jl | | ✓ |
| julia | .jl | | ✓ |
| kconfig | Kconfig | | ✓ |
| kdl | .kdl | | ✓ |
| kotlin | .kt | ✓ | ✓ |
@ -257,7 +257,7 @@ cog.out(get_supported_languages_md())
| xml | .xml | | ✓ |
| xml | .xsl | | ✓ |
| yuck | .yuck | | ✓ |
| zig | .zig | | ✓ |
| zig | .zig | | ✓ |
<!--[[[end]]]-->

View file

@ -285,6 +285,6 @@ mod_dates = [get_last_modified_date(file) for file in files]
latest_mod_date = max(mod_dates)
cog.out(f"{latest_mod_date.strftime('%B %d, %Y.')}")
]]]-->
November 20, 2025.
August 07, 2025.
<!--[[[end]]]-->
</p>

View file

@ -59,7 +59,6 @@ cog.out(''.join(lines))
- ALEPHALPHA_API_KEY
- ANTHROPIC_API_KEY
- ANYSCALE_API_KEY
- ARK_API_KEY
- AZURE_AI_API_KEY
- AZURE_API_KEY
- AZURE_OPENAI_API_KEY
@ -71,7 +70,6 @@ cog.out(''.join(lines))
- CO_API_KEY
- CODESTRAL_API_KEY
- COHERE_API_KEY
- COMPACTIFAI_API_KEY
- DASHSCOPE_API_KEY
- DATABRICKS_API_KEY
- DEEPINFRA_API_KEY
@ -97,19 +95,15 @@ cog.out(''.join(lines))
- OPENAI_LIKE_API_KEY
- OPENROUTER_API_KEY
- OR_API_KEY
- OVHCLOUD_API_KEY
- PALM_API_KEY
- PERPLEXITYAI_API_KEY
- PREDIBASE_API_KEY
- PROVIDER_API_KEY
- REPLICATE_API_KEY
- SAMBANOVA_API_KEY
- TOGETHERAI_API_KEY
- USER_API_KEY
- VERCEL_AI_GATEWAY_API_KEY
- VOLCENGINE_API_KEY
- VOYAGE_API_KEY
- WANDB_API_KEY
- WATSONX_API_KEY
- WX_API_KEY
- XAI_API_KEY

View file

@ -57,30 +57,13 @@ cog.out(model_list)
]]]-->
- anthropic.claude-3-5-haiku-20241022-v1:0
- anthropic.claude-3-5-sonnet-20241022-v2:0
- anthropic.claude-3-7-sonnet-20240620-v1:0
- anthropic.claude-3-7-sonnet-20250219-v1:0
- anthropic.claude-haiku-4-5-20251001-v1:0
- anthropic.claude-haiku-4-5@20251001
- anthropic.claude-opus-4-1-20250805-v1:0
- anthropic.claude-opus-4-20250514-v1:0
- anthropic.claude-opus-4-5-20251101-v1:0
- anthropic.claude-sonnet-4-20250514-v1:0
- anthropic.claude-sonnet-4-5-20250929-v1:0
- apac.anthropic.claude-3-5-sonnet-20241022-v2:0
- apac.anthropic.claude-haiku-4-5-20251001-v1:0
- apac.anthropic.claude-sonnet-4-20250514-v1:0
- au.anthropic.claude-haiku-4-5-20251001-v1:0
- au.anthropic.claude-sonnet-4-5-20250929-v1:0
- azure_ai/claude-haiku-4-5
- azure_ai/claude-opus-4-1
- azure_ai/claude-sonnet-4-5
- azure_ai/deepseek-v3.2
- azure_ai/deepseek-v3.2-speciale
- azure_ai/mistral-medium-2505
- bedrock/us-gov-east-1/claude-sonnet-4-5-20250929-v1:0
- bedrock/us-gov-west-1/anthropic.claude-3-7-sonnet-20250219-v1:0
- bedrock/us-gov-west-1/claude-sonnet-4-5-20250929-v1:0
- bedrock/us.anthropic.claude-3-5-haiku-20241022-v1:0
- claude-3-5-haiku-20241022
- claude-3-5-haiku-latest
- claude-3-5-sonnet-20240620
@ -93,66 +76,37 @@ cog.out(model_list)
- claude-3-opus-latest
- claude-4-opus-20250514
- claude-4-sonnet-20250514
- claude-haiku-4-5
- claude-haiku-4-5-20251001
- claude-opus-4-1
- claude-opus-4-1-20250805
- claude-opus-4-20250514
- claude-opus-4-5
- claude-opus-4-5-20251101
- claude-sonnet-4-20250514
- claude-sonnet-4-5
- claude-sonnet-4-5-20250929
- claude-sonnet-4-5-20250929-v1:0
- codestral/codestral-2405
- codestral/codestral-latest
- databricks/databricks-claude-3-7-sonnet
- databricks/databricks-claude-haiku-4-5
- databricks/databricks-claude-opus-4
- databricks/databricks-claude-opus-4-1
- databricks/databricks-claude-opus-4-5
- databricks/databricks-claude-sonnet-4
- databricks/databricks-claude-sonnet-4-1
- databricks/databricks-claude-sonnet-4-5
- deepseek/deepseek-chat
- deepseek/deepseek-coder
- deepseek/deepseek-r1
- deepseek/deepseek-reasoner
- deepseek/deepseek-v3
- deepseek/deepseek-v3.2
- eu.anthropic.claude-3-5-haiku-20241022-v1:0
- eu.anthropic.claude-3-5-sonnet-20241022-v2:0
- eu.anthropic.claude-3-7-sonnet-20250219-v1:0
- eu.anthropic.claude-haiku-4-5-20251001-v1:0
- eu.anthropic.claude-opus-4-1-20250805-v1:0
- eu.anthropic.claude-opus-4-20250514-v1:0
- eu.anthropic.claude-opus-4-5-20251101-v1:0
- eu.anthropic.claude-sonnet-4-20250514-v1:0
- eu.anthropic.claude-sonnet-4-5-20250929-v1:0
- global.anthropic.claude-haiku-4-5-20251001-v1:0
- global.anthropic.claude-opus-4-5-20251101-v1:0
- global.anthropic.claude-sonnet-4-20250514-v1:0
- global.anthropic.claude-sonnet-4-5-20250929-v1:0
- jp.anthropic.claude-haiku-4-5-20251001-v1:0
- jp.anthropic.claude-sonnet-4-5-20250929-v1:0
- mistral/codestral-2405
- mistral/codestral-2508
- mistral/codestral-latest
- mistral/codestral-mamba-latest
- mistral/devstral-2512
- mistral/devstral-medium-2507
- mistral/devstral-small-2505
- mistral/devstral-small-2507
- mistral/labs-devstral-small-2512
- mistral/magistral-medium-2506
- mistral/magistral-medium-2509
- mistral/magistral-medium-latest
- mistral/magistral-small-2506
- mistral/magistral-small-latest
- mistral/mistral-large-2402
- mistral/mistral-large-2407
- mistral/mistral-large-2411
- mistral/mistral-large-3
- mistral/mistral-large-latest
- mistral/mistral-medium
- mistral/mistral-medium-2312
@ -172,26 +126,15 @@ cog.out(model_list)
- mistral/pixtral-large-latest
- openrouter/anthropic/claude-3.5-sonnet
- openrouter/anthropic/claude-3.7-sonnet
- openrouter/anthropic/claude-haiku-4.5
- openrouter/anthropic/claude-opus-4
- openrouter/anthropic/claude-opus-4.1
- openrouter/anthropic/claude-opus-4.5
- openrouter/anthropic/claude-sonnet-4
- openrouter/anthropic/claude-sonnet-4.5
- openrouter/deepseek/deepseek-chat-v3.1
- openrouter/deepseek/deepseek-r1
- openrouter/deepseek/deepseek-r1-0528
- openrouter/deepseek/deepseek-v3.2
- openrouter/deepseek/deepseek-v3.2-exp
- us.anthropic.claude-3-5-haiku-20241022-v1:0
- us.anthropic.claude-3-5-sonnet-20241022-v2:0
- us.anthropic.claude-3-7-sonnet-20250219-v1:0
- us.anthropic.claude-haiku-4-5-20251001-v1:0
- us.anthropic.claude-opus-4-1-20250805-v1:0
- us.anthropic.claude-opus-4-20250514-v1:0
- us.anthropic.claude-opus-4-5-20251101-v1:0
- us.anthropic.claude-sonnet-4-20250514-v1:0
- us.anthropic.claude-sonnet-4-5-20250929-v1:0
- vertex_ai/claude-3-5-haiku
- vertex_ai/claude-3-5-haiku@20241022
- vertex_ai/claude-3-5-sonnet
@ -205,20 +148,12 @@ cog.out(model_list)
- vertex_ai/claude-3-opus@20240229
- vertex_ai/claude-3-sonnet
- vertex_ai/claude-3-sonnet@20240229
- vertex_ai/claude-haiku-4-5@20251001
- vertex_ai/claude-opus-4
- vertex_ai/claude-opus-4-1
- vertex_ai/claude-opus-4-1@20250805
- vertex_ai/claude-opus-4-5
- vertex_ai/claude-opus-4-5@20251101
- vertex_ai/claude-opus-4@20250514
- vertex_ai/claude-sonnet-4
- vertex_ai/claude-sonnet-4-5
- vertex_ai/claude-sonnet-4-5@20250929
- vertex_ai/claude-sonnet-4@20250514
- vertex_ai/deepseek-ai/deepseek-r1-0528-maas
- vertex_ai/deepseek-ai/deepseek-v3.1-maas
- vertex_ai/deepseek-ai/deepseek-v3.2-maas
<!--[[[end]]]-->

View file

@ -69,11 +69,11 @@ cog.out(text)
]]]-->
<a href="https://github.com/Aider-AI/aider" class="github-badge badge-stars" title="Total number of GitHub stars the Aider project has received">
<span class="badge-label">⭐ GitHub Stars</span>
<span class="badge-value">39K</span>
<span class="badge-value">36K</span>
</a>
<a href="https://pypi.org/project/aider-chat/" class="github-badge badge-installs" title="Total number of installations via pip from PyPI">
<span class="badge-label">📦 Installs</span>
<span class="badge-value">4.1M</span>
<span class="badge-value">3.0M</span>
</a>
<div class="github-badge badge-tokens" title="Number of tokens processed weekly by Aider users">
<span class="badge-label">📈 Tokens/week</span>
@ -85,7 +85,7 @@ cog.out(text)
</a>
<a href="/HISTORY.html" class="github-badge badge-coded" title="Percentage of the new code in Aider's last release written by Aider itself">
<span class="badge-label">🔄 Singularity</span>
<span class="badge-value">88%</span>
<span class="badge-value">21%</span>
</a>
<!--[[[end]]]-->
</div>

View file

@ -1,4 +1,4 @@
FROM python:3.10-slim-bookworm AS base
FROM python:3.10-slim AS base
# Install system dependencies
RUN apt-get update && \

View file

@ -4,7 +4,7 @@ aiohappyeyeballs==2.6.1
# via
# -c requirements/common-constraints.txt
# aiohttp
aiohttp==3.13.2
aiohttp==3.12.15
# via
# -c requirements/common-constraints.txt
# litellm
@ -16,17 +16,13 @@ annotated-types==0.7.0
# via
# -c requirements/common-constraints.txt
# pydantic
anyio==4.12.0
anyio==4.10.0
# via
# -c requirements/common-constraints.txt
# httpx
# openai
# watchfiles
asgiref==3.11.0
# via
# -c requirements/common-constraints.txt
# mixpanel
attrs==25.4.0
attrs==25.3.0
# via
# -c requirements/common-constraints.txt
# aiohttp
@ -37,30 +33,30 @@ backoff==2.2.1
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
# posthog
beautifulsoup4==4.14.3
beautifulsoup4==4.13.4
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
cachetools==6.2.4
cachetools==5.5.2
# via
# -c requirements/common-constraints.txt
# google-auth
certifi==2025.11.12
certifi==2025.8.3
# via
# -c requirements/common-constraints.txt
# httpcore
# httpx
# requests
cffi==2.0.0
cffi==1.17.1
# via
# -c requirements/common-constraints.txt
# sounddevice
# soundfile
charset-normalizer==3.4.4
charset-normalizer==3.4.2
# via
# -c requirements/common-constraints.txt
# requests
click==8.3.1
click==8.2.1
# via
# -c requirements/common-constraints.txt
# litellm
@ -81,11 +77,7 @@ distro==1.9.0
# -c requirements/common-constraints.txt
# openai
# posthog
fastuuid==0.14.0
# via
# -c requirements/common-constraints.txt
# litellm
filelock==3.20.1
filelock==3.18.0
# via
# -c requirements/common-constraints.txt
# huggingface-hub
@ -93,12 +85,12 @@ flake8==7.3.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
frozenlist==1.8.0
frozenlist==1.7.0
# via
# -c requirements/common-constraints.txt
# aiohttp
# aiosignal
fsspec==2025.12.0
fsspec==2025.7.0
# via
# -c requirements/common-constraints.txt
# huggingface-hub
@ -114,17 +106,17 @@ google-ai-generativelanguage==0.6.15
# via
# -c requirements/common-constraints.txt
# google-generativeai
google-api-core[grpc]==2.28.1
google-api-core[grpc]==2.25.1
# via
# -c requirements/common-constraints.txt
# google-ai-generativelanguage
# google-api-python-client
# google-generativeai
google-api-python-client==2.187.0
google-api-python-client==2.178.0
# via
# -c requirements/common-constraints.txt
# google-generativeai
google-auth==2.45.0
google-auth==2.40.3
# via
# -c requirements/common-constraints.txt
# google-ai-generativelanguage
@ -132,15 +124,15 @@ google-auth==2.45.0
# google-api-python-client
# google-auth-httplib2
# google-generativeai
google-auth-httplib2==0.3.0
google-auth-httplib2==0.2.0
# via
# -c requirements/common-constraints.txt
# google-api-python-client
google-generativeai==0.8.6
google-generativeai==0.8.5
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
googleapis-common-protos==1.72.0
googleapis-common-protos==1.70.0
# via
# -c requirements/common-constraints.txt
# google-api-core
@ -149,13 +141,12 @@ grep-ast==0.9.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
grpcio==1.67.1
grpcio==1.74.0
# via
# -c requirements/common-constraints.txt
# google-api-core
# grpcio-status
# litellm
grpcio-status==1.67.1
grpcio-status==1.71.2
# via
# -c requirements/common-constraints.txt
# google-api-core
@ -163,7 +154,7 @@ h11==0.16.0
# via
# -c requirements/common-constraints.txt
# httpcore
hf-xet==1.2.0
hf-xet==1.1.7
# via
# -c requirements/common-constraints.txt
# huggingface-hub
@ -171,7 +162,7 @@ httpcore==1.0.9
# via
# -c requirements/common-constraints.txt
# httpx
httplib2==0.31.0
httplib2==0.22.0
# via
# -c requirements/common-constraints.txt
# google-api-python-client
@ -180,13 +171,12 @@ httpx==0.28.1
# via
# -c requirements/common-constraints.txt
# litellm
# mixpanel
# openai
huggingface-hub==0.36.0
huggingface-hub==0.34.3
# via
# -c requirements/common-constraints.txt
# tokenizers
idna==3.11
idna==3.10
# via
# -c requirements/common-constraints.txt
# anyio
@ -206,32 +196,32 @@ jinja2==3.1.6
# via
# -c requirements/common-constraints.txt
# litellm
jiter==0.12.0
jiter==0.10.0
# via
# -c requirements/common-constraints.txt
# openai
json5==0.12.1
json5==0.12.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
jsonschema==4.25.1
jsonschema==4.25.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
# litellm
jsonschema-specifications==2025.9.1
jsonschema-specifications==2025.4.1
# via
# -c requirements/common-constraints.txt
# jsonschema
litellm==1.80.10
litellm==1.75.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
markdown-it-py==4.0.0
markdown-it-py==3.0.0
# via
# -c requirements/common-constraints.txt
# rich
markupsafe==3.0.3
markupsafe==3.0.2
# via
# -c requirements/common-constraints.txt
# jinja2
@ -243,7 +233,7 @@ mdurl==0.1.2
# via
# -c requirements/common-constraints.txt
# markdown-it-py
mixpanel==5.0.0
mixpanel==4.10.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
@ -251,7 +241,7 @@ mslex==1.3.0
# via
# -c requirements/common-constraints.txt
# oslex
multidict==6.7.0
multidict==6.6.3
# via
# -c requirements/common-constraints.txt
# aiohttp
@ -265,7 +255,7 @@ numpy==1.26.4
# -c requirements/common-constraints.txt
# scipy
# soundfile
openai==2.13.0
openai==1.99.1
# via
# -c requirements/common-constraints.txt
# litellm
@ -287,24 +277,24 @@ pexpect==4.9.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
pillow==12.0.0
pillow==11.3.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
posthog==7.4.0
posthog==6.4.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
prompt-toolkit==3.0.52
prompt-toolkit==3.0.51
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
propcache==0.4.1
propcache==0.3.2
# via
# -c requirements/common-constraints.txt
# aiohttp
# yarl
proto-plus==1.27.0
proto-plus==1.26.1
# via
# -c requirements/common-constraints.txt
# google-ai-generativelanguage
@ -318,7 +308,7 @@ protobuf==5.29.5
# googleapis-common-protos
# grpcio-status
# proto-plus
psutil==7.1.3
psutil==7.0.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
@ -339,18 +329,17 @@ pycodestyle==2.14.0
# via
# -c requirements/common-constraints.txt
# flake8
pycparser==2.23
pycparser==2.22
# via
# -c requirements/common-constraints.txt
# cffi
pydantic==2.12.5
pydantic==2.11.7
# via
# -c requirements/common-constraints.txt
# google-generativeai
# litellm
# mixpanel
# openai
pydantic-core==2.41.5
pydantic-core==2.33.2
# via
# -c requirements/common-constraints.txt
# pydantic
@ -366,15 +355,15 @@ pygments==2.19.2
# via
# -c requirements/common-constraints.txt
# rich
pypandoc==1.16.2
pypandoc==1.15
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
pyparsing==3.2.5
pyparsing==3.2.3
# via
# -c requirements/common-constraints.txt
# httplib2
pyperclip==1.11.0
pyperclip==1.9.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
@ -382,25 +371,25 @@ python-dateutil==2.9.0.post0
# via
# -c requirements/common-constraints.txt
# posthog
python-dotenv==1.2.1
python-dotenv==1.1.1
# via
# -c requirements/common-constraints.txt
# litellm
pyyaml==6.0.3
pyyaml==6.0.2
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
# huggingface-hub
referencing==0.37.0
referencing==0.36.2
# via
# -c requirements/common-constraints.txt
# jsonschema
# jsonschema-specifications
regex==2025.11.3
regex==2025.7.34
# via
# -c requirements/common-constraints.txt
# tiktoken
requests==2.32.5
requests==2.32.4
# via
# -c requirements/common-constraints.txt
# google-api-core
@ -408,11 +397,11 @@ requests==2.32.5
# mixpanel
# posthog
# tiktoken
rich==14.2.0
rich==14.1.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
rpds-py==0.30.0
rpds-py==0.27.0
# via
# -c requirements/common-constraints.txt
# jsonschema
@ -425,13 +414,14 @@ scipy==1.15.3
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
shtab==1.8.0
shtab==1.7.2
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
six==1.17.0
# via
# -c requirements/common-constraints.txt
# mixpanel
# posthog
# python-dateutil
smmap==5.0.2
@ -441,12 +431,13 @@ smmap==5.0.2
sniffio==1.3.1
# via
# -c requirements/common-constraints.txt
# anyio
# openai
socksio==1.0.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
sounddevice==0.5.3
sounddevice==0.5.2
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
@ -454,15 +445,15 @@ soundfile==0.13.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
soupsieve==2.8.1
soupsieve==2.7
# via
# -c requirements/common-constraints.txt
# beautifulsoup4
tiktoken==0.12.0
tiktoken==0.10.0
# via
# -c requirements/common-constraints.txt
# litellm
tokenizers==0.22.1
tokenizers==0.21.4
# via
# -c requirements/common-constraints.txt
# litellm
@ -479,19 +470,19 @@ tree-sitter-c-sharp==0.23.1
# via
# -c requirements/common-constraints.txt
# tree-sitter-language-pack
tree-sitter-embedded-template==0.25.0
tree-sitter-embedded-template==0.23.2
# via
# -c requirements/common-constraints.txt
# tree-sitter-language-pack
tree-sitter-language-pack==0.13.0
tree-sitter-language-pack==0.9.0
# via
# -c requirements/common-constraints.txt
# grep-ast
tree-sitter-yaml==0.7.2
tree-sitter-yaml==0.7.1
# via
# -c requirements/common-constraints.txt
# tree-sitter-language-pack
typing-extensions==4.15.0
typing-extensions==4.14.1
# via
# -c requirements/common-constraints.txt
# aiosignal
@ -505,7 +496,7 @@ typing-extensions==4.15.0
# pydantic-core
# referencing
# typing-inspection
typing-inspection==0.4.2
typing-inspection==0.4.1
# via
# -c requirements/common-constraints.txt
# pydantic
@ -513,19 +504,20 @@ uritemplate==4.2.0
# via
# -c requirements/common-constraints.txt
# google-api-python-client
urllib3==2.6.2
urllib3==2.5.0
# via
# -c requirements/common-constraints.txt
# mixpanel
# requests
watchfiles==1.1.1
watchfiles==1.1.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements.in
wcwidth==0.2.14
wcwidth==0.2.13
# via
# -c requirements/common-constraints.txt
# prompt-toolkit
yarl==1.22.0
yarl==1.20.1
# via
# -c requirements/common-constraints.txt
# aiohttp
@ -535,4 +527,4 @@ zipp==3.23.0
# importlib-metadata
tree-sitter==0.23.2; python_version < "3.10"
tree-sitter==0.25.2; python_version >= "3.10"
tree-sitter==0.24.0; python_version >= "3.10"

View file

@ -2,27 +2,25 @@
# uv pip compile --no-strip-extras --output-file=requirements/common-constraints.txt requirements/requirements.in requirements/requirements-browser.in requirements/requirements-dev.in requirements/requirements-help.in requirements/requirements-playwright.in
aiohappyeyeballs==2.6.1
# via aiohttp
aiohttp==3.13.2
aiohttp==3.12.15
# via
# huggingface-hub
# litellm
# llama-index-core
aiosignal==1.4.0
# via aiohttp
aiosqlite==0.22.0
aiosqlite==0.21.0
# via llama-index-core
altair==6.0.0
altair==5.5.0
# via streamlit
annotated-types==0.7.0
# via pydantic
anyio==4.12.0
anyio==4.10.0
# via
# httpx
# openai
# watchfiles
asgiref==3.11.0
# via mixpanel
attrs==25.4.0
attrs==25.3.0
# via
# aiohttp
# jsonschema
@ -33,30 +31,30 @@ backoff==2.2.1
# posthog
banks==2.2.0
# via llama-index-core
beautifulsoup4==4.14.3
beautifulsoup4==4.13.4
# via -r requirements/requirements.in
blinker==1.9.0
# via streamlit
build==1.3.0
# via pip-tools
cachetools==6.2.4
cachetools==5.5.2
# via
# google-auth
# streamlit
certifi==2025.11.12
certifi==2025.8.3
# via
# httpcore
# httpx
# requests
cffi==2.0.0
cffi==1.17.1
# via
# sounddevice
# soundfile
cfgv==3.5.0
cfgv==3.4.0
# via pre-commit
charset-normalizer==3.4.4
charset-normalizer==3.4.2
# via requests
click==8.3.1
click==8.2.1
# via
# litellm
# nltk
@ -65,7 +63,7 @@ click==8.3.1
# typer
codespell==2.4.1
# via -r requirements/requirements-dev.in
cogapp==3.6.0
cogapp==3.5.1
# via -r requirements/requirements-dev.in
colorama==0.4.6
# via griffe
@ -77,13 +75,17 @@ cycler==0.12.1
# via matplotlib
dataclasses-json==0.6.7
# via llama-index-core
deprecated==1.3.1
deprecated==1.2.18
# via
# banks
# llama-index-core
# llama-index-instrumentation
diff-match-patch==20241021
# via -r requirements/requirements.in
dill==0.4.0
# via
# multiprocess
# pathos
dirtyjson==1.0.8
# via llama-index-core
diskcache==5.6.3
@ -94,9 +96,7 @@ distro==1.9.0
# via
# openai
# posthog
fastuuid==0.14.0
# via litellm
filelock==3.20.1
filelock==3.18.0
# via
# huggingface-hub
# torch
@ -106,13 +106,13 @@ filetype==1.2.0
# via llama-index-core
flake8==7.3.0
# via -r requirements/requirements.in
fonttools==4.61.1
fonttools==4.59.0
# via matplotlib
frozenlist==1.8.0
frozenlist==1.7.0
# via
# aiohttp
# aiosignal
fsspec==2025.12.0
fsspec==2025.7.0
# via
# huggingface-hub
# llama-index-core
@ -125,16 +125,16 @@ gitpython==3.1.45
# streamlit
google-ai-generativelanguage==0.6.15
# via google-generativeai
google-api-core[grpc]==2.28.1
google-api-core[grpc]==2.25.1
# via
# google-ai-generativelanguage
# google-api-python-client
# google-cloud-bigquery
# google-cloud-core
# google-generativeai
google-api-python-client==2.187.0
google-api-python-client==2.178.0
# via google-generativeai
google-auth==2.45.0
google-auth==2.40.3
# via
# google-ai-generativelanguage
# google-api-core
@ -143,44 +143,43 @@ google-auth==2.45.0
# google-cloud-bigquery
# google-cloud-core
# google-generativeai
google-auth-httplib2==0.3.0
google-auth-httplib2==0.2.0
# via google-api-python-client
google-cloud-bigquery==3.39.0
google-cloud-bigquery==3.35.1
# via -r requirements/requirements-dev.in
google-cloud-core==2.5.0
google-cloud-core==2.4.3
# via google-cloud-bigquery
google-crc32c==1.8.0
google-crc32c==1.7.1
# via google-resumable-media
google-generativeai==0.8.6
google-generativeai==0.8.5
# via -r requirements/requirements.in
google-resumable-media==2.8.0
google-resumable-media==2.7.2
# via google-cloud-bigquery
googleapis-common-protos==1.72.0
googleapis-common-protos==1.70.0
# via
# google-api-core
# grpcio-status
greenlet==3.3.0
greenlet==3.2.3
# via
# playwright
# sqlalchemy
grep-ast==0.9.0
# via -r requirements/requirements.in
griffe==1.15.0
griffe==1.10.0
# via banks
grpcio==1.67.1
grpcio==1.74.0
# via
# google-api-core
# grpcio-status
# litellm
grpcio-status==1.67.1
grpcio-status==1.71.2
# via google-api-core
h11==0.16.0
# via httpcore
hf-xet==1.2.0
hf-xet==1.1.7
# via huggingface-hub
httpcore==1.0.9
# via httpx
httplib2==0.31.0
httplib2==0.22.0
# via
# google-api-python-client
# google-auth-httplib2
@ -188,17 +187,16 @@ httpx==0.28.1
# via
# litellm
# llama-index-core
# mixpanel
# openai
huggingface-hub[inference]==0.36.0
huggingface-hub[inference]==0.34.3
# via
# llama-index-embeddings-huggingface
# sentence-transformers
# tokenizers
# transformers
identify==2.6.15
identify==2.6.12
# via pre-commit
idna==3.11
idna==3.10
# via
# anyio
# httpx
@ -212,7 +210,7 @@ importlib-metadata==7.2.1
# litellm
importlib-resources==6.5.2
# via -r requirements/requirements.in
iniconfig==2.3.0
iniconfig==2.1.0
# via pytest
jinja2==3.1.6
# via
@ -221,60 +219,62 @@ jinja2==3.1.6
# litellm
# pydeck
# torch
jiter==0.12.0
jiter==0.10.0
# via openai
joblib==1.5.3
joblib==1.5.1
# via
# nltk
# scikit-learn
json5==0.12.1
json5==0.12.0
# via -r requirements/requirements.in
jsonschema==4.25.1
jsonschema==4.25.0
# via
# -r requirements/requirements.in
# altair
# litellm
jsonschema-specifications==2025.9.1
jsonschema-specifications==2025.4.1
# via jsonschema
kiwisolver==1.4.9
kiwisolver==1.4.8
# via matplotlib
litellm==1.80.10
litellm==1.75.0
# via -r requirements/requirements.in
llama-index-core==0.14.10
llama-index-core==0.13.0
# via llama-index-embeddings-huggingface
llama-index-embeddings-huggingface==0.6.1
llama-index-embeddings-huggingface==0.6.0
# via -r requirements/requirements-help.in
llama-index-instrumentation==0.4.2
llama-index-instrumentation==0.4.0
# via llama-index-workflows
llama-index-workflows==2.11.5
llama-index-workflows==1.3.0
# via llama-index-core
lox==1.0.0
lox==0.13.0
# via -r requirements/requirements-dev.in
markdown-it-py==4.0.0
markdown-it-py==3.0.0
# via rich
markupsafe==3.0.3
markupsafe==3.0.2
# via jinja2
marshmallow==3.26.1
# via dataclasses-json
matplotlib==3.10.8
matplotlib==3.10.5
# via -r requirements/requirements-dev.in
mccabe==0.7.0
# via flake8
mdurl==0.1.2
# via markdown-it-py
mixpanel==5.0.0
mixpanel==4.10.1
# via -r requirements/requirements.in
mpmath==1.3.0
# via sympy
mslex==1.3.0
# via oslex
multidict==6.7.0
multidict==6.6.3
# via
# aiohttp
# yarl
multiprocess==0.70.18
# via pathos
mypy-extensions==1.1.0
# via typing-inspect
narwhals==2.14.0
narwhals==2.0.1
# via altair
nest-asyncio==1.6.0
# via llama-index-core
@ -283,7 +283,7 @@ networkx==3.4.2
# -r requirements/requirements.in
# llama-index-core
# torch
nltk==3.9.2
nltk==3.9.1
# via llama-index-core
nodeenv==1.9.1
# via pre-commit
@ -300,7 +300,7 @@ numpy==1.26.4
# soundfile
# streamlit
# transformers
openai==2.13.0
openai==1.99.1
# via litellm
oslex==0.1.3
# via -r requirements/requirements.in
@ -316,46 +316,53 @@ packaging==25.0
# pytest
# streamlit
# transformers
pandas==2.3.3
pandas==2.3.1
# via
# -r requirements/requirements-dev.in
# streamlit
pathos==0.3.4
# via lox
pathspec==0.12.1
# via
# -r requirements/requirements.in
# grep-ast
pexpect==4.9.0
# via -r requirements/requirements.in
pillow==12.0.0
pillow==11.3.0
# via
# -r requirements/requirements.in
# llama-index-core
# matplotlib
# sentence-transformers
# streamlit
pip==25.3
pip==25.2
# via pip-tools
pip-tools==7.5.2
pip-tools==7.5.0
# via -r requirements/requirements-dev.in
platformdirs==4.5.1
platformdirs==4.3.8
# via
# banks
# llama-index-core
# virtualenv
playwright==1.57.0
playwright==1.54.0
# via -r requirements/requirements-playwright.in
pluggy==1.6.0
# via pytest
posthog==7.4.0
posthog==6.4.1
# via -r requirements/requirements.in
pre-commit==4.5.1
pox==0.3.6
# via pathos
ppft==1.7.7
# via pathos
pre-commit==4.2.0
# via -r requirements/requirements-dev.in
prompt-toolkit==3.0.52
prompt-toolkit==3.0.51
# via -r requirements/requirements.in
propcache==0.4.1
propcache==0.3.2
# via
# aiohttp
# yarl
proto-plus==1.27.0
proto-plus==1.26.1
# via
# google-ai-generativelanguage
# google-api-core
@ -368,11 +375,11 @@ protobuf==5.29.5
# grpcio-status
# proto-plus
# streamlit
psutil==7.1.3
psutil==7.0.0
# via -r requirements/requirements.in
ptyprocess==0.7.0
# via pexpect
pyarrow==22.0.0
pyarrow==21.0.0
# via streamlit
pyasn1==0.6.1
# via
@ -382,9 +389,9 @@ pyasn1-modules==0.4.2
# via google-auth
pycodestyle==2.14.0
# via flake8
pycparser==2.23
pycparser==2.22
# via cffi
pydantic==2.12.5
pydantic==2.11.7
# via
# banks
# google-generativeai
@ -392,9 +399,8 @@ pydantic==2.12.5
# llama-index-core
# llama-index-instrumentation
# llama-index-workflows
# mixpanel
# openai
pydantic-core==2.41.5
pydantic-core==2.33.2
# via pydantic
pydeck==0.9.1
# via streamlit
@ -408,23 +414,23 @@ pygments==2.19.2
# via
# pytest
# rich
pypandoc==1.16.2
pypandoc==1.15
# via -r requirements/requirements.in
pyparsing==3.2.5
pyparsing==3.2.3
# via
# httplib2
# matplotlib
pyperclip==1.11.0
pyperclip==1.9.0
# via -r requirements/requirements.in
pyproject-hooks==1.2.0
# via
# build
# pip-tools
pytest==9.0.2
pytest==8.4.1
# via
# -r requirements/requirements-dev.in
# pytest-env
pytest-env==1.2.0
pytest-env==1.1.5
# via -r requirements/requirements-dev.in
python-dateutil==2.9.0.post0
# via
@ -432,27 +438,27 @@ python-dateutil==2.9.0.post0
# matplotlib
# pandas
# posthog
python-dotenv==1.2.1
python-dotenv==1.1.1
# via litellm
pytz==2025.2
# via pandas
pyyaml==6.0.3
pyyaml==6.0.2
# via
# -r requirements/requirements.in
# huggingface-hub
# llama-index-core
# pre-commit
# transformers
referencing==0.37.0
referencing==0.36.2
# via
# jsonschema
# jsonschema-specifications
regex==2025.11.3
regex==2025.7.34
# via
# nltk
# tiktoken
# transformers
requests==2.32.5
requests==2.32.4
# via
# google-api-core
# google-cloud-bigquery
@ -463,19 +469,19 @@ requests==2.32.5
# streamlit
# tiktoken
# transformers
rich==14.2.0
rich==14.1.0
# via
# -r requirements/requirements.in
# typer
rpds-py==0.30.0
rpds-py==0.27.0
# via
# jsonschema
# referencing
rsa==4.9.1
# via google-auth
safetensors==0.7.0
safetensors==0.6.1
# via transformers
scikit-learn==1.8.0
scikit-learn==1.7.1
# via sentence-transformers
scipy==1.15.3
# via
@ -484,7 +490,7 @@ scipy==1.15.3
# sentence-transformers
semver==3.0.4
# via -r requirements/requirements-dev.in
sentence-transformers==5.2.0
sentence-transformers==5.1.0
# via llama-index-embeddings-huggingface
setuptools==80.9.0
# via
@ -493,27 +499,30 @@ setuptools==80.9.0
# torch
shellingham==1.5.4
# via typer
shtab==1.8.0
shtab==1.7.2
# via -r requirements/requirements.in
six==1.17.0
# via
# mixpanel
# posthog
# python-dateutil
smmap==5.0.2
# via gitdb
sniffio==1.3.1
# via openai
# via
# anyio
# openai
socksio==1.0.0
# via -r requirements/requirements.in
sounddevice==0.5.3
sounddevice==0.5.2
# via -r requirements/requirements.in
soundfile==0.13.1
# via -r requirements/requirements.in
soupsieve==2.8.1
soupsieve==2.7
# via beautifulsoup4
sqlalchemy[asyncio]==2.0.45
sqlalchemy[asyncio]==2.0.42
# via llama-index-core
streamlit==1.52.2
streamlit==1.48.0
# via -r requirements/requirements-browser.in
sympy==1.14.0
# via torch
@ -523,19 +532,19 @@ tenacity==9.1.2
# streamlit
threadpoolctl==3.6.0
# via scikit-learn
tiktoken==0.12.0
tiktoken==0.10.0
# via
# litellm
# llama-index-core
tokenizers==0.22.1
tokenizers==0.21.4
# via
# litellm
# transformers
toml==0.10.2
# via streamlit
torch==2.9.1
torch==2.8.0
# via sentence-transformers
tornado==6.5.4
tornado==6.5.1
# via streamlit
tqdm==4.67.1
# via
@ -546,23 +555,24 @@ tqdm==4.67.1
# openai
# sentence-transformers
# transformers
transformers==4.57.3
transformers==4.55.0
# via sentence-transformers
tree-sitter==0.25.2
tree-sitter==0.25.1
# via tree-sitter-language-pack
tree-sitter-c-sharp==0.23.1
# via tree-sitter-language-pack
tree-sitter-embedded-template==0.25.0
tree-sitter-embedded-template==0.23.2
# via tree-sitter-language-pack
tree-sitter-language-pack==0.13.0
tree-sitter-language-pack==0.9.0
# via grep-ast
tree-sitter-yaml==0.7.2
tree-sitter-yaml==0.7.1
# via tree-sitter-language-pack
typer==0.20.0
typer==0.16.0
# via -r requirements/requirements-dev.in
typing-extensions==4.15.0
typing-extensions==4.14.1
# via
# aiosignal
# aiosqlite
# altair
# anyio
# beautifulsoup4
@ -587,29 +597,31 @@ typing-inspect==0.9.0
# via
# dataclasses-json
# llama-index-core
typing-inspection==0.4.2
typing-inspection==0.4.1
# via pydantic
tzdata==2025.3
tzdata==2025.2
# via pandas
uritemplate==4.2.0
# via google-api-python-client
urllib3==2.6.2
# via requests
uv==0.9.18
urllib3==2.5.0
# via
# mixpanel
# requests
uv==0.8.5
# via -r requirements/requirements-dev.in
virtualenv==20.35.4
virtualenv==20.33.1
# via pre-commit
watchfiles==1.1.1
watchfiles==1.1.0
# via -r requirements/requirements.in
wcwidth==0.2.14
wcwidth==0.2.13
# via prompt-toolkit
wheel==0.45.1
# via pip-tools
wrapt==2.0.1
wrapt==1.17.2
# via
# deprecated
# llama-index-core
yarl==1.22.0
yarl==1.20.1
# via aiohttp
zipp==3.23.0
# via importlib-metadata

View file

@ -1,10 +1,10 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --no-strip-extras --constraint=requirements/common-constraints.txt --output-file=requirements/requirements-browser.txt requirements/requirements-browser.in
altair==6.0.0
altair==5.5.0
# via
# -c requirements/common-constraints.txt
# streamlit
attrs==25.4.0
attrs==25.3.0
# via
# -c requirements/common-constraints.txt
# jsonschema
@ -13,19 +13,19 @@ blinker==1.9.0
# via
# -c requirements/common-constraints.txt
# streamlit
cachetools==6.2.4
cachetools==5.5.2
# via
# -c requirements/common-constraints.txt
# streamlit
certifi==2025.11.12
certifi==2025.8.3
# via
# -c requirements/common-constraints.txt
# requests
charset-normalizer==3.4.4
charset-normalizer==3.4.2
# via
# -c requirements/common-constraints.txt
# requests
click==8.3.1
click==8.2.1
# via
# -c requirements/common-constraints.txt
# streamlit
@ -37,7 +37,7 @@ gitpython==3.1.45
# via
# -c requirements/common-constraints.txt
# streamlit
idna==3.11
idna==3.10
# via
# -c requirements/common-constraints.txt
# requests
@ -46,19 +46,19 @@ jinja2==3.1.6
# -c requirements/common-constraints.txt
# altair
# pydeck
jsonschema==4.25.1
jsonschema==4.25.0
# via
# -c requirements/common-constraints.txt
# altair
jsonschema-specifications==2025.9.1
jsonschema-specifications==2025.4.1
# via
# -c requirements/common-constraints.txt
# jsonschema
markupsafe==3.0.3
markupsafe==3.0.2
# via
# -c requirements/common-constraints.txt
# jinja2
narwhals==2.14.0
narwhals==2.0.1
# via
# -c requirements/common-constraints.txt
# altair
@ -73,11 +73,11 @@ packaging==25.0
# -c requirements/common-constraints.txt
# altair
# streamlit
pandas==2.3.3
pandas==2.3.1
# via
# -c requirements/common-constraints.txt
# streamlit
pillow==12.0.0
pillow==11.3.0
# via
# -c requirements/common-constraints.txt
# streamlit
@ -85,7 +85,7 @@ protobuf==5.29.5
# via
# -c requirements/common-constraints.txt
# streamlit
pyarrow==22.0.0
pyarrow==21.0.0
# via
# -c requirements/common-constraints.txt
# streamlit
@ -101,16 +101,16 @@ pytz==2025.2
# via
# -c requirements/common-constraints.txt
# pandas
referencing==0.37.0
referencing==0.36.2
# via
# -c requirements/common-constraints.txt
# jsonschema
# jsonschema-specifications
requests==2.32.5
requests==2.32.4
# via
# -c requirements/common-constraints.txt
# streamlit
rpds-py==0.30.0
rpds-py==0.27.0
# via
# -c requirements/common-constraints.txt
# jsonschema
@ -123,7 +123,7 @@ smmap==5.0.2
# via
# -c requirements/common-constraints.txt
# gitdb
streamlit==1.52.2
streamlit==1.48.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-browser.in
@ -135,21 +135,21 @@ toml==0.10.2
# via
# -c requirements/common-constraints.txt
# streamlit
tornado==6.5.4
tornado==6.5.1
# via
# -c requirements/common-constraints.txt
# streamlit
typing-extensions==4.15.0
typing-extensions==4.14.1
# via
# -c requirements/common-constraints.txt
# altair
# referencing
# streamlit
tzdata==2025.3
tzdata==2025.2
# via
# -c requirements/common-constraints.txt
# pandas
urllib3==2.6.2
urllib3==2.5.0
# via
# -c requirements/common-constraints.txt
# requests

View file

@ -4,23 +4,23 @@ build==1.3.0
# via
# -c requirements/common-constraints.txt
# pip-tools
cachetools==6.2.4
cachetools==5.5.2
# via
# -c requirements/common-constraints.txt
# google-auth
certifi==2025.11.12
certifi==2025.8.3
# via
# -c requirements/common-constraints.txt
# requests
cfgv==3.5.0
cfgv==3.4.0
# via
# -c requirements/common-constraints.txt
# pre-commit
charset-normalizer==3.4.4
charset-normalizer==3.4.2
# via
# -c requirements/common-constraints.txt
# requests
click==8.3.1
click==8.2.1
# via
# -c requirements/common-constraints.txt
# pip-tools
@ -29,7 +29,7 @@ codespell==2.4.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
cogapp==3.6.0
cogapp==3.5.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
@ -41,64 +41,69 @@ cycler==0.12.1
# via
# -c requirements/common-constraints.txt
# matplotlib
dill==0.4.0
# via
# -c requirements/common-constraints.txt
# multiprocess
# pathos
distlib==0.4.0
# via
# -c requirements/common-constraints.txt
# virtualenv
filelock==3.20.1
filelock==3.18.0
# via
# -c requirements/common-constraints.txt
# virtualenv
fonttools==4.61.1
fonttools==4.59.0
# via
# -c requirements/common-constraints.txt
# matplotlib
google-api-core[grpc]==2.28.1
google-api-core[grpc]==2.25.1
# via
# -c requirements/common-constraints.txt
# google-cloud-bigquery
# google-cloud-core
google-auth==2.45.0
google-auth==2.40.3
# via
# -c requirements/common-constraints.txt
# google-api-core
# google-cloud-bigquery
# google-cloud-core
google-cloud-bigquery==3.39.0
google-cloud-bigquery==3.35.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
google-cloud-core==2.5.0
google-cloud-core==2.4.3
# via
# -c requirements/common-constraints.txt
# google-cloud-bigquery
google-crc32c==1.8.0
google-crc32c==1.7.1
# via
# -c requirements/common-constraints.txt
# google-resumable-media
google-resumable-media==2.8.0
google-resumable-media==2.7.2
# via
# -c requirements/common-constraints.txt
# google-cloud-bigquery
googleapis-common-protos==1.72.0
googleapis-common-protos==1.70.0
# via
# -c requirements/common-constraints.txt
# google-api-core
# grpcio-status
grpcio==1.67.1
grpcio==1.74.0
# via
# -c requirements/common-constraints.txt
# google-api-core
# grpcio-status
grpcio-status==1.67.1
grpcio-status==1.71.2
# via
# -c requirements/common-constraints.txt
# google-api-core
identify==2.6.15
identify==2.6.12
# via
# -c requirements/common-constraints.txt
# pre-commit
idna==3.11
idna==3.10
# via
# -c requirements/common-constraints.txt
# requests
@ -106,23 +111,23 @@ imgcat==0.6.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
iniconfig==2.3.0
iniconfig==2.1.0
# via
# -c requirements/common-constraints.txt
# pytest
kiwisolver==1.4.9
kiwisolver==1.4.8
# via
# -c requirements/common-constraints.txt
# matplotlib
lox==1.0.0
lox==0.13.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
markdown-it-py==4.0.0
markdown-it-py==3.0.0
# via
# -c requirements/common-constraints.txt
# rich
matplotlib==3.10.8
matplotlib==3.10.5
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
@ -130,6 +135,10 @@ mdurl==0.1.2
# via
# -c requirements/common-constraints.txt
# markdown-it-py
multiprocess==0.70.18
# via
# -c requirements/common-constraints.txt
# pathos
nodeenv==1.9.1
# via
# -c requirements/common-constraints.txt
@ -147,23 +156,27 @@ packaging==25.0
# google-cloud-bigquery
# matplotlib
# pytest
pandas==2.3.3
pandas==2.3.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
pillow==12.0.0
pathos==0.3.4
# via
# -c requirements/common-constraints.txt
# lox
pillow==11.3.0
# via
# -c requirements/common-constraints.txt
# matplotlib
pip==25.3
pip==25.2
# via
# -c requirements/common-constraints.txt
# pip-tools
pip-tools==7.5.2
pip-tools==7.5.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
platformdirs==4.5.1
platformdirs==4.3.8
# via
# -c requirements/common-constraints.txt
# virtualenv
@ -171,11 +184,19 @@ pluggy==1.6.0
# via
# -c requirements/common-constraints.txt
# pytest
pre-commit==4.5.1
pox==0.3.6
# via
# -c requirements/common-constraints.txt
# pathos
ppft==1.7.7
# via
# -c requirements/common-constraints.txt
# pathos
pre-commit==4.2.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
proto-plus==1.27.0
proto-plus==1.26.1
# via
# -c requirements/common-constraints.txt
# google-api-core
@ -200,7 +221,7 @@ pygments==2.19.2
# -c requirements/common-constraints.txt
# pytest
# rich
pyparsing==3.2.5
pyparsing==3.2.3
# via
# -c requirements/common-constraints.txt
# matplotlib
@ -209,12 +230,12 @@ pyproject-hooks==1.2.0
# -c requirements/common-constraints.txt
# build
# pip-tools
pytest==9.0.2
pytest==8.4.1
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
# pytest-env
pytest-env==1.2.0
pytest-env==1.1.5
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
@ -228,16 +249,16 @@ pytz==2025.2
# via
# -c requirements/common-constraints.txt
# pandas
pyyaml==6.0.3
pyyaml==6.0.2
# via
# -c requirements/common-constraints.txt
# pre-commit
requests==2.32.5
requests==2.32.4
# via
# -c requirements/common-constraints.txt
# google-api-core
# google-cloud-bigquery
rich==14.2.0
rich==14.1.0
# via
# -c requirements/common-constraints.txt
# typer
@ -261,27 +282,27 @@ six==1.17.0
# via
# -c requirements/common-constraints.txt
# python-dateutil
typer==0.20.0
typer==0.16.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
typing-extensions==4.15.0
typing-extensions==4.14.1
# via
# -c requirements/common-constraints.txt
# typer
tzdata==2025.3
tzdata==2025.2
# via
# -c requirements/common-constraints.txt
# pandas
urllib3==2.6.2
urllib3==2.5.0
# via
# -c requirements/common-constraints.txt
# requests
uv==0.9.18
uv==0.8.5
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-dev.in
virtualenv==20.35.4
virtualenv==20.33.1
# via
# -c requirements/common-constraints.txt
# pre-commit

View file

@ -4,7 +4,7 @@ aiohappyeyeballs==2.6.1
# via
# -c requirements/common-constraints.txt
# aiohttp
aiohttp==3.13.2
aiohttp==3.12.15
# via
# -c requirements/common-constraints.txt
# huggingface-hub
@ -13,7 +13,7 @@ aiosignal==1.4.0
# via
# -c requirements/common-constraints.txt
# aiohttp
aiosqlite==0.22.0
aiosqlite==0.21.0
# via
# -c requirements/common-constraints.txt
# llama-index-core
@ -21,11 +21,11 @@ annotated-types==0.7.0
# via
# -c requirements/common-constraints.txt
# pydantic
anyio==4.12.0
anyio==4.10.0
# via
# -c requirements/common-constraints.txt
# httpx
attrs==25.4.0
attrs==25.3.0
# via
# -c requirements/common-constraints.txt
# aiohttp
@ -33,17 +33,17 @@ banks==2.2.0
# via
# -c requirements/common-constraints.txt
# llama-index-core
certifi==2025.11.12
certifi==2025.8.3
# via
# -c requirements/common-constraints.txt
# httpcore
# httpx
# requests
charset-normalizer==3.4.4
charset-normalizer==3.4.2
# via
# -c requirements/common-constraints.txt
# requests
click==8.3.1
click==8.2.1
# via
# -c requirements/common-constraints.txt
# nltk
@ -55,7 +55,7 @@ dataclasses-json==0.6.7
# via
# -c requirements/common-constraints.txt
# llama-index-core
deprecated==1.3.1
deprecated==1.2.18
# via
# -c requirements/common-constraints.txt
# banks
@ -65,7 +65,7 @@ dirtyjson==1.0.8
# via
# -c requirements/common-constraints.txt
# llama-index-core
filelock==3.20.1
filelock==3.18.0
# via
# -c requirements/common-constraints.txt
# huggingface-hub
@ -75,22 +75,22 @@ filetype==1.2.0
# via
# -c requirements/common-constraints.txt
# llama-index-core
frozenlist==1.8.0
frozenlist==1.7.0
# via
# -c requirements/common-constraints.txt
# aiohttp
# aiosignal
fsspec==2025.12.0
fsspec==2025.7.0
# via
# -c requirements/common-constraints.txt
# huggingface-hub
# llama-index-core
# torch
greenlet==3.3.0
greenlet==3.2.3
# via
# -c requirements/common-constraints.txt
# sqlalchemy
griffe==1.15.0
griffe==1.10.0
# via
# -c requirements/common-constraints.txt
# banks
@ -98,7 +98,7 @@ h11==0.16.0
# via
# -c requirements/common-constraints.txt
# httpcore
hf-xet==1.2.0
hf-xet==1.1.7
# via
# -c requirements/common-constraints.txt
# huggingface-hub
@ -110,14 +110,14 @@ httpx==0.28.1
# via
# -c requirements/common-constraints.txt
# llama-index-core
huggingface-hub[inference]==0.36.0
huggingface-hub[inference]==0.34.3
# via
# -c requirements/common-constraints.txt
# llama-index-embeddings-huggingface
# sentence-transformers
# tokenizers
# transformers
idna==3.11
idna==3.10
# via
# -c requirements/common-constraints.txt
# anyio
@ -129,28 +129,28 @@ jinja2==3.1.6
# -c requirements/common-constraints.txt
# banks
# torch
joblib==1.5.3
joblib==1.5.1
# via
# -c requirements/common-constraints.txt
# nltk
# scikit-learn
llama-index-core==0.14.10
llama-index-core==0.13.0
# via
# -c requirements/common-constraints.txt
# llama-index-embeddings-huggingface
llama-index-embeddings-huggingface==0.6.1
llama-index-embeddings-huggingface==0.6.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-help.in
llama-index-instrumentation==0.4.2
llama-index-instrumentation==0.4.0
# via
# -c requirements/common-constraints.txt
# llama-index-workflows
llama-index-workflows==2.11.5
llama-index-workflows==1.3.0
# via
# -c requirements/common-constraints.txt
# llama-index-core
markupsafe==3.0.3
markupsafe==3.0.2
# via
# -c requirements/common-constraints.txt
# jinja2
@ -162,7 +162,7 @@ mpmath==1.3.0
# via
# -c requirements/common-constraints.txt
# sympy
multidict==6.7.0
multidict==6.6.3
# via
# -c requirements/common-constraints.txt
# aiohttp
@ -180,7 +180,7 @@ networkx==3.4.2
# -c requirements/common-constraints.txt
# llama-index-core
# torch
nltk==3.9.2
nltk==3.9.1
# via
# -c requirements/common-constraints.txt
# llama-index-core
@ -198,55 +198,56 @@ packaging==25.0
# huggingface-hub
# marshmallow
# transformers
pillow==12.0.0
pillow==11.3.0
# via
# -c requirements/common-constraints.txt
# llama-index-core
platformdirs==4.5.1
# sentence-transformers
platformdirs==4.3.8
# via
# -c requirements/common-constraints.txt
# banks
# llama-index-core
propcache==0.4.1
propcache==0.3.2
# via
# -c requirements/common-constraints.txt
# aiohttp
# yarl
pydantic==2.12.5
pydantic==2.11.7
# via
# -c requirements/common-constraints.txt
# banks
# llama-index-core
# llama-index-instrumentation
# llama-index-workflows
pydantic-core==2.41.5
pydantic-core==2.33.2
# via
# -c requirements/common-constraints.txt
# pydantic
pyyaml==6.0.3
pyyaml==6.0.2
# via
# -c requirements/common-constraints.txt
# huggingface-hub
# llama-index-core
# transformers
regex==2025.11.3
regex==2025.7.34
# via
# -c requirements/common-constraints.txt
# nltk
# tiktoken
# transformers
requests==2.32.5
requests==2.32.4
# via
# -c requirements/common-constraints.txt
# huggingface-hub
# llama-index-core
# tiktoken
# transformers
safetensors==0.7.0
safetensors==0.6.1
# via
# -c requirements/common-constraints.txt
# transformers
scikit-learn==1.8.0
scikit-learn==1.7.1
# via
# -c requirements/common-constraints.txt
# sentence-transformers
@ -255,7 +256,7 @@ scipy==1.15.3
# -c requirements/common-constraints.txt
# scikit-learn
# sentence-transformers
sentence-transformers==5.2.0
sentence-transformers==5.1.0
# via
# -c requirements/common-constraints.txt
# llama-index-embeddings-huggingface
@ -264,7 +265,11 @@ setuptools==80.9.0
# -c requirements/common-constraints.txt
# llama-index-core
# torch
sqlalchemy[asyncio]==2.0.45
sniffio==1.3.1
# via
# -c requirements/common-constraints.txt
# anyio
sqlalchemy[asyncio]==2.0.42
# via
# -c requirements/common-constraints.txt
# llama-index-core
@ -280,15 +285,15 @@ threadpoolctl==3.6.0
# via
# -c requirements/common-constraints.txt
# scikit-learn
tiktoken==0.12.0
tiktoken==0.10.0
# via
# -c requirements/common-constraints.txt
# llama-index-core
tokenizers==0.22.1
tokenizers==0.21.4
# via
# -c requirements/common-constraints.txt
# transformers
torch==2.9.1
torch==2.8.0
# via
# -c requirements/common-constraints.txt
# sentence-transformers
@ -300,14 +305,15 @@ tqdm==4.67.1
# nltk
# sentence-transformers
# transformers
transformers==4.57.3
transformers==4.55.0
# via
# -c requirements/common-constraints.txt
# sentence-transformers
typing-extensions==4.15.0
typing-extensions==4.14.1
# via
# -c requirements/common-constraints.txt
# aiosignal
# aiosqlite
# anyio
# huggingface-hub
# llama-index-core
@ -324,20 +330,20 @@ typing-inspect==0.9.0
# -c requirements/common-constraints.txt
# dataclasses-json
# llama-index-core
typing-inspection==0.4.2
typing-inspection==0.4.1
# via
# -c requirements/common-constraints.txt
# pydantic
urllib3==2.6.2
urllib3==2.5.0
# via
# -c requirements/common-constraints.txt
# requests
wrapt==2.0.1
wrapt==1.17.2
# via
# -c requirements/common-constraints.txt
# deprecated
# llama-index-core
yarl==1.22.0
yarl==1.20.1
# via
# -c requirements/common-constraints.txt
# aiohttp

View file

@ -1,10 +1,10 @@
# This file was autogenerated by uv via the following command:
# uv pip compile --no-strip-extras --constraint=requirements/common-constraints.txt --output-file=requirements/requirements-playwright.txt requirements/requirements-playwright.in
greenlet==3.3.0
greenlet==3.2.3
# via
# -c requirements/common-constraints.txt
# playwright
playwright==1.57.0
playwright==1.54.0
# via
# -c requirements/common-constraints.txt
# -r requirements/requirements-playwright.in
@ -12,7 +12,7 @@ pyee==13.0.0
# via
# -c requirements/common-constraints.txt
# playwright
typing-extensions==4.15.0
typing-extensions==4.14.1
# via
# -c requirements/common-constraints.txt
# pyee

View file

@ -1,3 +1,3 @@
tree-sitter==0.23.2; python_version < "3.10"
tree-sitter==0.25.2; python_version >= "3.10"
tree-sitter==0.24.0; python_version >= "3.10"

View file

@ -89,13 +89,8 @@ def get_commit_authors(commits):
commit_to_author = dict()
for commit in commits:
author = run(["git", "show", "-s", "--format=%an", commit]).strip()
subject = run(["git", "show", "-s", "--format=%s", commit]).strip()
full_message = run(["git", "show", "-s", "--format=%B", commit]).strip()
lower_subject = subject.lower()
lower_full = full_message.lower()
if lower_subject.startswith("aider:") or "co-authored-by: aider" in lower_full:
commit_message = run(["git", "show", "-s", "--format=%s", commit]).strip()
if commit_message.lower().startswith("aider:"):
author += " (aider)"
commit_to_author[commit] = author
return commit_to_author

View file

@ -113,7 +113,7 @@ def main():
cmd = [
"aider",
"--model",
"gpt-5",
"o3",
hist_path,
"--read",
log_path,

View file

@ -302,9 +302,6 @@ class TestRepoMapAllLanguages(unittest.TestCase):
def test_language_gleam(self):
self._test_language_repo_map("gleam", "gleam", "greet")
def test_language_haskell(self):
self._test_language_repo_map("haskell", "hs", "add")
def test_language_java(self):
self._test_language_repo_map("java", "java", "Greeting")
@ -337,9 +334,6 @@ class TestRepoMapAllLanguages(unittest.TestCase):
def test_language_tsx(self):
self._test_language_repo_map("tsx", "tsx", "UserProps")
def test_language_zig(self):
self._test_language_repo_map("zig", "zig", "add")
def test_language_csharp(self):
self._test_language_repo_map("csharp", "cs", "IGreeter")

View file

@ -1,7 +0,0 @@
module Main where
add :: Int -> Int -> Int
add a b = a + b
main :: IO ()
main = print (add 2 3)

View file

@ -1,10 +0,0 @@
const std = @import("std");
pub fn add(a: i32, b: i32) i32 {
return a + b;
}
pub fn main() !void {
const stdout = std.io.getStdOut().writer();
try stdout.print("{}", .{add(2, 3)});
}