grasp_agents 0.1.9__tar.gz → 0.1.12__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.
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/LICENSE.md +2 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/PKG-INFO +27 -69
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/README.md +26 -68
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/pyproject.toml +2 -1
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/.gitignore +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/LICENSE +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/agent_message.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/agent_message_pool.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/base_agent.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/cloud_llm.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/comm_agent.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/costs_dict.yaml +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/data_retrieval/__init__.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/data_retrieval/rate_limiter_chunked.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/data_retrieval/types.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/data_retrieval/utils.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/grasp_logging.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/http_client.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/llm.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/llm_agent.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/llm_agent_state.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/memory.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/openai/__init__.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/openai/completion_converters.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/openai/content_converters.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/openai/converters.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/openai/message_converters.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/openai/openai_llm.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/openai/tool_converters.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/printer.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/prompt_builder.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/run_context.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/tool_orchestrator.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/typing/__init__.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/typing/completion.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/typing/content.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/typing/converters.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/typing/io.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/typing/message.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/typing/tool.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/usage_tracker.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/utils.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/workflow/__init__.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/workflow/looped_agent.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/workflow/sequential_agent.py +0 -0
- {grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/workflow/workflow_agent.py +0 -0
@@ -4,6 +4,8 @@ Package production dependencies are licensed under the following terms:
|
|
4
4
|
|
5
5
|
| Name | Version | License | URL |
|
6
6
|
| --------- | ------- | ------------------------------------------------- | --------------------------------------- |
|
7
|
+
| PyYAML | 6.0.2 | MIT License | https://pyyaml.org/ |
|
8
|
+
| dotenv | 0.9.9 | BSD-3-Clause license | https://github.com/pedroburon/dotenv |
|
7
9
|
| httpx | 0.28.1 | BSD License | https://github.com/encode/httpx |
|
8
10
|
| openai | 1.77.0 | Apache Software License | https://github.com/openai/openai-python |
|
9
11
|
| tenacity | 9.1.2 | Apache Software License | https://github.com/jd/tenacity |
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: grasp_agents
|
3
|
-
Version: 0.1.
|
3
|
+
Version: 0.1.12
|
4
4
|
Summary: Grasp Agents Library
|
5
5
|
License-File: LICENSE
|
6
6
|
License-File: LICENSE.md
|
@@ -14,7 +14,7 @@ Requires-Dist: termcolor<3,>=2.4.0
|
|
14
14
|
Requires-Dist: tqdm<5,>=4.66.2
|
15
15
|
Description-Content-Type: text/markdown
|
16
16
|
|
17
|
-
#
|
17
|
+
# Grasp Agents
|
18
18
|
|
19
19
|
<br/>
|
20
20
|
<img src="./.assets/grasp.svg" alt="Grasp Agents" width="320" />
|
@@ -27,7 +27,7 @@ Description-Content-Type: text/markdown
|
|
27
27
|
|
28
28
|
## Overview
|
29
29
|
|
30
|
-
|
30
|
+
**Grasp Agents** is a modular Python framework for building agentic AI pipelines and applications. It provides reusable agent classes, message handling, LLM integration, memory, and orchestration utilities. The framework is designed for flexibility, composability, and clarity, enabling rapid prototyping and robust development of multi-agent systems.
|
31
31
|
|
32
32
|
## Features
|
33
33
|
|
@@ -50,11 +50,11 @@ grasp-agents is a modular Python framework for building agentic AI pipelines and
|
|
50
50
|
- `configs/` — Configuration files
|
51
51
|
- `data/` — Logs and datasets
|
52
52
|
|
53
|
-
## Quickstart & Installation Variants
|
53
|
+
## Quickstart & Installation Variants (UV Package manager)
|
54
54
|
|
55
55
|
### Option 1: UV Package Manager Project
|
56
56
|
|
57
|
-
> **Note:** You can check this sample project code in the [src/grasp_agents/examples/demo/uv](src/grasp_agents/examples/demo/uv) folder. Feel free to copy and paste the code from there to a separate project.
|
57
|
+
> **Note:** You can check this sample project code in the [src/grasp_agents/examples/demo/uv](src/grasp_agents/examples/demo/uv) folder. Feel free to copy and paste the code from there to a separate project. There are also [examples](src/grasp_agents/examples/demo/) for other package managers.
|
58
58
|
|
59
59
|
#### 1. Prerequisites
|
60
60
|
|
@@ -150,70 +150,6 @@ Run your script:
|
|
150
150
|
uv run hello.py
|
151
151
|
```
|
152
152
|
|
153
|
-
---
|
154
|
-
|
155
|
-
### Option 2: PIP-only (requirements.txt-based) Project
|
156
|
-
|
157
|
-
> **Note:** You can check this sample project code in the [src/grasp_agents/examples/demo/pip](src/grasp_agents/examples/demo/pip) folder. Feel free to copy and paste the code from there to a separate project.
|
158
|
-
|
159
|
-
#### 1. Create Project Folder
|
160
|
-
|
161
|
-
```bash
|
162
|
-
mkdir my-test-pip-app
|
163
|
-
cd my-test-pip-app
|
164
|
-
```
|
165
|
-
|
166
|
-
#### 2. Install Python 3.11.9 (Recommended)
|
167
|
-
|
168
|
-
If using [pyenv](https://github.com/pyenv/pyenv):
|
169
|
-
|
170
|
-
```bash
|
171
|
-
brew install pyenv
|
172
|
-
pyenv install 3.11.9
|
173
|
-
pyenv local 3.11.9
|
174
|
-
```
|
175
|
-
|
176
|
-
Open a new terminal after setting the Python version.
|
177
|
-
|
178
|
-
#### 3. Create & Activate Virtual Environment
|
179
|
-
|
180
|
-
```bash
|
181
|
-
python -m venv .venv
|
182
|
-
source .venv/bin/activate
|
183
|
-
```
|
184
|
-
|
185
|
-
If you see `ModuleNotFoundError: No module named 'yaml'`, run:
|
186
|
-
|
187
|
-
```bash
|
188
|
-
pip install pyyaml
|
189
|
-
```
|
190
|
-
|
191
|
-
#### 4. Install Grasp Agents SDK
|
192
|
-
|
193
|
-
If you have a `requirements.txt`:
|
194
|
-
|
195
|
-
```bash
|
196
|
-
pip install -r requirements.txt
|
197
|
-
```
|
198
|
-
|
199
|
-
Or install directly:
|
200
|
-
|
201
|
-
```bash
|
202
|
-
pip install grasp-agents
|
203
|
-
```
|
204
|
-
|
205
|
-
#### 5. Example Usage
|
206
|
-
|
207
|
-
Create a file, e.g., `hello.py`, and use the same code as above.
|
208
|
-
|
209
|
-
#### 6. Run the App
|
210
|
-
|
211
|
-
```bash
|
212
|
-
python hello.py
|
213
|
-
```
|
214
|
-
|
215
|
-
---
|
216
|
-
|
217
153
|
## Development
|
218
154
|
|
219
155
|
To develop and test the library locally, follow these steps:
|
@@ -256,3 +192,25 @@ You're now ready to run and experiment with the example notebook.
|
|
256
192
|
- [Ruff](https://marketplace.visualstudio.com/items/?itemName=charliermarsh.ruff) -- for formatting and code analysis
|
257
193
|
- [Pylint](https://marketplace.visualstudio.com/items/?itemName=ms-python.pylint) -- for linting
|
258
194
|
- [Pylance](https://marketplace.visualstudio.com/items/?itemName=ms-python.vscode-pylance) -- for type checking
|
195
|
+
|
196
|
+
### Releasing: Maintainers Only
|
197
|
+
|
198
|
+
To release a new version of the package, follow these steps:
|
199
|
+
|
200
|
+
1. Create a new branch for the release: `git checkout -b release-X.Y.Z`.
|
201
|
+
|
202
|
+
2. Update the version in `pyproject.toml`.
|
203
|
+
|
204
|
+
3. Commit the changes with a message like "Bump version to X.Y.Z". `git commit -m "Bump version to X.Y.Z"`.
|
205
|
+
|
206
|
+
4. Make a pull request to the `master` branch.
|
207
|
+
|
208
|
+
5. Once the pull request is approved and merged, checkout the `master` branch: `git checkout master`.
|
209
|
+
|
210
|
+
6. Pull the latest changes: `git pull origin master`.
|
211
|
+
|
212
|
+
7. Tag the release: `git tag vX.Y.Z`. Note that a tag name should be in the format `vX.Y.Z`.
|
213
|
+
|
214
|
+
8. Push the tag to the remote repository: `git push --tags`.
|
215
|
+
|
216
|
+
9. This will trigger the [release workflow](.github/workflows/workflow.yml), which will build and publish the package to PyPI.
|
@@ -1,4 +1,4 @@
|
|
1
|
-
#
|
1
|
+
# Grasp Agents
|
2
2
|
|
3
3
|
<br/>
|
4
4
|
<img src="./.assets/grasp.svg" alt="Grasp Agents" width="320" />
|
@@ -11,7 +11,7 @@
|
|
11
11
|
|
12
12
|
## Overview
|
13
13
|
|
14
|
-
|
14
|
+
**Grasp Agents** is a modular Python framework for building agentic AI pipelines and applications. It provides reusable agent classes, message handling, LLM integration, memory, and orchestration utilities. The framework is designed for flexibility, composability, and clarity, enabling rapid prototyping and robust development of multi-agent systems.
|
15
15
|
|
16
16
|
## Features
|
17
17
|
|
@@ -34,11 +34,11 @@ grasp-agents is a modular Python framework for building agentic AI pipelines and
|
|
34
34
|
- `configs/` — Configuration files
|
35
35
|
- `data/` — Logs and datasets
|
36
36
|
|
37
|
-
## Quickstart & Installation Variants
|
37
|
+
## Quickstart & Installation Variants (UV Package manager)
|
38
38
|
|
39
39
|
### Option 1: UV Package Manager Project
|
40
40
|
|
41
|
-
> **Note:** You can check this sample project code in the [src/grasp_agents/examples/demo/uv](src/grasp_agents/examples/demo/uv) folder. Feel free to copy and paste the code from there to a separate project.
|
41
|
+
> **Note:** You can check this sample project code in the [src/grasp_agents/examples/demo/uv](src/grasp_agents/examples/demo/uv) folder. Feel free to copy and paste the code from there to a separate project. There are also [examples](src/grasp_agents/examples/demo/) for other package managers.
|
42
42
|
|
43
43
|
#### 1. Prerequisites
|
44
44
|
|
@@ -134,70 +134,6 @@ Run your script:
|
|
134
134
|
uv run hello.py
|
135
135
|
```
|
136
136
|
|
137
|
-
---
|
138
|
-
|
139
|
-
### Option 2: PIP-only (requirements.txt-based) Project
|
140
|
-
|
141
|
-
> **Note:** You can check this sample project code in the [src/grasp_agents/examples/demo/pip](src/grasp_agents/examples/demo/pip) folder. Feel free to copy and paste the code from there to a separate project.
|
142
|
-
|
143
|
-
#### 1. Create Project Folder
|
144
|
-
|
145
|
-
```bash
|
146
|
-
mkdir my-test-pip-app
|
147
|
-
cd my-test-pip-app
|
148
|
-
```
|
149
|
-
|
150
|
-
#### 2. Install Python 3.11.9 (Recommended)
|
151
|
-
|
152
|
-
If using [pyenv](https://github.com/pyenv/pyenv):
|
153
|
-
|
154
|
-
```bash
|
155
|
-
brew install pyenv
|
156
|
-
pyenv install 3.11.9
|
157
|
-
pyenv local 3.11.9
|
158
|
-
```
|
159
|
-
|
160
|
-
Open a new terminal after setting the Python version.
|
161
|
-
|
162
|
-
#### 3. Create & Activate Virtual Environment
|
163
|
-
|
164
|
-
```bash
|
165
|
-
python -m venv .venv
|
166
|
-
source .venv/bin/activate
|
167
|
-
```
|
168
|
-
|
169
|
-
If you see `ModuleNotFoundError: No module named 'yaml'`, run:
|
170
|
-
|
171
|
-
```bash
|
172
|
-
pip install pyyaml
|
173
|
-
```
|
174
|
-
|
175
|
-
#### 4. Install Grasp Agents SDK
|
176
|
-
|
177
|
-
If you have a `requirements.txt`:
|
178
|
-
|
179
|
-
```bash
|
180
|
-
pip install -r requirements.txt
|
181
|
-
```
|
182
|
-
|
183
|
-
Or install directly:
|
184
|
-
|
185
|
-
```bash
|
186
|
-
pip install grasp-agents
|
187
|
-
```
|
188
|
-
|
189
|
-
#### 5. Example Usage
|
190
|
-
|
191
|
-
Create a file, e.g., `hello.py`, and use the same code as above.
|
192
|
-
|
193
|
-
#### 6. Run the App
|
194
|
-
|
195
|
-
```bash
|
196
|
-
python hello.py
|
197
|
-
```
|
198
|
-
|
199
|
-
---
|
200
|
-
|
201
137
|
## Development
|
202
138
|
|
203
139
|
To develop and test the library locally, follow these steps:
|
@@ -240,3 +176,25 @@ You're now ready to run and experiment with the example notebook.
|
|
240
176
|
- [Ruff](https://marketplace.visualstudio.com/items/?itemName=charliermarsh.ruff) -- for formatting and code analysis
|
241
177
|
- [Pylint](https://marketplace.visualstudio.com/items/?itemName=ms-python.pylint) -- for linting
|
242
178
|
- [Pylance](https://marketplace.visualstudio.com/items/?itemName=ms-python.vscode-pylance) -- for type checking
|
179
|
+
|
180
|
+
### Releasing: Maintainers Only
|
181
|
+
|
182
|
+
To release a new version of the package, follow these steps:
|
183
|
+
|
184
|
+
1. Create a new branch for the release: `git checkout -b release-X.Y.Z`.
|
185
|
+
|
186
|
+
2. Update the version in `pyproject.toml`.
|
187
|
+
|
188
|
+
3. Commit the changes with a message like "Bump version to X.Y.Z". `git commit -m "Bump version to X.Y.Z"`.
|
189
|
+
|
190
|
+
4. Make a pull request to the `master` branch.
|
191
|
+
|
192
|
+
5. Once the pull request is approved and merged, checkout the `master` branch: `git checkout master`.
|
193
|
+
|
194
|
+
6. Pull the latest changes: `git pull origin master`.
|
195
|
+
|
196
|
+
7. Tag the release: `git tag vX.Y.Z`. Note that a tag name should be in the format `vX.Y.Z`.
|
197
|
+
|
198
|
+
8. Push the tag to the remote repository: `git push --tags`.
|
199
|
+
|
200
|
+
9. This will trigger the [release workflow](.github/workflows/workflow.yml), which will build and publish the package to PyPI.
|
@@ -1,6 +1,6 @@
|
|
1
1
|
[project]
|
2
2
|
name = "grasp_agents"
|
3
|
-
version = "0.1.
|
3
|
+
version = "0.1.12"
|
4
4
|
description = "Grasp Agents Library"
|
5
5
|
readme = "README.md"
|
6
6
|
requires-python = ">=3.11.4,<3.12"
|
@@ -27,6 +27,7 @@ dev = [
|
|
27
27
|
"twine>=5.1.1,<6",
|
28
28
|
"ruff>=0.11.8",
|
29
29
|
"pyright>=1.1.400",
|
30
|
+
"pip-licenses>=5.0.0",
|
30
31
|
]
|
31
32
|
|
32
33
|
[build-system]
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{grasp_agents-0.1.9 → grasp_agents-0.1.12}/src/grasp_agents/data_retrieval/rate_limiter_chunked.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|