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.
Files changed (50) hide show
  1. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/LICENSE +2 -2
  2. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/PKG-INFO +91 -56
  3. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/README.md +72 -21
  4. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/pyproject.toml +6 -19
  5. basic_open_agent_tools-0.3.0/setup.cfg +4 -0
  6. basic_open_agent_tools-0.3.0/setup.py +65 -0
  7. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/__init__.py +13 -3
  8. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/__init__.py +85 -0
  9. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/csv_tools.py +376 -0
  10. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/json_tools.py +144 -0
  11. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/structures.py +413 -0
  12. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/data/validation.py +336 -0
  13. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/exceptions.py +31 -0
  14. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools/helpers.py +303 -0
  15. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/types.py +6 -1
  16. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/PKG-INFO +184 -0
  17. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/SOURCES.txt +36 -0
  18. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/dependency_links.txt +1 -0
  19. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/requires.txt +11 -0
  20. basic_open_agent_tools-0.3.0/src/basic_open_agent_tools.egg-info/top_level.txt +1 -0
  21. basic_open_agent_tools-0.3.0/tests/test_data_csv_tools.py +453 -0
  22. basic_open_agent_tools-0.3.0/tests/test_data_json_tools.py +245 -0
  23. basic_open_agent_tools-0.3.0/tests/test_data_structures.py +435 -0
  24. basic_open_agent_tools-0.3.0/tests/test_data_validation.py +454 -0
  25. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/tests/test_helpers.py +46 -0
  26. basic_open_agent_tools-0.2.0/.gitignore +0 -288
  27. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/crypto/TODO.md +0 -63
  28. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/data/TODO.md +0 -72
  29. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/data/__init__.py +0 -8
  30. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/exceptions.py +0 -13
  31. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/file_system/TODO.md +0 -58
  32. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/helpers.py +0 -142
  33. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/network/TODO.md +0 -58
  34. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/system/TODO.md +0 -65
  35. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/text/TODO.md +0 -69
  36. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/utilities/TODO.md +0 -82
  37. basic_open_agent_tools-0.2.0/tests/__init__.py +0 -0
  38. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/crypto/__init__.py +0 -0
  39. {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
  40. {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
  41. {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
  42. {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
  43. {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
  44. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/network/__init__.py +0 -0
  45. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/system/__init__.py +0 -0
  46. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/text/__init__.py +0 -0
  47. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/text/processing.py +0 -0
  48. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/src/basic_open_agent_tools/utilities/__init__.py +0 -0
  49. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.3.0}/tests/test_file_system_tools.py +0 -0
  50. {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) 2025 Open Agent Tools
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.2.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
- Author-email: Open Agent Tools <info@openagenttools.org>
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: mypy>=1.0.0; extra == 'dev'
48
- Requires-Dist: pre-commit>=3.0.0; extra == 'dev'
49
- Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
50
- Requires-Dist: pytest>=7.0.0; extra == 'dev'
51
- Requires-Dist: ruff>=0.1.0; extra == 'dev'
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-cov>=4.0.0; extra == 'test'
54
- Requires-Dist: pytest>=7.0.0; extra == 'test'
55
- Description-Content-Type: text/markdown
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
- from basic_open_agent_tools.file_system.operations import (
82
- append_to_file, copy_file, create_directory, delete_directory, delete_file,
83
- list_directory_contents, move_file, read_file_to_string, write_file_from_string,
84
- )
85
- from basic_open_agent_tools.file_system.info import (
86
- directory_exists, file_exists, get_file_info, get_file_size, is_empty_directory,
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
- ### Planned Modules
137
- - HTTP request utilities
138
- - Text processing and manipulation
139
- - Data parsing and conversion
140
- - System information and process management
141
- - Cryptographic utilities
142
- - Common helper functions
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
- from basic_open_agent_tools.file_system.operations import (
26
- append_to_file, copy_file, create_directory, delete_directory, delete_file,
27
- list_directory_contents, move_file, read_file_to_string, write_file_from_string,
28
- )
29
- from basic_open_agent_tools.file_system.info import (
30
- directory_exists, file_exists, get_file_info, get_file_size, is_empty_directory,
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
- ### Planned Modules
81
- - HTTP request utilities
82
- - Text processing and manipulation
83
- - Data parsing and conversion
84
- - System information and process management
85
- - Cryptographic utilities
86
- - Common helper functions
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 = ["hatchling"]
3
- build-backend = "hatchling.build"
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
- dynamic = ["version"]
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 = "info@openagenttools.org" },
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.hatch.version]
58
- path = "src/basic_open_agent_tools/__init__.py"
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,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -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
+ )
@@ -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.2.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
+ ]