basic-open-agent-tools 0.2.0__tar.gz → 0.3.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.
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/LICENSE +2 -2
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/PKG-INFO +91 -56
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/README.md +72 -21
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/pyproject.toml +6 -19
- basic_open_agent_tools-0.3.0/setup.cfg +4 -0
- basic_open_agent_tools-0.3.0/setup.py +65 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/__init__.py +13 -3
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/__init__.py +85 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/csv_tools.py +376 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/json_tools.py +144 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/structures.py +413 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/validation.py +336 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/exceptions.py +31 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/helpers.py +303 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/types.py +6 -1
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/PKG-INFO +184 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/SOURCES.txt +36 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/dependency_links.txt +1 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/requires.txt +11 -0
- basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/top_level.txt +1 -0
- basic_open_agent_tools-0.3.0/tests/test_data_csv_tools.py +453 -0
- basic_open_agent_tools-0.3.0/tests/test_data_json_tools.py +245 -0
- basic_open_agent_tools-0.3.0/tests/test_data_structures.py +435 -0
- basic_open_agent_tools-0.3.0/tests/test_data_validation.py +454 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/tests/test_helpers.py +46 -0
- basic_open_agent_tools-0.2.0/.gitignore +0 -288
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/crypto/TODO.md +0 -63
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/data/TODO.md +0 -72
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/data/__init__.py +0 -8
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/exceptions.py +0 -13
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/file_system/TODO.md +0 -58
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/helpers.py +0 -142
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/network/TODO.md +0 -58
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/system/TODO.md +0 -65
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/text/TODO.md +0 -69
- basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/utilities/TODO.md +0 -82
- basic_open_agent_tools-0.2.0/tests/__init__.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/crypto/__init__.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/file_system/__init__.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/file_system/info.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/file_system/operations.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/file_system/tree.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/file_system/validation.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/network/__init__.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/system/__init__.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/text/__init__.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/text/processing.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/utilities/__init__.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/tests/test_file_system_tools.py +0 -0
- {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/tests/test_text_processing.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c)
|
|
3
|
+
Copyright (c) 2024 Open Agent Tools
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
|
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
|
18
18
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
19
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
20
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
21
|
+
SOFTWARE.
|
|
@@ -1,38 +1,17 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: basic-open-agent-tools
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
4
4
|
Summary: An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions.
|
|
5
|
+
Home-page: https://github.com/open-agent-tools/basic-open-agent-tools
|
|
6
|
+
Author: Open Agent Tools
|
|
7
|
+
Author-email: Open Agent Tools <unseriousai@gmail.com>
|
|
5
8
|
Project-URL: Homepage, https://github.com/open-agent-tools/basic-open-agent-tools
|
|
6
9
|
Project-URL: Documentation, https://github.com/open-agent-tools/basic-open-agent-tools#readme
|
|
7
10
|
Project-URL: Repository, https://github.com/open-agent-tools/basic-open-agent-tools
|
|
8
11
|
Project-URL: Issues, https://github.com/open-agent-tools/basic-open-agent-tools/issues
|
|
9
|
-
|
|
10
|
-
License: MIT License
|
|
11
|
-
|
|
12
|
-
Copyright (c) 2025 Open Agent Tools
|
|
13
|
-
|
|
14
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
15
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
16
|
-
in the Software without restriction, including without limitation the rights
|
|
17
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
18
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
19
|
-
furnished to do so, subject to the following conditions:
|
|
20
|
-
|
|
21
|
-
The above copyright notice and this permission notice shall be included in all
|
|
22
|
-
copies or substantial portions of the Software.
|
|
23
|
-
|
|
24
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
25
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
26
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
27
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
28
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
29
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
30
|
-
SOFTWARE.
|
|
31
|
-
License-File: LICENSE
|
|
32
|
-
Keywords: agents,ai,automation,local-tools,toolkit
|
|
12
|
+
Keywords: ai,agents,toolkit,automation,local-tools
|
|
33
13
|
Classifier: Development Status :: 3 - Alpha
|
|
34
14
|
Classifier: Intended Audience :: Developers
|
|
35
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
36
15
|
Classifier: Operating System :: OS Independent
|
|
37
16
|
Classifier: Programming Language :: Python :: 3
|
|
38
17
|
Classifier: Programming Language :: Python :: 3.8
|
|
@@ -40,19 +19,24 @@ Classifier: Programming Language :: Python :: 3.9
|
|
|
40
19
|
Classifier: Programming Language :: Python :: 3.10
|
|
41
20
|
Classifier: Programming Language :: Python :: 3.11
|
|
42
21
|
Classifier: Programming Language :: Python :: 3.12
|
|
43
|
-
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
44
22
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
23
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
45
24
|
Requires-Python: >=3.8
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
License-File: LICENSE
|
|
46
27
|
Provides-Extra: dev
|
|
47
|
-
Requires-Dist:
|
|
48
|
-
Requires-Dist:
|
|
49
|
-
Requires-Dist:
|
|
50
|
-
Requires-Dist:
|
|
51
|
-
Requires-Dist:
|
|
28
|
+
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
29
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
30
|
+
Requires-Dist: ruff>=0.1.0; extra == "dev"
|
|
31
|
+
Requires-Dist: mypy>=1.0.0; extra == "dev"
|
|
32
|
+
Requires-Dist: pre-commit>=3.0.0; extra == "dev"
|
|
52
33
|
Provides-Extra: test
|
|
53
|
-
Requires-Dist: pytest
|
|
54
|
-
Requires-Dist: pytest>=
|
|
55
|
-
|
|
34
|
+
Requires-Dist: pytest>=7.0.0; extra == "test"
|
|
35
|
+
Requires-Dist: pytest-cov>=4.0.0; extra == "test"
|
|
36
|
+
Dynamic: author
|
|
37
|
+
Dynamic: home-page
|
|
38
|
+
Dynamic: license-file
|
|
39
|
+
Dynamic: requires-python
|
|
56
40
|
|
|
57
41
|
# basic-open-agent-tools
|
|
58
42
|
|
|
@@ -72,19 +56,22 @@ uv add basic-open-agent-tools
|
|
|
72
56
|
## Quick Start
|
|
73
57
|
|
|
74
58
|
```python
|
|
75
|
-
|
|
76
59
|
import logging
|
|
77
60
|
import warnings
|
|
78
61
|
from dotenv import load_dotenv
|
|
79
62
|
from google.adk.agents import Agent
|
|
80
63
|
from google.adk.models.lite_llm import LiteLlm
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
)
|
|
64
|
+
|
|
65
|
+
import basic_open_agent_tools as boat
|
|
66
|
+
|
|
67
|
+
# Load tools by category
|
|
68
|
+
fs_tools = boat.load_all_filesystem_tools() # 18 functions
|
|
69
|
+
text_tools = boat.load_all_text_tools() # 10 functions
|
|
70
|
+
data_tools = boat.load_all_data_tools() # 28 functions (Phase 1 ✅)
|
|
71
|
+
|
|
72
|
+
# Merge for agent use (automatically deduplicates)
|
|
73
|
+
agent_tools = boat.merge_tool_lists(fs_tools, text_tools, data_tools)
|
|
74
|
+
|
|
88
75
|
|
|
89
76
|
load_dotenv()
|
|
90
77
|
|
|
@@ -108,13 +95,45 @@ file_ops_agent = Agent(
|
|
|
108
95
|
name="FileOps",
|
|
109
96
|
instruction=agent_instruction,
|
|
110
97
|
description="Specialized file and directory operations sub-agent for the Python developer.",
|
|
111
|
-
tools=
|
|
112
|
-
append_to_file, copy_file, create_directory, delete_directory, delete_file,
|
|
113
|
-
directory_exists, file_exists, get_file_info, get_file_size, is_empty_directory,
|
|
114
|
-
list_directory_contents, move_file, read_file_to_string, write_file_from_string,
|
|
115
|
-
],
|
|
98
|
+
tools=agent_tools,
|
|
116
99
|
)
|
|
117
100
|
|
|
101
|
+
"""
|
|
102
|
+
The above would load:
|
|
103
|
+
|
|
104
|
+
File and Directory Operations:
|
|
105
|
+
read_file_to_string
|
|
106
|
+
write_file_from_string
|
|
107
|
+
append_to_file
|
|
108
|
+
list_directory_contents
|
|
109
|
+
create_directory
|
|
110
|
+
delete_file
|
|
111
|
+
delete_directory
|
|
112
|
+
move_file
|
|
113
|
+
copy_file
|
|
114
|
+
get_file_info
|
|
115
|
+
file_exists
|
|
116
|
+
directory_exists
|
|
117
|
+
get_file_size
|
|
118
|
+
is_empty_directory
|
|
119
|
+
list_all_directory_contents
|
|
120
|
+
generate_directory_tree
|
|
121
|
+
validate_path
|
|
122
|
+
validate_file_content
|
|
123
|
+
|
|
124
|
+
Text Processing Tools:
|
|
125
|
+
clean_whitespace
|
|
126
|
+
normalize_line_endings
|
|
127
|
+
strip_html_tags
|
|
128
|
+
normalize_unicode
|
|
129
|
+
to_snake_case
|
|
130
|
+
to_camel_case
|
|
131
|
+
to_title_case
|
|
132
|
+
smart_split_lines
|
|
133
|
+
extract_sentences
|
|
134
|
+
join_with_oxford_comma
|
|
135
|
+
|
|
136
|
+
"""
|
|
118
137
|
|
|
119
138
|
```
|
|
120
139
|
|
|
@@ -127,19 +146,35 @@ file_ops_agent = Agent(
|
|
|
127
146
|
|
|
128
147
|
## Current Features
|
|
129
148
|
|
|
130
|
-
### File System Tools
|
|
149
|
+
### File System Tools ✅ (18 functions)
|
|
131
150
|
- File operations (read, write, append, delete, copy, move)
|
|
132
151
|
- Directory operations (create, list, delete, tree visualization)
|
|
133
152
|
- File information and existence checking
|
|
134
153
|
- Path validation and error handling
|
|
135
154
|
|
|
136
|
-
###
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
|
|
142
|
-
-
|
|
155
|
+
### Text Processing Tools ✅ (10 functions)
|
|
156
|
+
- Text cleaning and normalization
|
|
157
|
+
- Case conversion utilities (snake_case, camelCase, Title Case)
|
|
158
|
+
- Smart text splitting and sentence extraction
|
|
159
|
+
- HTML tag removal and Unicode normalization
|
|
160
|
+
|
|
161
|
+
### Data Tools ✅ (28 functions - Phase 1 Complete)
|
|
162
|
+
**Phase 1 ✅**: Data structures, JSON/CSV processing, validation (28 functions)
|
|
163
|
+
- Data structure manipulation (flatten, merge, nested access)
|
|
164
|
+
- JSON serialization with compression and validation
|
|
165
|
+
- CSV file processing and data cleaning
|
|
166
|
+
- Schema validation and data type checking
|
|
167
|
+
|
|
168
|
+
**Phase 2 📋**: Object serialization, configuration files (15 functions)
|
|
169
|
+
**Phase 3 📋**: Data transformation, YAML/TOML support (16 functions)
|
|
170
|
+
**Phase 4 📋**: Binary data, archives, streaming (18 functions)
|
|
171
|
+
**Phase 5 📋**: Caching, database processing (13 functions)
|
|
172
|
+
|
|
173
|
+
### Future Modules 🚧
|
|
174
|
+
- **Network Tools** - HTTP utilities, API helpers
|
|
175
|
+
- **System Tools** - Process management, system information
|
|
176
|
+
- **Crypto Tools** - Hashing, encoding, basic cryptographic utilities
|
|
177
|
+
- **Utilities** - Development and debugging helpers
|
|
143
178
|
|
|
144
179
|
## Contributing
|
|
145
180
|
|
|
@@ -16,19 +16,22 @@ uv add basic-open-agent-tools
|
|
|
16
16
|
## Quick Start
|
|
17
17
|
|
|
18
18
|
```python
|
|
19
|
-
|
|
20
19
|
import logging
|
|
21
20
|
import warnings
|
|
22
21
|
from dotenv import load_dotenv
|
|
23
22
|
from google.adk.agents import Agent
|
|
24
23
|
from google.adk.models.lite_llm import LiteLlm
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
)
|
|
24
|
+
|
|
25
|
+
import basic_open_agent_tools as boat
|
|
26
|
+
|
|
27
|
+
# Load tools by category
|
|
28
|
+
fs_tools = boat.load_all_filesystem_tools() # 18 functions
|
|
29
|
+
text_tools = boat.load_all_text_tools() # 10 functions
|
|
30
|
+
data_tools = boat.load_all_data_tools() # 28 functions (Phase 1 ✅)
|
|
31
|
+
|
|
32
|
+
# Merge for agent use (automatically deduplicates)
|
|
33
|
+
agent_tools = boat.merge_tool_lists(fs_tools, text_tools, data_tools)
|
|
34
|
+
|
|
32
35
|
|
|
33
36
|
load_dotenv()
|
|
34
37
|
|
|
@@ -52,13 +55,45 @@ file_ops_agent = Agent(
|
|
|
52
55
|
name="FileOps",
|
|
53
56
|
instruction=agent_instruction,
|
|
54
57
|
description="Specialized file and directory operations sub-agent for the Python developer.",
|
|
55
|
-
tools=
|
|
56
|
-
append_to_file, copy_file, create_directory, delete_directory, delete_file,
|
|
57
|
-
directory_exists, file_exists, get_file_info, get_file_size, is_empty_directory,
|
|
58
|
-
list_directory_contents, move_file, read_file_to_string, write_file_from_string,
|
|
59
|
-
],
|
|
58
|
+
tools=agent_tools,
|
|
60
59
|
)
|
|
61
60
|
|
|
61
|
+
"""
|
|
62
|
+
The above would load:
|
|
63
|
+
|
|
64
|
+
File and Directory Operations:
|
|
65
|
+
read_file_to_string
|
|
66
|
+
write_file_from_string
|
|
67
|
+
append_to_file
|
|
68
|
+
list_directory_contents
|
|
69
|
+
create_directory
|
|
70
|
+
delete_file
|
|
71
|
+
delete_directory
|
|
72
|
+
move_file
|
|
73
|
+
copy_file
|
|
74
|
+
get_file_info
|
|
75
|
+
file_exists
|
|
76
|
+
directory_exists
|
|
77
|
+
get_file_size
|
|
78
|
+
is_empty_directory
|
|
79
|
+
list_all_directory_contents
|
|
80
|
+
generate_directory_tree
|
|
81
|
+
validate_path
|
|
82
|
+
validate_file_content
|
|
83
|
+
|
|
84
|
+
Text Processing Tools:
|
|
85
|
+
clean_whitespace
|
|
86
|
+
normalize_line_endings
|
|
87
|
+
strip_html_tags
|
|
88
|
+
normalize_unicode
|
|
89
|
+
to_snake_case
|
|
90
|
+
to_camel_case
|
|
91
|
+
to_title_case
|
|
92
|
+
smart_split_lines
|
|
93
|
+
extract_sentences
|
|
94
|
+
join_with_oxford_comma
|
|
95
|
+
|
|
96
|
+
"""
|
|
62
97
|
|
|
63
98
|
```
|
|
64
99
|
|
|
@@ -71,19 +106,35 @@ file_ops_agent = Agent(
|
|
|
71
106
|
|
|
72
107
|
## Current Features
|
|
73
108
|
|
|
74
|
-
### File System Tools
|
|
109
|
+
### File System Tools ✅ (18 functions)
|
|
75
110
|
- File operations (read, write, append, delete, copy, move)
|
|
76
111
|
- Directory operations (create, list, delete, tree visualization)
|
|
77
112
|
- File information and existence checking
|
|
78
113
|
- Path validation and error handling
|
|
79
114
|
|
|
80
|
-
###
|
|
81
|
-
-
|
|
82
|
-
-
|
|
83
|
-
-
|
|
84
|
-
-
|
|
85
|
-
|
|
86
|
-
-
|
|
115
|
+
### Text Processing Tools ✅ (10 functions)
|
|
116
|
+
- Text cleaning and normalization
|
|
117
|
+
- Case conversion utilities (snake_case, camelCase, Title Case)
|
|
118
|
+
- Smart text splitting and sentence extraction
|
|
119
|
+
- HTML tag removal and Unicode normalization
|
|
120
|
+
|
|
121
|
+
### Data Tools ✅ (28 functions - Phase 1 Complete)
|
|
122
|
+
**Phase 1 ✅**: Data structures, JSON/CSV processing, validation (28 functions)
|
|
123
|
+
- Data structure manipulation (flatten, merge, nested access)
|
|
124
|
+
- JSON serialization with compression and validation
|
|
125
|
+
- CSV file processing and data cleaning
|
|
126
|
+
- Schema validation and data type checking
|
|
127
|
+
|
|
128
|
+
**Phase 2 📋**: Object serialization, configuration files (15 functions)
|
|
129
|
+
**Phase 3 📋**: Data transformation, YAML/TOML support (16 functions)
|
|
130
|
+
**Phase 4 📋**: Binary data, archives, streaming (18 functions)
|
|
131
|
+
**Phase 5 📋**: Caching, database processing (13 functions)
|
|
132
|
+
|
|
133
|
+
### Future Modules 🚧
|
|
134
|
+
- **Network Tools** - HTTP utilities, API helpers
|
|
135
|
+
- **System Tools** - Process management, system information
|
|
136
|
+
- **Crypto Tools** - Hashing, encoding, basic cryptographic utilities
|
|
137
|
+
- **Utilities** - Development and debugging helpers
|
|
87
138
|
|
|
88
139
|
## Contributing
|
|
89
140
|
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
[build-system]
|
|
2
|
-
requires = ["
|
|
3
|
-
build-backend = "
|
|
2
|
+
requires = ["setuptools>=61.0", "wheel"]
|
|
3
|
+
build-backend = "setuptools.build_meta:__legacy__"
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "basic-open-agent-tools"
|
|
7
|
-
|
|
7
|
+
version = "0.3.0" # Version fix for GitHub Actions build
|
|
8
8
|
description = "An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions."
|
|
9
9
|
readme = "README.md"
|
|
10
|
-
license = {file = "LICENSE"}
|
|
11
10
|
requires-python = ">=3.8"
|
|
12
11
|
authors = [
|
|
13
|
-
{ name = "Open Agent Tools", email = "
|
|
12
|
+
{ name = "Open Agent Tools", email = "unseriousai@gmail.com" },
|
|
14
13
|
]
|
|
15
14
|
keywords = [
|
|
16
15
|
"ai",
|
|
@@ -22,7 +21,6 @@ keywords = [
|
|
|
22
21
|
classifiers = [
|
|
23
22
|
"Development Status :: 3 - Alpha",
|
|
24
23
|
"Intended Audience :: Developers",
|
|
25
|
-
"License :: OSI Approved :: MIT License",
|
|
26
24
|
"Operating System :: OS Independent",
|
|
27
25
|
"Programming Language :: Python :: 3",
|
|
28
26
|
"Programming Language :: Python :: 3.8",
|
|
@@ -54,19 +52,8 @@ test = [
|
|
|
54
52
|
"pytest-cov>=4.0.0",
|
|
55
53
|
]
|
|
56
54
|
|
|
57
|
-
[tool.
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
[tool.hatch.build.targets.sdist]
|
|
61
|
-
include = [
|
|
62
|
-
"/src",
|
|
63
|
-
"/tests",
|
|
64
|
-
"/README.md",
|
|
65
|
-
"/LICENSE",
|
|
66
|
-
]
|
|
67
|
-
|
|
68
|
-
[tool.hatch.build.targets.wheel]
|
|
69
|
-
packages = ["src/basic_open_agent_tools"]
|
|
55
|
+
[tool.setuptools.packages.find]
|
|
56
|
+
where = ["src"]
|
|
70
57
|
|
|
71
58
|
[tool.ruff]
|
|
72
59
|
target-version = "py38"
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
|
|
3
|
+
from setuptools import setup, find_packages
|
|
4
|
+
import os
|
|
5
|
+
|
|
6
|
+
# Read version from __init__.py
|
|
7
|
+
def get_version():
|
|
8
|
+
with open("src/basic_open_agent_tools/__init__.py", "r") as f:
|
|
9
|
+
for line in f:
|
|
10
|
+
if line.startswith("__version__"):
|
|
11
|
+
return line.split("=")[1].strip().strip('"\'')
|
|
12
|
+
raise RuntimeError("Version not found")
|
|
13
|
+
|
|
14
|
+
# Read long description from README
|
|
15
|
+
def get_long_description():
|
|
16
|
+
with open("README.md", "r", encoding="utf-8") as f:
|
|
17
|
+
return f.read()
|
|
18
|
+
|
|
19
|
+
setup(
|
|
20
|
+
name="basic-open-agent-tools",
|
|
21
|
+
version=get_version(),
|
|
22
|
+
description="An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions.",
|
|
23
|
+
long_description=get_long_description(),
|
|
24
|
+
long_description_content_type="text/markdown",
|
|
25
|
+
author="Open Agent Tools",
|
|
26
|
+
author_email="unseriousai@gmail.com",
|
|
27
|
+
url="https://github.com/open-agent-tools/basic-open-agent-tools",
|
|
28
|
+
project_urls={
|
|
29
|
+
"Homepage": "https://github.com/open-agent-tools/basic-open-agent-tools",
|
|
30
|
+
"Documentation": "https://github.com/open-agent-tools/basic-open-agent-tools#readme",
|
|
31
|
+
"Repository": "https://github.com/open-agent-tools/basic-open-agent-tools",
|
|
32
|
+
"Issues": "https://github.com/open-agent-tools/basic-open-agent-tools/issues",
|
|
33
|
+
},
|
|
34
|
+
packages=find_packages(where="src"),
|
|
35
|
+
package_dir={"": "src"},
|
|
36
|
+
python_requires=">=3.8",
|
|
37
|
+
keywords=["ai", "agents", "toolkit", "automation", "local-tools"],
|
|
38
|
+
classifiers=[
|
|
39
|
+
"Development Status :: 3 - Alpha",
|
|
40
|
+
"Intended Audience :: Developers",
|
|
41
|
+
"Operating System :: OS Independent",
|
|
42
|
+
"Programming Language :: Python :: 3",
|
|
43
|
+
"Programming Language :: Python :: 3.8",
|
|
44
|
+
"Programming Language :: Python :: 3.9",
|
|
45
|
+
"Programming Language :: Python :: 3.10",
|
|
46
|
+
"Programming Language :: Python :: 3.11",
|
|
47
|
+
"Programming Language :: Python :: 3.12",
|
|
48
|
+
"Topic :: Software Development :: Libraries :: Python Modules",
|
|
49
|
+
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
50
|
+
],
|
|
51
|
+
install_requires=[],
|
|
52
|
+
extras_require={
|
|
53
|
+
"dev": [
|
|
54
|
+
"pytest>=7.0.0",
|
|
55
|
+
"pytest-cov>=4.0.0",
|
|
56
|
+
"ruff>=0.1.0",
|
|
57
|
+
"mypy>=1.0.0",
|
|
58
|
+
"pre-commit>=3.0.0",
|
|
59
|
+
],
|
|
60
|
+
"test": [
|
|
61
|
+
"pytest>=7.0.0",
|
|
62
|
+
"pytest-cov>=4.0.0",
|
|
63
|
+
],
|
|
64
|
+
},
|
|
65
|
+
)
|
{basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/__init__.py
RENAMED
|
@@ -6,17 +6,22 @@ with minimal dependencies for local (non-HTTP/API) actions.
|
|
|
6
6
|
|
|
7
7
|
from typing import List
|
|
8
8
|
|
|
9
|
-
__version__ = "0.
|
|
9
|
+
__version__ = "0.3.0"
|
|
10
10
|
|
|
11
11
|
# Modular structure
|
|
12
|
-
from . import exceptions, file_system, text, types
|
|
12
|
+
from . import data, exceptions, file_system, text, types
|
|
13
13
|
|
|
14
14
|
# Helper functions for tool management
|
|
15
15
|
from .helpers import (
|
|
16
16
|
get_tool_info,
|
|
17
17
|
list_all_available_tools,
|
|
18
|
+
load_all_data_tools,
|
|
18
19
|
load_all_filesystem_tools,
|
|
19
20
|
load_all_text_tools,
|
|
21
|
+
load_data_csv_tools,
|
|
22
|
+
load_data_json_tools,
|
|
23
|
+
load_data_structure_tools,
|
|
24
|
+
load_data_validation_tools,
|
|
20
25
|
merge_tool_lists,
|
|
21
26
|
)
|
|
22
27
|
|
|
@@ -31,10 +36,10 @@ __all__: List[str] = [
|
|
|
31
36
|
# Implemented modules
|
|
32
37
|
"file_system",
|
|
33
38
|
"text",
|
|
39
|
+
"data",
|
|
34
40
|
# Future modules (uncomment when implemented)
|
|
35
41
|
# "system",
|
|
36
42
|
# "network",
|
|
37
|
-
# "data",
|
|
38
43
|
# "crypto",
|
|
39
44
|
# "utilities",
|
|
40
45
|
# Common infrastructure
|
|
@@ -43,6 +48,11 @@ __all__: List[str] = [
|
|
|
43
48
|
# Helper functions
|
|
44
49
|
"load_all_filesystem_tools",
|
|
45
50
|
"load_all_text_tools",
|
|
51
|
+
"load_all_data_tools",
|
|
52
|
+
"load_data_json_tools",
|
|
53
|
+
"load_data_csv_tools",
|
|
54
|
+
"load_data_structure_tools",
|
|
55
|
+
"load_data_validation_tools",
|
|
46
56
|
"merge_tool_lists",
|
|
47
57
|
"get_tool_info",
|
|
48
58
|
"list_all_available_tools",
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"""Data tools for AI agents.
|
|
2
|
+
|
|
3
|
+
This module provides data processing and manipulation tools organized into logical submodules:
|
|
4
|
+
|
|
5
|
+
- structures: Data structure manipulation and transformation
|
|
6
|
+
- json_tools: JSON serialization, compression, and validation
|
|
7
|
+
- csv_tools: CSV file processing, parsing, and cleaning
|
|
8
|
+
- validation: Data validation and schema checking
|
|
9
|
+
"""
|
|
10
|
+
|
|
11
|
+
from typing import List
|
|
12
|
+
|
|
13
|
+
# Import all functions from submodules
|
|
14
|
+
from .csv_tools import (
|
|
15
|
+
clean_csv_data,
|
|
16
|
+
csv_to_dict_list,
|
|
17
|
+
detect_csv_delimiter,
|
|
18
|
+
dict_list_to_csv,
|
|
19
|
+
read_csv_file,
|
|
20
|
+
validate_csv_structure,
|
|
21
|
+
write_csv_file,
|
|
22
|
+
)
|
|
23
|
+
from .json_tools import (
|
|
24
|
+
compress_json_data,
|
|
25
|
+
decompress_json_data,
|
|
26
|
+
safe_json_deserialize,
|
|
27
|
+
safe_json_serialize,
|
|
28
|
+
validate_json_string,
|
|
29
|
+
)
|
|
30
|
+
from .structures import (
|
|
31
|
+
compare_data_structures,
|
|
32
|
+
extract_keys,
|
|
33
|
+
flatten_dict,
|
|
34
|
+
get_nested_value,
|
|
35
|
+
merge_dicts,
|
|
36
|
+
remove_empty_values,
|
|
37
|
+
rename_keys,
|
|
38
|
+
safe_get,
|
|
39
|
+
set_nested_value,
|
|
40
|
+
unflatten_dict,
|
|
41
|
+
)
|
|
42
|
+
from .validation import (
|
|
43
|
+
aggregate_validation_errors,
|
|
44
|
+
check_required_fields,
|
|
45
|
+
create_validation_report,
|
|
46
|
+
validate_data_types,
|
|
47
|
+
validate_range,
|
|
48
|
+
validate_schema,
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
# Re-export all functions at module level for convenience
|
|
52
|
+
__all__: List[str] = [
|
|
53
|
+
# Data structures
|
|
54
|
+
"flatten_dict",
|
|
55
|
+
"unflatten_dict",
|
|
56
|
+
"get_nested_value",
|
|
57
|
+
"set_nested_value",
|
|
58
|
+
"merge_dicts",
|
|
59
|
+
"compare_data_structures",
|
|
60
|
+
"safe_get",
|
|
61
|
+
"remove_empty_values",
|
|
62
|
+
"extract_keys",
|
|
63
|
+
"rename_keys",
|
|
64
|
+
# JSON processing
|
|
65
|
+
"safe_json_serialize",
|
|
66
|
+
"safe_json_deserialize",
|
|
67
|
+
"validate_json_string",
|
|
68
|
+
"compress_json_data",
|
|
69
|
+
"decompress_json_data",
|
|
70
|
+
# CSV processing
|
|
71
|
+
"read_csv_file",
|
|
72
|
+
"write_csv_file",
|
|
73
|
+
"csv_to_dict_list",
|
|
74
|
+
"dict_list_to_csv",
|
|
75
|
+
"detect_csv_delimiter",
|
|
76
|
+
"validate_csv_structure",
|
|
77
|
+
"clean_csv_data",
|
|
78
|
+
# Validation
|
|
79
|
+
"validate_schema",
|
|
80
|
+
"check_required_fields",
|
|
81
|
+
"validate_data_types",
|
|
82
|
+
"validate_range",
|
|
83
|
+
"aggregate_validation_errors",
|
|
84
|
+
"create_validation_report",
|
|
85
|
+
]
|