tarang 4.5.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- tarang-4.5.0/PKG-INFO +102 -0
- tarang-4.5.0/README.md +63 -0
- tarang-4.5.0/pyproject.toml +76 -0
- tarang-4.5.0/setup.cfg +4 -0
- tarang-4.5.0/src/tarang/__init__.py +23 -0
- tarang-4.5.0/src/tarang/cli.py +1338 -0
- tarang-4.5.0/src/tarang/client/__init__.py +19 -0
- tarang-4.5.0/src/tarang/client/api_client.py +844 -0
- tarang-4.5.0/src/tarang/client/auth.py +178 -0
- tarang-4.5.0/src/tarang/context/__init__.py +41 -0
- tarang-4.5.0/src/tarang/context/bm25.py +218 -0
- tarang-4.5.0/src/tarang/context/chunker.py +984 -0
- tarang-4.5.0/src/tarang/context/graph.py +464 -0
- tarang-4.5.0/src/tarang/context/indexer.py +514 -0
- tarang-4.5.0/src/tarang/context/retriever.py +270 -0
- tarang-4.5.0/src/tarang/context/skeleton.py +282 -0
- tarang-4.5.0/src/tarang/context_collector.py +508 -0
- tarang-4.5.0/src/tarang/executor/__init__.py +6 -0
- tarang-4.5.0/src/tarang/executor/diff_apply.py +246 -0
- tarang-4.5.0/src/tarang/executor/linter.py +184 -0
- tarang-4.5.0/src/tarang/models.py +684 -0
- tarang-4.5.0/src/tarang/stream.py +1467 -0
- tarang-4.5.0/src/tarang/ui/__init__.py +7 -0
- tarang-4.5.0/src/tarang/ui/console.py +411 -0
- tarang-4.5.0/src/tarang/ui/diff_viewer.py +146 -0
- tarang-4.5.0/src/tarang/ui/formatter.py +1151 -0
- tarang-4.5.0/src/tarang/ui/keyboard.py +197 -0
- tarang-4.5.0/src/tarang/ws/__init__.py +14 -0
- tarang-4.5.0/src/tarang/ws/client.py +505 -0
- tarang-4.5.0/src/tarang/ws/executor.py +638 -0
- tarang-4.5.0/src/tarang/ws/handlers.py +802 -0
- tarang-4.5.0/src/tarang.egg-info/PKG-INFO +102 -0
- tarang-4.5.0/src/tarang.egg-info/SOURCES.txt +35 -0
- tarang-4.5.0/src/tarang.egg-info/dependency_links.txt +1 -0
- tarang-4.5.0/src/tarang.egg-info/entry_points.txt +2 -0
- tarang-4.5.0/src/tarang.egg-info/requires.txt +18 -0
- tarang-4.5.0/src/tarang.egg-info/top_level.txt +1 -0
tarang-4.5.0/PKG-INFO
ADDED
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: tarang
|
|
3
|
+
Version: 4.5.0
|
|
4
|
+
Summary: Tarang - AI Coding Agent (Hybrid WebSocket Architecture)
|
|
5
|
+
Author-email: Tarang Team <hello@devtarang.ai>
|
|
6
|
+
License: MIT
|
|
7
|
+
Project-URL: Homepage, https://devtarang.ai
|
|
8
|
+
Project-URL: Documentation, https://docs.devtarang.ai
|
|
9
|
+
Project-URL: Repository, https://github.com/tarang-ai/tarang-cli
|
|
10
|
+
Keywords: ai,coding,assistant,llm,developer-tools
|
|
11
|
+
Classifier: Development Status :: 4 - Beta
|
|
12
|
+
Classifier: Environment :: Console
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Topic :: Software Development :: Code Generators
|
|
20
|
+
Requires-Python: >=3.10
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
Requires-Dist: click>=8.0.0
|
|
23
|
+
Requires-Dist: httpx>=0.25.0
|
|
24
|
+
Requires-Dist: pydantic>=2.0.0
|
|
25
|
+
Requires-Dist: python-dotenv>=1.0.0
|
|
26
|
+
Requires-Dist: rich>=13.0.0
|
|
27
|
+
Requires-Dist: websockets>=12.0
|
|
28
|
+
Requires-Dist: prompt_toolkit>=3.0.0
|
|
29
|
+
Requires-Dist: rank-bm25>=0.2.2
|
|
30
|
+
Requires-Dist: tree-sitter>=0.23.0
|
|
31
|
+
Requires-Dist: tree-sitter-python>=0.23.0
|
|
32
|
+
Requires-Dist: tree-sitter-javascript>=0.23.0
|
|
33
|
+
Requires-Dist: tree-sitter-sql>=0.3.0
|
|
34
|
+
Provides-Extra: dev
|
|
35
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
36
|
+
Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
|
|
37
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
38
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
39
|
+
|
|
40
|
+
# Tarang CLI
|
|
41
|
+
|
|
42
|
+
AI-powered coding assistant with ManagerAgent architecture.
|
|
43
|
+
|
|
44
|
+
## Installation
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
pip install tarang
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Quick Start
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
# Start interactive session
|
|
54
|
+
tarang run
|
|
55
|
+
|
|
56
|
+
# Run a single instruction
|
|
57
|
+
tarang run "create a hello world app"
|
|
58
|
+
|
|
59
|
+
# Run and exit
|
|
60
|
+
tarang run "fix linter errors" --once
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Commands
|
|
64
|
+
|
|
65
|
+
- `tarang run [instruction]` - Start coding session (interactive or single)
|
|
66
|
+
- `tarang init <project>` - Initialize a new project
|
|
67
|
+
- `tarang chat` - Interactive chat mode
|
|
68
|
+
- `tarang status` - Show project status
|
|
69
|
+
- `tarang resume` - Resume interrupted execution
|
|
70
|
+
- `tarang reset` - Reset execution state
|
|
71
|
+
- `tarang clean` - Remove all Tarang state
|
|
72
|
+
- `tarang check` - Verify configuration
|
|
73
|
+
|
|
74
|
+
## Options
|
|
75
|
+
|
|
76
|
+
- `--project-dir, -p` - Project directory (default: current)
|
|
77
|
+
- `--config, -c` - Agent config (coder, explorer, orchestrator)
|
|
78
|
+
- `--verbose, -v` - Enable verbose output
|
|
79
|
+
- `--once` - Run single instruction and exit
|
|
80
|
+
|
|
81
|
+
## Configuration
|
|
82
|
+
|
|
83
|
+
Tarang requires an OpenRouter API key:
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
export OPENROUTER_API_KEY=your_key
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Project State
|
|
90
|
+
|
|
91
|
+
Tarang stores execution state in `.tarang/` directory:
|
|
92
|
+
- `state.json` - Current execution state
|
|
93
|
+
- Supports resume after interruption
|
|
94
|
+
|
|
95
|
+
## Links
|
|
96
|
+
|
|
97
|
+
- Website: [devtarang.ai](https://devtarang.ai)
|
|
98
|
+
- Documentation: [docs.devtarang.ai](https://docs.devtarang.ai)
|
|
99
|
+
|
|
100
|
+
## License
|
|
101
|
+
|
|
102
|
+
MIT
|
tarang-4.5.0/README.md
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Tarang CLI
|
|
2
|
+
|
|
3
|
+
AI-powered coding assistant with ManagerAgent architecture.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
pip install tarang
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Quick Start
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
# Start interactive session
|
|
15
|
+
tarang run
|
|
16
|
+
|
|
17
|
+
# Run a single instruction
|
|
18
|
+
tarang run "create a hello world app"
|
|
19
|
+
|
|
20
|
+
# Run and exit
|
|
21
|
+
tarang run "fix linter errors" --once
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
## Commands
|
|
25
|
+
|
|
26
|
+
- `tarang run [instruction]` - Start coding session (interactive or single)
|
|
27
|
+
- `tarang init <project>` - Initialize a new project
|
|
28
|
+
- `tarang chat` - Interactive chat mode
|
|
29
|
+
- `tarang status` - Show project status
|
|
30
|
+
- `tarang resume` - Resume interrupted execution
|
|
31
|
+
- `tarang reset` - Reset execution state
|
|
32
|
+
- `tarang clean` - Remove all Tarang state
|
|
33
|
+
- `tarang check` - Verify configuration
|
|
34
|
+
|
|
35
|
+
## Options
|
|
36
|
+
|
|
37
|
+
- `--project-dir, -p` - Project directory (default: current)
|
|
38
|
+
- `--config, -c` - Agent config (coder, explorer, orchestrator)
|
|
39
|
+
- `--verbose, -v` - Enable verbose output
|
|
40
|
+
- `--once` - Run single instruction and exit
|
|
41
|
+
|
|
42
|
+
## Configuration
|
|
43
|
+
|
|
44
|
+
Tarang requires an OpenRouter API key:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
export OPENROUTER_API_KEY=your_key
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
## Project State
|
|
51
|
+
|
|
52
|
+
Tarang stores execution state in `.tarang/` directory:
|
|
53
|
+
- `state.json` - Current execution state
|
|
54
|
+
- Supports resume after interruption
|
|
55
|
+
|
|
56
|
+
## Links
|
|
57
|
+
|
|
58
|
+
- Website: [devtarang.ai](https://devtarang.ai)
|
|
59
|
+
- Documentation: [docs.devtarang.ai](https://docs.devtarang.ai)
|
|
60
|
+
|
|
61
|
+
## License
|
|
62
|
+
|
|
63
|
+
MIT
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
[build-system]
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta"
|
|
4
|
+
|
|
5
|
+
[project]
|
|
6
|
+
name = "tarang"
|
|
7
|
+
version = "4.5.0"
|
|
8
|
+
description = "Tarang - AI Coding Agent (Hybrid WebSocket Architecture)"
|
|
9
|
+
readme = "README.md"
|
|
10
|
+
requires-python = ">=3.10"
|
|
11
|
+
license = {text = "MIT"}
|
|
12
|
+
authors = [
|
|
13
|
+
{name = "Tarang Team", email = "hello@devtarang.ai"}
|
|
14
|
+
]
|
|
15
|
+
keywords = ["ai", "coding", "assistant", "llm", "developer-tools"]
|
|
16
|
+
classifiers = [
|
|
17
|
+
"Development Status :: 4 - Beta",
|
|
18
|
+
"Environment :: Console",
|
|
19
|
+
"Intended Audience :: Developers",
|
|
20
|
+
"License :: OSI Approved :: MIT License",
|
|
21
|
+
"Programming Language :: Python :: 3",
|
|
22
|
+
"Programming Language :: Python :: 3.10",
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Programming Language :: Python :: 3.12",
|
|
25
|
+
"Topic :: Software Development :: Code Generators",
|
|
26
|
+
]
|
|
27
|
+
|
|
28
|
+
# Minimal dependencies - no agent framework needed
|
|
29
|
+
dependencies = [
|
|
30
|
+
"click>=8.0.0",
|
|
31
|
+
"httpx>=0.25.0",
|
|
32
|
+
"pydantic>=2.0.0",
|
|
33
|
+
"python-dotenv>=1.0.0",
|
|
34
|
+
"rich>=13.0.0",
|
|
35
|
+
"websockets>=12.0",
|
|
36
|
+
# Command history with up/down arrows
|
|
37
|
+
"prompt_toolkit>=3.0.0",
|
|
38
|
+
# Context retrieval system (PRD-8)
|
|
39
|
+
"rank-bm25>=0.2.2",
|
|
40
|
+
"tree-sitter>=0.23.0",
|
|
41
|
+
"tree-sitter-python>=0.23.0",
|
|
42
|
+
"tree-sitter-javascript>=0.23.0",
|
|
43
|
+
"tree-sitter-sql>=0.3.0",
|
|
44
|
+
]
|
|
45
|
+
|
|
46
|
+
[project.optional-dependencies]
|
|
47
|
+
dev = [
|
|
48
|
+
"pytest>=7.0.0",
|
|
49
|
+
"pytest-asyncio>=0.21.0",
|
|
50
|
+
"ruff>=0.1.0",
|
|
51
|
+
"mypy>=1.0.0",
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
[project.scripts]
|
|
55
|
+
tarang = "tarang.cli:main"
|
|
56
|
+
|
|
57
|
+
[project.urls]
|
|
58
|
+
Homepage = "https://devtarang.ai"
|
|
59
|
+
Documentation = "https://docs.devtarang.ai"
|
|
60
|
+
Repository = "https://github.com/tarang-ai/tarang-cli"
|
|
61
|
+
|
|
62
|
+
[tool.setuptools.packages.find]
|
|
63
|
+
where = ["src"]
|
|
64
|
+
|
|
65
|
+
[tool.ruff]
|
|
66
|
+
target-version = "py310"
|
|
67
|
+
line-length = 100
|
|
68
|
+
select = ["E", "F", "W", "I", "N", "UP", "B", "C4"]
|
|
69
|
+
|
|
70
|
+
[tool.mypy]
|
|
71
|
+
python_version = "3.10"
|
|
72
|
+
strict = true
|
|
73
|
+
|
|
74
|
+
[tool.pytest.ini_options]
|
|
75
|
+
asyncio_mode = "auto"
|
|
76
|
+
testpaths = ["tests"]
|
tarang-4.5.0/setup.cfg
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Tarang - AI Coding Agent.
|
|
3
|
+
|
|
4
|
+
Just type your instructions. The orchestrator handles everything:
|
|
5
|
+
- Simple queries (explanations, questions)
|
|
6
|
+
- Complex tasks (multi-step implementations)
|
|
7
|
+
- Long-running jobs with phases and milestones
|
|
8
|
+
|
|
9
|
+
Architecture:
|
|
10
|
+
- Backend: Runs agents with reasoning/planning (protected IP)
|
|
11
|
+
- CLI: Executes tools locally via WebSocket (filesystem access)
|
|
12
|
+
- WebSocket: Bidirectional real-time communication
|
|
13
|
+
|
|
14
|
+
Usage:
|
|
15
|
+
tarang login # Authenticate
|
|
16
|
+
tarang config --openrouter-key KEY # Set API key
|
|
17
|
+
tarang "explain the project" # Run instruction
|
|
18
|
+
tarang "add user authentication" # Build features
|
|
19
|
+
tarang # Interactive mode
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
__version__ = "3.5.9"
|
|
23
|
+
__author__ = "Tarang Team"
|