deepagent-code 0.3.0__tar.gz → 0.3.1__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.
@@ -0,0 +1,25 @@
1
+ Metadata-Version: 2.4
2
+ Name: deepagent-code
3
+ Version: 0.3.1
4
+ Summary: RENAMED: this package is now 'langstage-cli' (LangStage family). Installing this pulls the new package.
5
+ Project-URL: Homepage, https://github.com/dkedar7/langstage-cli
6
+ Author-email: Kedar Dabhadkar <kdabhadk@gmail.com>
7
+ License: MIT
8
+ Requires-Python: >=3.10
9
+ Requires-Dist: langstage-cli>=0.4.0
10
+ Description-Content-Type: text/markdown
11
+
12
+ # deepagent-code → langstage-cli
13
+
14
+ **This package has been renamed to [langstage-cli](https://pypi.org/project/langstage-cli/)** — part of the
15
+ LangStage family rename ("every stage for your LangGraph agent").
16
+
17
+ This final `deepagent-code` release simply depends on `langstage-cli`, so existing installs keep
18
+ working: the new package ships a deprecated import-alias for the old module
19
+ name and keeps the old console command as an alias.
20
+
21
+ Please update your dependencies:
22
+
23
+ ```bash
24
+ pip install langstage-cli
25
+ ```
@@ -0,0 +1,14 @@
1
+ # deepagent-code → langstage-cli
2
+
3
+ **This package has been renamed to [langstage-cli](https://pypi.org/project/langstage-cli/)** — part of the
4
+ LangStage family rename ("every stage for your LangGraph agent").
5
+
6
+ This final `deepagent-code` release simply depends on `langstage-cli`, so existing installs keep
7
+ working: the new package ships a deprecated import-alias for the old module
8
+ name and keeps the old console command as an alias.
9
+
10
+ Please update your dependencies:
11
+
12
+ ```bash
13
+ pip install langstage-cli
14
+ ```
@@ -0,0 +1,19 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "deepagent-code"
7
+ version = "0.3.1"
8
+ description = "RENAMED: this package is now 'langstage-cli' (LangStage family). Installing this pulls the new package."
9
+ readme = "README.md"
10
+ license = { text = "MIT" }
11
+ requires-python = ">=3.10"
12
+ authors = [{ name = "Kedar Dabhadkar", email = "kdabhadk@gmail.com" }]
13
+ dependencies = ["langstage-cli>=0.4.0"]
14
+
15
+ [project.urls]
16
+ Homepage = "https://github.com/dkedar7/langstage-cli"
17
+
18
+ [tool.hatch.build.targets.wheel]
19
+ bypass-selection = true
@@ -1,21 +0,0 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 deepagent-code contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
@@ -1,219 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: deepagent-code
3
- Version: 0.3.0
4
- Summary: A Claude Code-style CLI for running LangGraph agents from the terminal
5
- Author-email: Kedar Dabhadkar <kdabhadk@gmail.com>
6
- License-Expression: MIT
7
- Project-URL: Homepage, https://github.com/dkedar7/deepagent-code
8
- Project-URL: Repository, https://github.com/dkedar7/deepagent-code
9
- Project-URL: Issues, https://github.com/dkedar7/deepagent-code/issues
10
- Keywords: langgraph,cli,agents,llm,ai,claude-code
11
- Classifier: Development Status :: 3 - Alpha
12
- Classifier: Intended Audience :: Developers
13
- Classifier: Programming Language :: Python :: 3
14
- Classifier: Programming Language :: Python :: 3.11
15
- Classifier: Programming Language :: Python :: 3.12
16
- Classifier: Programming Language :: Python :: 3.13
17
- Classifier: Programming Language :: Python :: 3.14
18
- Requires-Python: >=3.11
19
- Description-Content-Type: text/markdown
20
- License-File: LICENSE
21
- Requires-Dist: langgraph>=0.2.0
22
- Requires-Dist: langgraph-stream-parser<0.3,>=0.2.2
23
- Requires-Dist: click>=8.0.0
24
- Requires-Dist: python-dotenv
25
- Requires-Dist: deepagents
26
- Provides-Extra: dev
27
- Requires-Dist: pytest>=7.0.0; extra == "dev"
28
- Requires-Dist: pytest-asyncio>=0.21.0; extra == "dev"
29
- Requires-Dist: black>=23.0.0; extra == "dev"
30
- Requires-Dist: ruff==0.15.15; extra == "dev"
31
- Requires-Dist: mypy>=1.0.0; extra == "dev"
32
- Dynamic: license-file
33
-
34
- # deepagent-code
35
-
36
- A Claude Code-style CLI for running LangGraph agents from the terminal.
37
-
38
- ![deepagent-code](examples/image.png)
39
-
40
- ## One agent, every surface
41
-
42
- deepagent-code is the terminal surface of the **deep-agent family**: write your agent once — any LangGraph `CompiledGraph` — and run it on every surface with the same spec string (`module:attr` or `path/to/file.py:attr`), the same `deepagents.toml` config file, and the same `DEEPAGENT_*` environment variables.
43
-
44
- | Surface | Package | Try it |
45
- |---|---|---|
46
- | Web app | [cowork-dash](https://github.com/dkedar7/cowork-dash) | `cowork-dash run --agent my_agent.py:graph` |
47
- | JupyterLab | [deepagent-lab](https://github.com/dkedar7/deepagent-lab) | `pip install deepagent-lab`, then the chat sidebar in `jupyter lab` |
48
- | Terminal | deepagent-code | **you are here** |
49
- | VS Code | [deepagent-vscode](https://github.com/dkedar7/deepagent-vscode) | chat participant + stdio sidecar |
50
- | Reference agent | [deepagent-hermes](https://github.com/dkedar7/deepagent-hermes) | `DEEPAGENT_AGENT_SPEC=deepagent_hermes.agent:graph` on any surface |
51
- | Shared core | [langgraph-stream-parser](https://github.com/dkedar7/langgraph-stream-parser) | typed events + config resolver behind every surface |
52
-
53
- ## Installation
54
-
55
- ```bash
56
- pip install deepagent-code
57
- ```
58
-
59
- Or install directly from GitHub:
60
- ```bash
61
- pip install git+https://github.com/dkedar7/deepagent-code.git
62
- ```
63
-
64
- ## Quick Start
65
-
66
- No agent or API key yet? See the CLI working in one command:
67
- ```bash
68
- deepagent-code --demo "hello"
69
- ```
70
-
71
- Run with the default agent (requires `ANTHROPIC_API_KEY`):
72
- ```bash
73
- export ANTHROPIC_API_KEY="your_api_key"
74
- deepagent-code
75
- ```
76
-
77
- Or specify your own agent:
78
- ```bash
79
- deepagent-code -a path/to/your_agent.py:graph
80
- ```
81
-
82
- This launches an interactive conversation loop with your agent.
83
-
84
- ## Usage
85
-
86
- ```bash
87
- # Use the default agent
88
- deepagent-code
89
-
90
- # Send a message directly
91
- deepagent-code "Hello, agent!"
92
-
93
- # Specify a custom agent file
94
- deepagent-code -a my_agent.py:graph
95
-
96
- # Use a module path
97
- deepagent-code -a mypackage.agents:chatbot
98
-
99
- # Read message from a file
100
- deepagent-code -f ./prompt.md
101
-
102
- # Non-interactive mode (auto-approve tool calls)
103
- deepagent-code --no-interactive
104
-
105
- # Verbose output
106
- deepagent-code -v
107
-
108
- # Keyless demo agent (no API key needed)
109
- deepagent-code --demo
110
-
111
- # Print the resolved configuration: each value, its source, and the
112
- # env var / deepagents.toml key that sets it
113
- deepagent-code --show-config
114
- ```
115
-
116
- ## Commands
117
-
118
- In the interactive loop:
119
- - `/q` or `/quit` - Exit
120
- - `/c` - Clear conversation history
121
- - `/h` or `/help` - Show help
122
-
123
- ## Environment Variables
124
-
125
- ```bash
126
- # Agent location (path/to/file.py:variable_name or module:variable)
127
- # (DEEPAGENT_SPEC is still accepted as a deprecated alias)
128
- export DEEPAGENT_AGENT_SPEC="my_agent.py:graph"
129
- deepagent-code
130
-
131
- # Working directory
132
- export DEEPAGENT_WORKSPACE_ROOT="/path/to/workspace"
133
-
134
- # Stream mode (updates or values)
135
- export DEEPAGENT_STREAM_MODE="updates"
136
- ```
137
-
138
- ## Configuration Files
139
-
140
- `deepagent-code` reads TOML config from two locations and merges them
141
- (project overrides global):
142
-
143
- - **Global**: `~/.deepagents/config.toml` (shared with the upstream
144
- `deepagents` CLI)
145
- - **Project**: `deepagents.toml` in the current directory or any ancestor
146
-
147
- Precedence: CLI args > env vars > project TOML > global TOML > defaults.
148
-
149
- Example `deepagents.toml`:
150
-
151
- ```toml
152
- [agent]
153
- spec = "my_agent.py:graph"
154
- workspace_root = "."
155
-
156
- [ui]
157
- verbose = true
158
- async_mode = false
159
- stream_mode = "updates"
160
-
161
- [configurable]
162
- # seeds LangGraph RunnableConfig.configurable
163
- thread_id = "my-thread"
164
- ```
165
-
166
- ## CLI Options
167
-
168
- ```
169
- Usage: deepagent-code [OPTIONS] [MESSAGE]
170
-
171
- Arguments:
172
- MESSAGE Optional input to send to the agent immediately
173
-
174
- Options:
175
- -a, --agent TEXT Agent spec (path/to/file.py:graph or module:graph)
176
- -g, --graph-name TEXT Graph variable name (default: "graph")
177
- -f, --file PATH Read message from a file (any extension)
178
- --interactive/--no-interactive Handle interrupts (default: interactive)
179
- --async-mode/--sync-mode Async streaming (default: sync)
180
- --stream-mode TEXT Stream mode (updates or values)
181
- -v, --verbose Verbose output
182
- ```
183
-
184
- ## Creating Your Own Agent
185
-
186
- Your agent file should export a compiled LangGraph graph:
187
-
188
- ```python
189
- # my_agent.py
190
- from deepagents import create_deep_agent
191
- from langgraph.checkpoint.memory import MemorySaver
192
-
193
- agent = create_deep_agent(
194
- name="My Agent",
195
- model="anthropic:claude-sonnet-4-20250514",
196
- checkpointer=MemorySaver(),
197
- )
198
- ```
199
-
200
- Then run it:
201
- ```bash
202
- deepagent-code -a my_agent.py:agent
203
- ```
204
-
205
- ## Programmatic Use
206
-
207
- ```python
208
- from deepagent_code import stream_graph_updates, prepare_agent_input
209
-
210
- input_data = prepare_agent_input(message="Hello!")
211
-
212
- for chunk in stream_graph_updates(graph, input_data):
213
- if chunk.get("chunk"):
214
- print(chunk["chunk"], end="")
215
- ```
216
-
217
- ## License
218
-
219
- MIT License - see LICENSE file for details.
@@ -1,186 +0,0 @@
1
- # deepagent-code
2
-
3
- A Claude Code-style CLI for running LangGraph agents from the terminal.
4
-
5
- ![deepagent-code](examples/image.png)
6
-
7
- ## One agent, every surface
8
-
9
- deepagent-code is the terminal surface of the **deep-agent family**: write your agent once — any LangGraph `CompiledGraph` — and run it on every surface with the same spec string (`module:attr` or `path/to/file.py:attr`), the same `deepagents.toml` config file, and the same `DEEPAGENT_*` environment variables.
10
-
11
- | Surface | Package | Try it |
12
- |---|---|---|
13
- | Web app | [cowork-dash](https://github.com/dkedar7/cowork-dash) | `cowork-dash run --agent my_agent.py:graph` |
14
- | JupyterLab | [deepagent-lab](https://github.com/dkedar7/deepagent-lab) | `pip install deepagent-lab`, then the chat sidebar in `jupyter lab` |
15
- | Terminal | deepagent-code | **you are here** |
16
- | VS Code | [deepagent-vscode](https://github.com/dkedar7/deepagent-vscode) | chat participant + stdio sidecar |
17
- | Reference agent | [deepagent-hermes](https://github.com/dkedar7/deepagent-hermes) | `DEEPAGENT_AGENT_SPEC=deepagent_hermes.agent:graph` on any surface |
18
- | Shared core | [langgraph-stream-parser](https://github.com/dkedar7/langgraph-stream-parser) | typed events + config resolver behind every surface |
19
-
20
- ## Installation
21
-
22
- ```bash
23
- pip install deepagent-code
24
- ```
25
-
26
- Or install directly from GitHub:
27
- ```bash
28
- pip install git+https://github.com/dkedar7/deepagent-code.git
29
- ```
30
-
31
- ## Quick Start
32
-
33
- No agent or API key yet? See the CLI working in one command:
34
- ```bash
35
- deepagent-code --demo "hello"
36
- ```
37
-
38
- Run with the default agent (requires `ANTHROPIC_API_KEY`):
39
- ```bash
40
- export ANTHROPIC_API_KEY="your_api_key"
41
- deepagent-code
42
- ```
43
-
44
- Or specify your own agent:
45
- ```bash
46
- deepagent-code -a path/to/your_agent.py:graph
47
- ```
48
-
49
- This launches an interactive conversation loop with your agent.
50
-
51
- ## Usage
52
-
53
- ```bash
54
- # Use the default agent
55
- deepagent-code
56
-
57
- # Send a message directly
58
- deepagent-code "Hello, agent!"
59
-
60
- # Specify a custom agent file
61
- deepagent-code -a my_agent.py:graph
62
-
63
- # Use a module path
64
- deepagent-code -a mypackage.agents:chatbot
65
-
66
- # Read message from a file
67
- deepagent-code -f ./prompt.md
68
-
69
- # Non-interactive mode (auto-approve tool calls)
70
- deepagent-code --no-interactive
71
-
72
- # Verbose output
73
- deepagent-code -v
74
-
75
- # Keyless demo agent (no API key needed)
76
- deepagent-code --demo
77
-
78
- # Print the resolved configuration: each value, its source, and the
79
- # env var / deepagents.toml key that sets it
80
- deepagent-code --show-config
81
- ```
82
-
83
- ## Commands
84
-
85
- In the interactive loop:
86
- - `/q` or `/quit` - Exit
87
- - `/c` - Clear conversation history
88
- - `/h` or `/help` - Show help
89
-
90
- ## Environment Variables
91
-
92
- ```bash
93
- # Agent location (path/to/file.py:variable_name or module:variable)
94
- # (DEEPAGENT_SPEC is still accepted as a deprecated alias)
95
- export DEEPAGENT_AGENT_SPEC="my_agent.py:graph"
96
- deepagent-code
97
-
98
- # Working directory
99
- export DEEPAGENT_WORKSPACE_ROOT="/path/to/workspace"
100
-
101
- # Stream mode (updates or values)
102
- export DEEPAGENT_STREAM_MODE="updates"
103
- ```
104
-
105
- ## Configuration Files
106
-
107
- `deepagent-code` reads TOML config from two locations and merges them
108
- (project overrides global):
109
-
110
- - **Global**: `~/.deepagents/config.toml` (shared with the upstream
111
- `deepagents` CLI)
112
- - **Project**: `deepagents.toml` in the current directory or any ancestor
113
-
114
- Precedence: CLI args > env vars > project TOML > global TOML > defaults.
115
-
116
- Example `deepagents.toml`:
117
-
118
- ```toml
119
- [agent]
120
- spec = "my_agent.py:graph"
121
- workspace_root = "."
122
-
123
- [ui]
124
- verbose = true
125
- async_mode = false
126
- stream_mode = "updates"
127
-
128
- [configurable]
129
- # seeds LangGraph RunnableConfig.configurable
130
- thread_id = "my-thread"
131
- ```
132
-
133
- ## CLI Options
134
-
135
- ```
136
- Usage: deepagent-code [OPTIONS] [MESSAGE]
137
-
138
- Arguments:
139
- MESSAGE Optional input to send to the agent immediately
140
-
141
- Options:
142
- -a, --agent TEXT Agent spec (path/to/file.py:graph or module:graph)
143
- -g, --graph-name TEXT Graph variable name (default: "graph")
144
- -f, --file PATH Read message from a file (any extension)
145
- --interactive/--no-interactive Handle interrupts (default: interactive)
146
- --async-mode/--sync-mode Async streaming (default: sync)
147
- --stream-mode TEXT Stream mode (updates or values)
148
- -v, --verbose Verbose output
149
- ```
150
-
151
- ## Creating Your Own Agent
152
-
153
- Your agent file should export a compiled LangGraph graph:
154
-
155
- ```python
156
- # my_agent.py
157
- from deepagents import create_deep_agent
158
- from langgraph.checkpoint.memory import MemorySaver
159
-
160
- agent = create_deep_agent(
161
- name="My Agent",
162
- model="anthropic:claude-sonnet-4-20250514",
163
- checkpointer=MemorySaver(),
164
- )
165
- ```
166
-
167
- Then run it:
168
- ```bash
169
- deepagent-code -a my_agent.py:agent
170
- ```
171
-
172
- ## Programmatic Use
173
-
174
- ```python
175
- from deepagent_code import stream_graph_updates, prepare_agent_input
176
-
177
- input_data = prepare_agent_input(message="Hello!")
178
-
179
- for chunk in stream_graph_updates(graph, input_data):
180
- if chunk.get("chunk"):
181
- print(chunk["chunk"], end="")
182
- ```
183
-
184
- ## License
185
-
186
- MIT License - see LICENSE file for details.
@@ -1,27 +0,0 @@
1
- """
2
- deepagent_code - A Claude Code-style CLI for running LangGraph agents.
3
-
4
- The streaming / interrupt utilities that used to live here now come from
5
- ``langgraph-stream-parser``. This package re-exports its dict-based convenience
6
- API for backward compatibility; the lower-level helpers (interrupt parsing,
7
- tool-call serialization, content extraction) are available from
8
- ``langgraph_stream_parser.extractors`` if needed directly.
9
- """
10
-
11
- from langgraph_stream_parser import (
12
- prepare_agent_input,
13
- stream_graph_updates,
14
- resume_graph_from_interrupt,
15
- astream_graph_updates,
16
- aresume_graph_from_interrupt,
17
- )
18
-
19
- __version__ = "0.2.0"
20
-
21
- __all__ = [
22
- "prepare_agent_input",
23
- "stream_graph_updates",
24
- "resume_graph_from_interrupt",
25
- "astream_graph_updates",
26
- "aresume_graph_from_interrupt",
27
- ]