supyagent 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of supyagent might be problematic. Click here for more details.

@@ -0,0 +1,328 @@
1
+ Metadata-Version: 2.4
2
+ Name: supyagent
3
+ Version: 0.1.0
4
+ Summary: LLM agents powered by supypowers - build AI agents with tool use, multi-agent orchestration, and secure credential management
5
+ Project-URL: Homepage, https://github.com/ergodic-ai/supyagent
6
+ Project-URL: Documentation, https://github.com/ergodic-ai/supyagent#readme
7
+ Project-URL: Repository, https://github.com/ergodic-ai/supyagent
8
+ Project-URL: Issues, https://github.com/ergodic-ai/supyagent/issues
9
+ Author-email: Ergodic AI <hello@ergodic.ai>
10
+ License: MIT
11
+ License-File: LICENSE
12
+ Keywords: agent,ai,automation,chatbot,litellm,llm,multi-agent,orchestration,supypowers,tools
13
+ Classifier: Development Status :: 4 - Beta
14
+ Classifier: Intended Audience :: Developers
15
+ Classifier: License :: OSI Approved :: MIT License
16
+ Classifier: Operating System :: OS Independent
17
+ Classifier: Programming Language :: Python :: 3
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
22
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
23
+ Classifier: Typing :: Typed
24
+ Requires-Python: >=3.11
25
+ Requires-Dist: click>=8.0
26
+ Requires-Dist: cryptography>=41.0
27
+ Requires-Dist: litellm>=1.30.0
28
+ Requires-Dist: pydantic>=2.0
29
+ Requires-Dist: pyyaml>=6.0
30
+ Requires-Dist: rich>=13.0
31
+ Provides-Extra: dev
32
+ Requires-Dist: pytest-cov>=4.0; extra == 'dev'
33
+ Requires-Dist: pytest>=7.0; extra == 'dev'
34
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
35
+ Description-Content-Type: text/markdown
36
+
37
+ # Supyagent
38
+
39
+ [![PyPI version](https://badge.fury.io/py/supyagent.svg)](https://badge.fury.io/py/supyagent)
40
+ [![Python 3.11+](https://img.shields.io/badge/python-3.11+-blue.svg)](https://www.python.org/downloads/)
41
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
42
+
43
+ LLM agents powered by [supypowers](https://github.com/ergodic-ai/supypowers) tools.
44
+
45
+ ## Features
46
+
47
+ - 🤖 **Interactive & Execution Agents** - Chat interactively or run automated pipelines
48
+ - 🔧 **Tool Integration** - Use any supypowers function as an agent tool
49
+ - 🌐 **Any LLM Provider** - Via [LiteLLM](https://docs.litellm.ai/docs/) (OpenAI, Anthropic, Ollama, etc.)
50
+ - 📝 **YAML Configuration** - Simple, declarative agent definitions
51
+ - 🔄 **Session Persistence** - Conversations persist across sessions
52
+ - 🔐 **Credential Management** - Secure storage for API keys and secrets
53
+ - 🎭 **Multi-Agent Orchestration** - Agents can delegate tasks to other agents
54
+ - 📦 **Batch Processing** - Process multiple inputs from JSONL/CSV files
55
+
56
+ ## Installation
57
+
58
+ ```bash
59
+ pip install supyagent
60
+ ```
61
+
62
+ Or with [uv](https://github.com/astral-sh/uv):
63
+
64
+ ```bash
65
+ uv pip install supyagent
66
+ ```
67
+
68
+ ## Quick Start
69
+
70
+ ```bash
71
+ # Create your first agent
72
+ supyagent new myagent
73
+
74
+ # Start chatting
75
+ supyagent chat myagent
76
+ ```
77
+
78
+ ## Usage
79
+
80
+ ### Interactive Mode
81
+
82
+ ```bash
83
+ # Create an interactive agent
84
+ supyagent new researcher
85
+
86
+ # Chat with it
87
+ supyagent chat researcher
88
+
89
+ # Resume a previous session
90
+ supyagent chat researcher --session <session-id>
91
+
92
+ # Start fresh
93
+ supyagent chat researcher --new
94
+ ```
95
+
96
+ ### Execution Mode
97
+
98
+ For automation and pipelines:
99
+
100
+ ```bash
101
+ # Create an execution agent
102
+ supyagent new summarizer --type execution
103
+
104
+ # Run with inline input
105
+ supyagent run summarizer "Summarize this text..."
106
+
107
+ # Run with file input
108
+ supyagent run summarizer --input document.txt
109
+
110
+ # Get JSON output
111
+ supyagent run summarizer --input doc.txt --output json
112
+
113
+ # Pipe from stdin
114
+ cat article.txt | supyagent run summarizer
115
+ ```
116
+
117
+ ### Batch Processing
118
+
119
+ ```bash
120
+ # Process multiple inputs
121
+ supyagent batch summarizer inputs.jsonl --output results.jsonl
122
+
123
+ # From CSV
124
+ supyagent batch summarizer data.csv --format csv
125
+ ```
126
+
127
+ ### Multi-Agent Orchestration
128
+
129
+ ```bash
130
+ # Use the planning agent to orchestrate complex tasks
131
+ supyagent plan "Build a Python library for data validation"
132
+
133
+ # The planner will delegate to specialist agents (coder, writer, researcher)
134
+ ```
135
+
136
+ ## Agent Configuration
137
+
138
+ Agents are defined in YAML files in the `agents/` directory:
139
+
140
+ ```yaml
141
+ name: researcher
142
+ description: An AI research assistant
143
+ type: interactive # or "execution"
144
+
145
+ model:
146
+ provider: anthropic/claude-3-5-sonnet-20241022
147
+ temperature: 0.7
148
+ max_tokens: 4096
149
+
150
+ system_prompt: |
151
+ You are a helpful research assistant...
152
+
153
+ tools:
154
+ allow:
155
+ - "*" # Allow all tools
156
+ # or be specific:
157
+ # - "web:*" # All functions in web.py
158
+ # - "math:calc" # Specific function
159
+ deny:
160
+ - "dangerous:*" # Block specific tools
161
+
162
+ # For multi-agent support
163
+ delegates:
164
+ - coder
165
+ - writer
166
+ ```
167
+
168
+ ### LLM Providers
169
+
170
+ Supyagent uses LiteLLM, supporting 100+ providers:
171
+
172
+ ```yaml
173
+ model:
174
+ # OpenAI
175
+ provider: openai/gpt-4o
176
+
177
+ # Anthropic
178
+ provider: anthropic/claude-3-5-sonnet-20241022
179
+
180
+ # Ollama (local)
181
+ provider: ollama/llama3
182
+
183
+ # Azure OpenAI
184
+ provider: azure/gpt-4
185
+
186
+ # Google
187
+ provider: gemini/gemini-pro
188
+ ```
189
+
190
+ Set API keys as environment variables:
191
+
192
+ ```bash
193
+ export OPENAI_API_KEY=sk-...
194
+ export ANTHROPIC_API_KEY=sk-ant-...
195
+ ```
196
+
197
+ ## CLI Reference
198
+
199
+ ### Core Commands
200
+
201
+ | Command | Description |
202
+ |---------|-------------|
203
+ | `supyagent new <name>` | Create a new agent |
204
+ | `supyagent list` | List all agents |
205
+ | `supyagent show <name>` | Show agent details |
206
+ | `supyagent chat <name>` | Interactive chat session |
207
+ | `supyagent run <name> <task>` | Execute agent (non-interactive) |
208
+ | `supyagent batch <name> <file>` | Process multiple inputs |
209
+ | `supyagent plan <task>` | Run task through planning agent |
210
+
211
+ ### Session Commands
212
+
213
+ | Command | Description |
214
+ |---------|-------------|
215
+ | `supyagent sessions <name>` | List sessions for an agent |
216
+ | `supyagent chat <name> --session <id>` | Resume a session |
217
+ | `supyagent chat <name> --new` | Start a new session |
218
+
219
+ ### Agent Management
220
+
221
+ | Command | Description |
222
+ |---------|-------------|
223
+ | `supyagent agents` | List active agent instances |
224
+ | `supyagent cleanup` | Remove completed instances |
225
+
226
+ ### In-Chat Commands
227
+
228
+ While chatting, use these commands:
229
+
230
+ | Command | Description |
231
+ |---------|-------------|
232
+ | `/help` | Show available commands |
233
+ | `/tools` | List available tools |
234
+ | `/history` | Show conversation history |
235
+ | `/sessions` | List your sessions |
236
+ | `/switch <id>` | Switch to another session |
237
+ | `/new` | Start a new session |
238
+ | `/save <title>` | Save session with title |
239
+ | `/export <file>` | Export session to file |
240
+ | `/model <name>` | Switch LLM model |
241
+ | `/creds` | Manage stored credentials |
242
+ | `/clear` | Clear conversation history |
243
+ | `/quit` | Exit the chat |
244
+
245
+ ## Project Structure
246
+
247
+ ```
248
+ your-project/
249
+ ├── agents/ # Agent YAML definitions
250
+ │ ├── assistant.yaml
251
+ │ ├── planner.yaml
252
+ │ └── researcher.yaml
253
+ ├── supypowers/ # Tool definitions (Python)
254
+ │ ├── hello.py
255
+ │ └── web_search.py
256
+ └── .supyagent/ # Runtime data (gitignore this)
257
+ ├── sessions/ # Conversation history
258
+ ├── credentials/ # Encrypted secrets
259
+ └── registry.json # Agent instances
260
+ ```
261
+
262
+ ## Credential Management
263
+
264
+ Supyagent securely manages API keys and secrets:
265
+
266
+ ```bash
267
+ # In chat, agents can request credentials
268
+ 🔑 Credential requested: SLACK_API_TOKEN
269
+ Purpose: To send messages to Slack
270
+ Enter value (or press Enter to skip): ****
271
+ Save for future sessions? [Y/n]: y
272
+
273
+ # View stored credentials
274
+ /creds
275
+ ```
276
+
277
+ Credentials are encrypted at rest using Fernet encryption.
278
+
279
+ ## Multi-Agent Architecture
280
+
281
+ Create orchestrator agents that delegate to specialists:
282
+
283
+ ```yaml
284
+ # agents/planner.yaml
285
+ name: planner
286
+ type: interactive
287
+
288
+ delegates:
289
+ - researcher # Can delegate research tasks
290
+ - coder # Can delegate coding tasks
291
+ - writer # Can delegate writing tasks
292
+
293
+ system_prompt: |
294
+ You are a planning agent. Break down complex tasks
295
+ and delegate to specialist agents...
296
+ ```
297
+
298
+ The planner can then:
299
+ 1. Analyze tasks
300
+ 2. Create execution plans
301
+ 3. Delegate subtasks to appropriate agents
302
+ 4. Synthesize results
303
+
304
+ ## Development
305
+
306
+ ```bash
307
+ # Clone the repo
308
+ git clone https://github.com/ergodic-ai/supyagent
309
+ cd supyagent
310
+
311
+ # Install with dev dependencies
312
+ uv pip install -e ".[dev]"
313
+
314
+ # Run tests
315
+ pytest
316
+
317
+ # Run linting
318
+ ruff check .
319
+ ```
320
+
321
+ ## License
322
+
323
+ MIT
324
+
325
+ ## Related Projects
326
+
327
+ - [supypowers](https://github.com/ergodic-ai/supypowers) - Tool execution framework
328
+ - [LiteLLM](https://github.com/BerriAI/litellm) - LLM provider abstraction
@@ -0,0 +1,24 @@
1
+ supyagent/__init__.py,sha256=JrrQbk1bmDhUb2qOqxqDGBq1V-oArwVS4f5f9Qu-VcM,77
2
+ supyagent/__main__.py,sha256=szUvsccEIA428c2_5J_X1qzq4L44qLvDvHfuRPYoy7c,121
3
+ supyagent/cli/__init__.py,sha256=7jb5kxHtzce4rNKd9zrAiATp3Zxj7UQvtpQsyA97BTc,32
4
+ supyagent/cli/main.py,sha256=5oM_IZ85C3gyW_ypPmFi3x-khkgd7tZrbowW_kJ_JhY,31028
5
+ supyagent/core/__init__.py,sha256=5GOA6Ca5UBWG_d6lhfZxYdKdDjnKE4UdVooe0lUDpe0,626
6
+ supyagent/core/agent.py,sha256=mkiV6CnK6Vk0Wg-DiAMm29wAViMa52-1Yb33Y5-FvQY,12655
7
+ supyagent/core/context.py,sha256=ywen6IjWxcudxtipeqA_PHpZKdjK52eqOb9xy7QKnTM,4565
8
+ supyagent/core/credentials.py,sha256=35JBrzMOEDzHnn3XuyGmRjXVdSICL3tups3BLO_NCXQ,7600
9
+ supyagent/core/delegation.py,sha256=B6OYlLjkZaRTPMQsK9nIGeXVO9JeC7RDpxXsOk652xs,9391
10
+ supyagent/core/executor.py,sha256=awJXseQKO0I-D-5YqGxJ9MEN1b2DTVk_8kOQZExFYhs,7893
11
+ supyagent/core/llm.py,sha256=z16cjqjPfwRGtEpUhZe1XlzOXJdlgKHjckNdeJnEWYw,1898
12
+ supyagent/core/registry.py,sha256=1CGCPsOcrIc_63_oJaFmHY8WwMgJEvbwsv8mnsOBWtY,7326
13
+ supyagent/core/session_manager.py,sha256=ngqrbofR8V0wZSuOfGHTtSYE0C9U6noDrzfDsO8wi24,7389
14
+ supyagent/core/tools.py,sha256=exIynhwulsMJTzzW5NmDqBeXepULAt4FlVhGbtrvdXE,6627
15
+ supyagent/models/__init__.py,sha256=y7fIdzh-yD0LKAK0zfY_MZdtjJhxofwRWBqrHDU93h0,259
16
+ supyagent/models/agent_config.py,sha256=sQ7S7zExoFs0g-IMgACsGH2SMiDRjJTnCVZwhN6DnkY,2570
17
+ supyagent/models/session.py,sha256=_Dwuija_Uvt_KzcNp82ja8qP5ltNHHz43Llug1vq1ic,1136
18
+ supyagent/utils/__init__.py,sha256=l4HdE3n8axphMInBex1J1dB_O1MjzbZz6ot1l8Syf0g,39
19
+ supyagent/utils/paths.py,sha256=Xum9kX_UjRvmshifSq423QsAKynpnyAVfpWuFjlsdDQ,692
20
+ supyagent-0.1.0.dist-info/METADATA,sha256=ooG14oWAy-YelwL-QC3DDZL8aFhDzM6Gs9mdjFW3xw4,8430
21
+ supyagent-0.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
22
+ supyagent-0.1.0.dist-info/entry_points.txt,sha256=7dFXWtRewhLfA5XUckV7Yu1E5_c6c9lq8Gz-7BFs6TM,53
23
+ supyagent-0.1.0.dist-info/licenses/LICENSE,sha256=35fw1cvTM-IhiR3xaUohbiFBc2OBNRjI5z1b1cF7vZI,1067
24
+ supyagent-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.28.0
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ supyagent = supyagent.cli.main:cli
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Ergodic AI
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.