# EQUITR Coder
Modular AI coding assistant supporting single and multi-agent workflows and an ML-focused researcher mode. Includes an advanced TUI.
## Quick Start
- Install (latest from PyPI):
```bash
pip install equitrcoder
```
- Optional extras:
- API server: `pip install "equitrcoder[api]"`
- TUI (Textual+Rich): `pip install textual rich`
## Configure API keys (env vars)
Set whatever providers you plan to use:
- `OPENAI_API_KEY`
- `ANTHROPIC_API_KEY`
- `OPENROUTER_API_KEY`
- `MOONSHOT_API_KEY`
- `GROQ_API_KEY`
You can also set `CLAUDE_AGENT_MODEL`, `CLAUDE_AGENT_BUDGET`, and `CLAUDE_AGENT_PROFILE` to override defaults.
Export examples (macOS/Linux):
```bash
export OPENAI_API_KEY=sk-...
export ANTHROPIC_API_KEY=...
export OPENROUTER_API_KEY=...
```
## TUI (Interactive)
- Launch TUI:
```bash
equitrcoder tui --mode single # or multi, research
```
- Keys:
- Enter: execute task in current mode (requires task in input field)
- m: open model selector
- Ctrl+C: exit
- Research mode fields:
- Datasets: comma-separated paths
- Experiments: `name:command; name:command; ...`
Troubleshooting:
- If you see a Textual widget error, ensure `textual` and `rich` are installed.
- If you have no API keys, you can still launch the TUI, but model listings will be minimal and execution may fail when contacting providers.
## CLI
- Single:
```bash
equitrcoder single "Build a small API" --model moonshot/kimi-k2-0711-preview
```
- Multi:
```bash
equitrcoder multi "Ship a feature" --supervisor-model moonshot/kimi-k2-0711-preview \
--worker-model moonshot/kimi-k2-0711-preview --workers 3 --max-cost 15
```
- Research (ML only):
```bash
equitrcoder research "Evaluate model X on dataset Y" \
--supervisor-model moonshot/kimi-k2-0711-preview --worker-model moonshot/kimi-k2-0711-preview \
--workers 3 --max-cost 12
```
## Programmatic Usage
```python
from equitrcoder import EquitrCoder, TaskConfiguration
coder = EquitrCoder(mode="single", repo_path=".")
config = TaskConfiguration(description="Refactor module X", max_cost=2.0, max_iterations=20)
result = await coder.execute_task("Refactor module X", config)
print(result.success, result.cost, result.iterations)
```
- Multi-agent and researcher programmatic configs are available via `MultiAgentTaskConfiguration` and `ResearchTaskConfiguration`.
## API Server
- Start server (requires extras):
```bash
equitrcoder api --host 0.0.0.0 --port 8000
```
- Endpoints:
- `GET /` root
- `GET /health`
- `GET /tools`
- `POST /single/execute`
- `POST /multi/create`
- `POST /multi/{id}/execute`
- `GET /multi/{id}/status`
- `DELETE /multi/{id}`
## Configuration
- Default config lives in `equitrcoder/config/default.yaml`.
- User overrides: `~/.EQUITR-coder/config.yaml`.
- Env overrides supported for selected keys (see code and docs).
- `session.max_context: "auto"` is supported and normalized automatically.
## Examples
See `examples/` for patterns:
- `create_react_website.py`
- `mario_parallel_example.py`
- `research_programmatic_example.py`
## Troubleshooting
- Missing models or keys: ensure relevant env vars are set. The TUI will still load, but execution may fail when contacting providers.
- Textual errors: install TUI deps: `pip install textual rich`.
- Git integration issues: run inside a git repo or disable with `git_enabled=False` in programmatic usage.
Raw data
{
"_id": null,
"home_page": "https://github.com/tanushv/equitrcoder",
"name": "equitrcoder",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "ai coding assistant agent multi-agent llm automation",
"author": "EQUITR",
"author_email": "tanushvanarase@equitr.com",
"download_url": "https://files.pythonhosted.org/packages/c6/72/22b7923432b3900c61c8d527398c53956c2476153035e40cb4dec6a99af6/equitrcoder-2.3.0.tar.gz",
"platform": null,
"description": "# EQUITR Coder\n\nModular AI coding assistant supporting single and multi-agent workflows and an ML-focused researcher mode. Includes an advanced TUI.\n\n## Quick Start\n\n- Install (latest from PyPI):\n ```bash\npip install equitrcoder\n ```\n- Optional extras:\n - API server: `pip install \"equitrcoder[api]\"`\n - TUI (Textual+Rich): `pip install textual rich`\n\n## Configure API keys (env vars)\n\nSet whatever providers you plan to use:\n- `OPENAI_API_KEY`\n- `ANTHROPIC_API_KEY`\n- `OPENROUTER_API_KEY`\n- `MOONSHOT_API_KEY`\n- `GROQ_API_KEY`\n\nYou can also set `CLAUDE_AGENT_MODEL`, `CLAUDE_AGENT_BUDGET`, and `CLAUDE_AGENT_PROFILE` to override defaults.\n\nExport examples (macOS/Linux):\n```bash\nexport OPENAI_API_KEY=sk-...\nexport ANTHROPIC_API_KEY=...\nexport OPENROUTER_API_KEY=...\n```\n\n## TUI (Interactive)\n\n- Launch TUI:\n ```bash\nequitrcoder tui --mode single # or multi, research\n ```\n- Keys:\n - Enter: execute task in current mode (requires task in input field)\n - m: open model selector\n - Ctrl+C: exit\n- Research mode fields:\n - Datasets: comma-separated paths\n - Experiments: `name:command; name:command; ...`\n\nTroubleshooting:\n- If you see a Textual widget error, ensure `textual` and `rich` are installed.\n- If you have no API keys, you can still launch the TUI, but model listings will be minimal and execution may fail when contacting providers.\n\n## CLI\n\n- Single:\n ```bash\nequitrcoder single \"Build a small API\" --model moonshot/kimi-k2-0711-preview\n ```\n- Multi:\n ```bash\nequitrcoder multi \"Ship a feature\" --supervisor-model moonshot/kimi-k2-0711-preview \\\n --worker-model moonshot/kimi-k2-0711-preview --workers 3 --max-cost 15\n ```\n- Research (ML only):\n ```bash\nequitrcoder research \"Evaluate model X on dataset Y\" \\\n --supervisor-model moonshot/kimi-k2-0711-preview --worker-model moonshot/kimi-k2-0711-preview \\\n --workers 3 --max-cost 12\n ```\n\n## Programmatic Usage\n\n```python\nfrom equitrcoder import EquitrCoder, TaskConfiguration\n\ncoder = EquitrCoder(mode=\"single\", repo_path=\".\")\nconfig = TaskConfiguration(description=\"Refactor module X\", max_cost=2.0, max_iterations=20)\nresult = await coder.execute_task(\"Refactor module X\", config)\nprint(result.success, result.cost, result.iterations)\n```\n\n- Multi-agent and researcher programmatic configs are available via `MultiAgentTaskConfiguration` and `ResearchTaskConfiguration`.\n\n## API Server\n\n- Start server (requires extras):\n ```bash\nequitrcoder api --host 0.0.0.0 --port 8000\n ```\n- Endpoints:\n - `GET /` root\n - `GET /health`\n - `GET /tools`\n - `POST /single/execute`\n - `POST /multi/create`\n - `POST /multi/{id}/execute`\n - `GET /multi/{id}/status`\n - `DELETE /multi/{id}`\n\n## Configuration\n\n- Default config lives in `equitrcoder/config/default.yaml`.\n- User overrides: `~/.EQUITR-coder/config.yaml`.\n- Env overrides supported for selected keys (see code and docs).\n- `session.max_context: \"auto\"` is supported and normalized automatically.\n\n## Examples\n\nSee `examples/` for patterns:\n- `create_react_website.py`\n- `mario_parallel_example.py`\n- `research_programmatic_example.py`\n\n## Troubleshooting\n\n- Missing models or keys: ensure relevant env vars are set. The TUI will still load, but execution may fail when contacting providers.\n- Textual errors: install TUI deps: `pip install textual rich`.\n- Git integration issues: run inside a git repo or disable with `git_enabled=False` in programmatic usage. \n",
"bugtrack_url": null,
"license": null,
"summary": "Modular AI coding assistant supporting single and multi-agent workflows",
"version": "2.3.0",
"project_urls": {
"Bug Reports": "https://github.com/equitr/equitrcoder/issues",
"Documentation": "https://equitrcoder.readthedocs.io/",
"Homepage": "https://github.com/tanushv/equitrcoder",
"Source": "https://github.com/equitr/equitrcoder"
},
"split_keywords": [
"ai",
"coding",
"assistant",
"agent",
"multi-agent",
"llm",
"automation"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "954bd581f2aed3b9183f3fe638fc355d7462265826232386174d25c50cfd8925",
"md5": "29c3ea2c67cf0c693cf6e7c529a03b2e",
"sha256": "af4ea013b22fc2128524204a3b1bfd522d1d49079651e189be62cb5dc163e628"
},
"downloads": -1,
"filename": "equitrcoder-2.3.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "29c3ea2c67cf0c693cf6e7c529a03b2e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 197543,
"upload_time": "2025-08-09T20:12:52",
"upload_time_iso_8601": "2025-08-09T20:12:52.249959Z",
"url": "https://files.pythonhosted.org/packages/95/4b/d581f2aed3b9183f3fe638fc355d7462265826232386174d25c50cfd8925/equitrcoder-2.3.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "c67222b7923432b3900c61c8d527398c53956c2476153035e40cb4dec6a99af6",
"md5": "54ccca519d33738d9635cead93200dab",
"sha256": "2ea425a2a34d96c08df5b97654c3c52f3e2801146594b3c8b649fa245dfd26ba"
},
"downloads": -1,
"filename": "equitrcoder-2.3.0.tar.gz",
"has_sig": false,
"md5_digest": "54ccca519d33738d9635cead93200dab",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 162607,
"upload_time": "2025-08-09T20:12:53",
"upload_time_iso_8601": "2025-08-09T20:12:53.452032Z",
"url": "https://files.pythonhosted.org/packages/c6/72/22b7923432b3900c61c8d527398c53956c2476153035e40cb4dec6a99af6/equitrcoder-2.3.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-09 20:12:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tanushv",
"github_project": "equitrcoder",
"github_not_found": true,
"lcname": "equitrcoder"
}