basic-open-agent-tools 0.2.0__tar.gz → 0.4.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 (60) hide show
  1. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/LICENSE +2 -2
  2. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/PKG-INFO +90 -57
  3. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/README.md +71 -22
  4. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/pyproject.toml +6 -19
  5. basic_open_agent_tools-0.4.0/setup.cfg +4 -0
  6. basic_open_agent_tools-0.4.0/setup.py +67 -0
  7. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/__init__.py +23 -3
  8. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/__init__.py +171 -0
  9. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/archive_processing.py +446 -0
  10. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/binary_processing.py +290 -0
  11. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/config_processing.py +421 -0
  12. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/csv_tools.py +376 -0
  13. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/json_tools.py +144 -0
  14. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/object_serialization.py +175 -0
  15. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/structures.py +413 -0
  16. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/transform.py +417 -0
  17. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/data/validation.py +336 -0
  18. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/exceptions.py +31 -0
  19. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools/helpers.py +461 -0
  20. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/types.py +6 -1
  21. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools.egg-info/PKG-INFO +182 -0
  22. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools.egg-info/SOURCES.txt +46 -0
  23. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools.egg-info/dependency_links.txt +1 -0
  24. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools.egg-info/requires.txt +11 -0
  25. basic_open_agent_tools-0.4.0/src/basic_open_agent_tools.egg-info/top_level.txt +1 -0
  26. basic_open_agent_tools-0.4.0/tests/test_data_archive_processing.py +456 -0
  27. basic_open_agent_tools-0.4.0/tests/test_data_binary_processing.py +335 -0
  28. basic_open_agent_tools-0.4.0/tests/test_data_config_processing.py +406 -0
  29. basic_open_agent_tools-0.4.0/tests/test_data_csv_tools.py +453 -0
  30. basic_open_agent_tools-0.4.0/tests/test_data_json_tools.py +245 -0
  31. basic_open_agent_tools-0.4.0/tests/test_data_object_serialization.py +193 -0
  32. basic_open_agent_tools-0.4.0/tests/test_data_structures.py +435 -0
  33. basic_open_agent_tools-0.4.0/tests/test_data_transform.py +333 -0
  34. basic_open_agent_tools-0.4.0/tests/test_data_validation.py +454 -0
  35. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/tests/test_helpers.py +46 -0
  36. basic_open_agent_tools-0.2.0/.gitignore +0 -288
  37. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/crypto/TODO.md +0 -63
  38. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/data/TODO.md +0 -72
  39. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/data/__init__.py +0 -8
  40. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/exceptions.py +0 -13
  41. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/file_system/TODO.md +0 -58
  42. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/helpers.py +0 -142
  43. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/network/TODO.md +0 -58
  44. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/system/TODO.md +0 -65
  45. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/text/TODO.md +0 -69
  46. basic_open_agent_tools-0.2.0/src/basic_open_agent_tools/utilities/TODO.md +0 -82
  47. basic_open_agent_tools-0.2.0/tests/__init__.py +0 -0
  48. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/crypto/__init__.py +0 -0
  49. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/file_system/__init__.py +0 -0
  50. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/file_system/info.py +0 -0
  51. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/file_system/operations.py +0 -0
  52. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/file_system/tree.py +0 -0
  53. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/file_system/validation.py +0 -0
  54. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/network/__init__.py +0 -0
  55. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/system/__init__.py +0 -0
  56. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/text/__init__.py +0 -0
  57. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/text/processing.py +0 -0
  58. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/src/basic_open_agent_tools/utilities/__init__.py +0 -0
  59. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.0}/tests/test_file_system_tools.py +0 -0
  60. {basic_open_agent_tools-0.2.0 → basic_open_agent_tools-0.4.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.4.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,21 @@ 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
+
71
+ # Merge for agent use (automatically deduplicates)
72
+ agent_tools = boat.merge_tool_lists(fs_tools, text_tools)
73
+
88
74
 
89
75
  load_dotenv()
90
76
 
@@ -108,38 +94,85 @@ file_ops_agent = Agent(
108
94
  name="FileOps",
109
95
  instruction=agent_instruction,
110
96
  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
- ],
97
+ tools=agent_tools,
116
98
  )
117
99
 
100
+ """
101
+ The above would load:
102
+
103
+ File and Directory Operations:
104
+ read_file_to_string
105
+ write_file_from_string
106
+ append_to_file
107
+ list_directory_contents
108
+ create_directory
109
+ delete_file
110
+ delete_directory
111
+ move_file
112
+ copy_file
113
+ get_file_info
114
+ file_exists
115
+ directory_exists
116
+ get_file_size
117
+ is_empty_directory
118
+ list_all_directory_contents
119
+ generate_directory_tree
120
+ validate_path
121
+ validate_file_content
122
+
123
+ Text Processing Tools:
124
+ clean_whitespace
125
+ normalize_line_endings
126
+ strip_html_tags
127
+ normalize_unicode
128
+ to_snake_case
129
+ to_camel_case
130
+ to_title_case
131
+ smart_split_lines
132
+ extract_sentences
133
+ join_with_oxford_comma
134
+
135
+ """
118
136
 
119
137
  ```
120
138
 
121
139
  ## Documentation
122
140
 
123
141
  - **[Getting Started](docs/getting-started.md)** - Installation and quick start guide
124
- - **[API Reference](docs/api-reference.md)** - Complete function documentation
125
142
  - **[Examples](docs/examples.md)** - Detailed usage examples and patterns
126
143
  - **[Contributing](docs/contributing.md)** - Development setup and guidelines
127
144
 
128
145
  ## Current Features
129
146
 
130
- ### File System Tools
147
+ ### File System Tools ✅ (18 functions)
131
148
  - File operations (read, write, append, delete, copy, move)
132
149
  - Directory operations (create, list, delete, tree visualization)
133
150
  - File information and existence checking
134
151
  - Path validation and error handling
135
152
 
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
153
+ ### Text Processing Tools ✅ (10 functions)
154
+ - Text cleaning and normalization
155
+ - Case conversion utilities (snake_case, camelCase, Title Case)
156
+ - Smart text splitting and sentence extraction
157
+ - HTML tag removal and Unicode normalization
158
+
159
+ ### Data Tools ✅ (28 functions - Phase 1 Complete)
160
+ **Phase 1 ✅**: Data structures, JSON/CSV processing, validation (28 functions)
161
+ - Data structure manipulation (flatten, merge, nested access)
162
+ - JSON serialization with compression and validation
163
+ - CSV file processing and data cleaning
164
+ - Schema validation and data type checking
165
+
166
+ **Phase 2 📋**: Object serialization, configuration files (15 functions)
167
+ **Phase 3 📋**: Data transformation, YAML/TOML support (16 functions)
168
+ **Phase 4 📋**: Binary data, archives, streaming (18 functions)
169
+ **Phase 5 📋**: Caching, database processing (13 functions)
170
+
171
+ ### Future Modules 🚧
172
+ - **Network Tools** - HTTP utilities, API helpers
173
+ - **System Tools** - Process management, system information
174
+ - **Crypto Tools** - Hashing, encoding, basic cryptographic utilities
175
+ - **Utilities** - Development and debugging helpers
143
176
 
144
177
  ## Contributing
145
178
 
@@ -16,19 +16,21 @@ 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
+
31
+ # Merge for agent use (automatically deduplicates)
32
+ agent_tools = boat.merge_tool_lists(fs_tools, text_tools)
33
+
32
34
 
33
35
  load_dotenv()
34
36
 
@@ -52,38 +54,85 @@ file_ops_agent = Agent(
52
54
  name="FileOps",
53
55
  instruction=agent_instruction,
54
56
  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
- ],
57
+ tools=agent_tools,
60
58
  )
61
59
 
60
+ """
61
+ The above would load:
62
+
63
+ File and Directory Operations:
64
+ read_file_to_string
65
+ write_file_from_string
66
+ append_to_file
67
+ list_directory_contents
68
+ create_directory
69
+ delete_file
70
+ delete_directory
71
+ move_file
72
+ copy_file
73
+ get_file_info
74
+ file_exists
75
+ directory_exists
76
+ get_file_size
77
+ is_empty_directory
78
+ list_all_directory_contents
79
+ generate_directory_tree
80
+ validate_path
81
+ validate_file_content
82
+
83
+ Text Processing Tools:
84
+ clean_whitespace
85
+ normalize_line_endings
86
+ strip_html_tags
87
+ normalize_unicode
88
+ to_snake_case
89
+ to_camel_case
90
+ to_title_case
91
+ smart_split_lines
92
+ extract_sentences
93
+ join_with_oxford_comma
94
+
95
+ """
62
96
 
63
97
  ```
64
98
 
65
99
  ## Documentation
66
100
 
67
101
  - **[Getting Started](docs/getting-started.md)** - Installation and quick start guide
68
- - **[API Reference](docs/api-reference.md)** - Complete function documentation
69
102
  - **[Examples](docs/examples.md)** - Detailed usage examples and patterns
70
103
  - **[Contributing](docs/contributing.md)** - Development setup and guidelines
71
104
 
72
105
  ## Current Features
73
106
 
74
- ### File System Tools
107
+ ### File System Tools ✅ (18 functions)
75
108
  - File operations (read, write, append, delete, copy, move)
76
109
  - Directory operations (create, list, delete, tree visualization)
77
110
  - File information and existence checking
78
111
  - Path validation and error handling
79
112
 
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
113
+ ### Text Processing Tools ✅ (10 functions)
114
+ - Text cleaning and normalization
115
+ - Case conversion utilities (snake_case, camelCase, Title Case)
116
+ - Smart text splitting and sentence extraction
117
+ - HTML tag removal and Unicode normalization
118
+
119
+ ### Data Tools ✅ (28 functions - Phase 1 Complete)
120
+ **Phase 1 ✅**: Data structures, JSON/CSV processing, validation (28 functions)
121
+ - Data structure manipulation (flatten, merge, nested access)
122
+ - JSON serialization with compression and validation
123
+ - CSV file processing and data cleaning
124
+ - Schema validation and data type checking
125
+
126
+ **Phase 2 📋**: Object serialization, configuration files (15 functions)
127
+ **Phase 3 📋**: Data transformation, YAML/TOML support (16 functions)
128
+ **Phase 4 📋**: Binary data, archives, streaming (18 functions)
129
+ **Phase 5 📋**: Caching, database processing (13 functions)
130
+
131
+ ### Future Modules 🚧
132
+ - **Network Tools** - HTTP utilities, API helpers
133
+ - **System Tools** - Process management, system information
134
+ - **Crypto Tools** - Hashing, encoding, basic cryptographic utilities
135
+ - **Utilities** - Development and debugging helpers
87
136
 
88
137
  ## Contributing
89
138
 
@@ -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.4.0" # Advanced data processing modules complete
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,67 @@
1
+ #!/usr/bin/env python3
2
+
3
+ from setuptools import find_packages, setup
4
+
5
+
6
+ # Read version from __init__.py
7
+ def get_version():
8
+ with open("src/basic_open_agent_tools/__init__.py") 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
+
15
+ # Read long description from README
16
+ def get_long_description():
17
+ with open("README.md", encoding="utf-8") as f:
18
+ return f.read()
19
+
20
+
21
+ setup(
22
+ name="basic-open-agent-tools",
23
+ version=get_version(),
24
+ description="An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions.",
25
+ long_description=get_long_description(),
26
+ long_description_content_type="text/markdown",
27
+ author="Open Agent Tools",
28
+ author_email="unseriousai@gmail.com",
29
+ url="https://github.com/open-agent-tools/basic-open-agent-tools",
30
+ project_urls={
31
+ "Homepage": "https://github.com/open-agent-tools/basic-open-agent-tools",
32
+ "Documentation": "https://github.com/open-agent-tools/basic-open-agent-tools#readme",
33
+ "Repository": "https://github.com/open-agent-tools/basic-open-agent-tools",
34
+ "Issues": "https://github.com/open-agent-tools/basic-open-agent-tools/issues",
35
+ },
36
+ packages=find_packages(where="src"),
37
+ package_dir={"": "src"},
38
+ python_requires=">=3.8",
39
+ keywords=["ai", "agents", "toolkit", "automation", "local-tools"],
40
+ classifiers=[
41
+ "Development Status :: 3 - Alpha",
42
+ "Intended Audience :: Developers",
43
+ "Operating System :: OS Independent",
44
+ "Programming Language :: Python :: 3",
45
+ "Programming Language :: Python :: 3.8",
46
+ "Programming Language :: Python :: 3.9",
47
+ "Programming Language :: Python :: 3.10",
48
+ "Programming Language :: Python :: 3.11",
49
+ "Programming Language :: Python :: 3.12",
50
+ "Topic :: Software Development :: Libraries :: Python Modules",
51
+ "Topic :: Scientific/Engineering :: Artificial Intelligence",
52
+ ],
53
+ install_requires=[],
54
+ extras_require={
55
+ "dev": [
56
+ "pytest>=7.0.0",
57
+ "pytest-cov>=4.0.0",
58
+ "ruff>=0.1.0",
59
+ "mypy>=1.0.0",
60
+ "pre-commit>=3.0.0",
61
+ ],
62
+ "test": [
63
+ "pytest>=7.0.0",
64
+ "pytest-cov>=4.0.0",
65
+ ],
66
+ },
67
+ )
@@ -6,17 +6,27 @@ 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.4.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_archive_tools,
22
+ load_data_binary_tools,
23
+ load_data_config_tools,
24
+ load_data_csv_tools,
25
+ load_data_json_tools,
26
+ load_data_object_tools,
27
+ load_data_structure_tools,
28
+ load_data_transformation_tools,
29
+ load_data_validation_tools,
20
30
  merge_tool_lists,
21
31
  )
22
32
 
@@ -31,10 +41,10 @@ __all__: List[str] = [
31
41
  # Implemented modules
32
42
  "file_system",
33
43
  "text",
44
+ "data",
34
45
  # Future modules (uncomment when implemented)
35
46
  # "system",
36
47
  # "network",
37
- # "data",
38
48
  # "crypto",
39
49
  # "utilities",
40
50
  # Common infrastructure
@@ -43,6 +53,16 @@ __all__: List[str] = [
43
53
  # Helper functions
44
54
  "load_all_filesystem_tools",
45
55
  "load_all_text_tools",
56
+ "load_all_data_tools",
57
+ "load_data_json_tools",
58
+ "load_data_csv_tools",
59
+ "load_data_structure_tools",
60
+ "load_data_validation_tools",
61
+ "load_data_transformation_tools",
62
+ "load_data_object_tools",
63
+ "load_data_config_tools",
64
+ "load_data_binary_tools",
65
+ "load_data_archive_tools",
46
66
  "merge_tool_lists",
47
67
  "get_tool_info",
48
68
  "list_all_available_tools",