basic-open-agent-tools 0.7.0__tar.gz → 0.7.2__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 (49) hide show
  1. {basic_open_agent_tools-0.7.0/src/basic_open_agent_tools.egg-info → basic_open_agent_tools-0.7.2}/PKG-INFO +1 -1
  2. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/pyproject.toml +1 -1
  3. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/__init__.py +1 -9
  4. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/data/__init__.py +0 -70
  5. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/helpers.py +2 -162
  6. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2/src/basic_open_agent_tools.egg-info}/PKG-INFO +1 -1
  7. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools.egg-info/SOURCES.txt +0 -8
  8. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_read_only_tools.py +5 -8
  9. basic_open_agent_tools-0.7.0/src/basic_open_agent_tools/data/archive_processing.py +0 -495
  10. basic_open_agent_tools-0.7.0/src/basic_open_agent_tools/data/binary_processing.py +0 -290
  11. basic_open_agent_tools-0.7.0/src/basic_open_agent_tools/data/object_serialization.py +0 -178
  12. basic_open_agent_tools-0.7.0/src/basic_open_agent_tools/data/structures.py +0 -589
  13. basic_open_agent_tools-0.7.0/tests/test_data_archive_processing.py +0 -456
  14. basic_open_agent_tools-0.7.0/tests/test_data_binary_processing.py +0 -335
  15. basic_open_agent_tools-0.7.0/tests/test_data_object_serialization.py +0 -193
  16. basic_open_agent_tools-0.7.0/tests/test_data_structures.py +0 -435
  17. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/LICENSE +0 -0
  18. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/README.md +0 -0
  19. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/setup.cfg +0 -0
  20. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/setup.py +0 -0
  21. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/crypto/__init__.py +0 -0
  22. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/data/config_processing.py +0 -0
  23. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/data/csv_tools.py +0 -0
  24. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/data/json_tools.py +0 -0
  25. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/data/transform.py +0 -0
  26. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/data/validation.py +0 -0
  27. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/exceptions.py +0 -0
  28. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/file_system/__init__.py +0 -0
  29. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/file_system/info.py +0 -0
  30. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/file_system/operations.py +0 -0
  31. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/file_system/tree.py +0 -0
  32. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/file_system/validation.py +0 -0
  33. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/network/__init__.py +0 -0
  34. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/system/__init__.py +0 -0
  35. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/text/__init__.py +0 -0
  36. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/text/processing.py +0 -0
  37. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/types.py +0 -0
  38. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools/utilities/__init__.py +0 -0
  39. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools.egg-info/dependency_links.txt +0 -0
  40. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools.egg-info/requires.txt +0 -0
  41. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/src/basic_open_agent_tools.egg-info/top_level.txt +0 -0
  42. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_data_config_processing.py +0 -0
  43. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_data_csv_tools.py +0 -0
  44. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_data_json_tools.py +0 -0
  45. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_data_transform.py +0 -0
  46. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_data_validation.py +0 -0
  47. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_file_system_tools.py +0 -0
  48. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_helpers.py +0 -0
  49. {basic_open_agent_tools-0.7.0 → basic_open_agent_tools-0.7.2}/tests/test_text_processing.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basic-open-agent-tools
3
- Version: 0.7.0
3
+ Version: 0.7.2
4
4
  Summary: An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions.
5
5
  Home-page: https://github.com/open-agent-tools/basic-open-agent-tools
6
6
  Author: Open Agent Tools
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta:__legacy__"
4
4
 
5
5
  [project]
6
6
  name = "basic-open-agent-tools"
7
- version = "0.7.0" # Major breaking changes for Google ADK compatibility - removed all default parameters
7
+ version = "0.7.2" # Remove structures, archives, and object serialization for agent compatibility
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
10
  requires-python = ">=3.8"
@@ -6,7 +6,7 @@ with minimal dependencies for local (non-HTTP/API) actions.
6
6
 
7
7
  from typing import List
8
8
 
9
- __version__ = "0.6.1"
9
+ __version__ = "0.7.2"
10
10
 
11
11
  # Modular structure
12
12
  from . import data, exceptions, file_system, text, types
@@ -19,13 +19,9 @@ from .helpers import (
19
19
  load_all_filesystem_tools,
20
20
  load_all_read_only_tools,
21
21
  load_all_text_tools,
22
- load_data_archive_tools,
23
- load_data_binary_tools,
24
22
  load_data_config_tools,
25
23
  load_data_csv_tools,
26
24
  load_data_json_tools,
27
- load_data_object_tools,
28
- load_data_structure_tools,
29
25
  load_data_transformation_tools,
30
26
  load_data_validation_tools,
31
27
  merge_tool_lists,
@@ -58,13 +54,9 @@ __all__: List[str] = [
58
54
  "load_all_read_only_tools",
59
55
  "load_data_json_tools",
60
56
  "load_data_csv_tools",
61
- "load_data_structure_tools",
62
57
  "load_data_validation_tools",
63
58
  "load_data_transformation_tools",
64
- "load_data_object_tools",
65
59
  "load_data_config_tools",
66
- "load_data_binary_tools",
67
- "load_data_archive_tools",
68
60
  "merge_tool_lists",
69
61
  "get_tool_info",
70
62
  "list_all_available_tools",
@@ -2,37 +2,16 @@
2
2
 
3
3
  This module provides data processing and manipulation tools organized into logical submodules:
4
4
 
5
- - structures: Data structure manipulation and transformation
6
5
  - json_tools: JSON serialization, compression, and validation
7
6
  - csv_tools: CSV file processing, parsing, and cleaning
8
7
  - validation: Data validation and schema checking
9
8
  - transform: Data transformation, cleaning, and normalization
10
- - object_serialization: Object serialization and deserialization
11
9
  - config_processing: Configuration file processing (YAML, TOML, INI)
12
- - binary_processing: Binary data handling and encoding
13
- - archive_processing: Archive file creation and extraction (ZIP, TAR)
14
10
  """
15
11
 
16
12
  from typing import List
17
13
 
18
14
  # Import all functions from submodules
19
- from .archive_processing import (
20
- add_to_archive,
21
- create_tar_archive,
22
- create_zip_archive,
23
- extract_tar_archive,
24
- extract_zip_archive,
25
- list_archive_contents,
26
- validate_archive_integrity,
27
- )
28
- from .binary_processing import (
29
- decode_binary_data,
30
- encode_binary_data,
31
- extract_binary_metadata,
32
- read_binary_file,
33
- validate_binary_format,
34
- write_binary_file,
35
- )
36
15
  from .config_processing import (
37
16
  merge_config_files,
38
17
  read_ini_file,
@@ -59,24 +38,6 @@ from .json_tools import (
59
38
  safe_json_serialize,
60
39
  validate_json_string,
61
40
  )
62
- from .object_serialization import (
63
- deserialize_object,
64
- sanitize_for_serialization,
65
- serialize_object,
66
- validate_pickle_safety,
67
- )
68
- from .structures import (
69
- compare_data_structures,
70
- extract_keys,
71
- flatten_dict_simple,
72
- get_nested_value_simple,
73
- merge_dicts_simple,
74
- remove_empty_values,
75
- rename_keys,
76
- safe_get,
77
- set_nested_value,
78
- unflatten_dict,
79
- )
80
41
  from .transform import (
81
42
  clean_data,
82
43
  convert_data_types,
@@ -96,17 +57,6 @@ from .validation import (
96
57
 
97
58
  # Re-export all functions at module level for convenience
98
59
  __all__: List[str] = [
99
- # Data structures
100
- "flatten_dict_simple",
101
- "unflatten_dict",
102
- "get_nested_value_simple",
103
- "set_nested_value",
104
- "merge_dicts_simple",
105
- "compare_data_structures",
106
- "safe_get",
107
- "remove_empty_values",
108
- "extract_keys",
109
- "rename_keys",
110
60
  # JSON processing
111
61
  "safe_json_serialize",
112
62
  "safe_json_deserialize",
@@ -135,11 +85,6 @@ __all__: List[str] = [
135
85
  "validate_data_types_simple",
136
86
  "validate_range_simple",
137
87
  "create_validation_report",
138
- # Object serialization
139
- "serialize_object",
140
- "deserialize_object",
141
- "sanitize_for_serialization",
142
- "validate_pickle_safety",
143
88
  # Configuration processing
144
89
  "read_yaml_file",
145
90
  "write_yaml_file",
@@ -149,19 +94,4 @@ __all__: List[str] = [
149
94
  "write_ini_file",
150
95
  "validate_config_schema",
151
96
  "merge_config_files",
152
- # Binary processing
153
- "read_binary_file",
154
- "write_binary_file",
155
- "encode_binary_data",
156
- "decode_binary_data",
157
- "validate_binary_format",
158
- "extract_binary_metadata",
159
- # Archive processing
160
- "create_zip_archive",
161
- "extract_zip_archive",
162
- "list_archive_contents",
163
- "add_to_archive",
164
- "create_tar_archive",
165
- "extract_tar_archive",
166
- "validate_archive_integrity",
167
97
  ]
@@ -134,39 +134,6 @@ def load_data_csv_tools() -> List[Callable[..., Any]]:
134
134
  return tools
135
135
 
136
136
 
137
- def load_data_structure_tools() -> List[Callable[..., Any]]:
138
- """Load data structure manipulation tools as a list of callable functions.
139
-
140
- Returns:
141
- List of data structure tool functions
142
-
143
- Example:
144
- >>> structure_tools = load_data_structure_tools()
145
- >>> len(structure_tools) == 10
146
- True
147
- """
148
- from .data import structures
149
-
150
- tools = []
151
- structure_function_names = [
152
- "flatten_dict_simple",
153
- "unflatten_dict",
154
- "get_nested_value_simple",
155
- "set_nested_value",
156
- "merge_dicts_simple",
157
- "compare_data_structures",
158
- "safe_get",
159
- "remove_empty_values",
160
- "extract_keys",
161
- "rename_keys",
162
- ]
163
-
164
- for name in structure_function_names:
165
- func = getattr(structures, name)
166
- if callable(func):
167
- tools.append(func)
168
-
169
- return tools
170
137
 
171
138
 
172
139
  def load_data_validation_tools() -> List[Callable[..., Any]]:
@@ -231,33 +198,6 @@ def load_data_transformation_tools() -> List[Callable[..., Any]]:
231
198
  return tools
232
199
 
233
200
 
234
- def load_data_object_tools() -> List[Callable[..., Any]]:
235
- """Load object serialization tools as a list of callable functions.
236
-
237
- Returns:
238
- List of object serialization tool functions
239
-
240
- Example:
241
- >>> object_tools = load_data_object_tools()
242
- >>> len(object_tools) == 4
243
- True
244
- """
245
- from .data import object_serialization
246
-
247
- tools = []
248
- object_function_names = [
249
- "serialize_object",
250
- "deserialize_object",
251
- "sanitize_for_serialization",
252
- "validate_pickle_safety",
253
- ]
254
-
255
- for name in object_function_names:
256
- func = getattr(object_serialization, name)
257
- if callable(func):
258
- tools.append(func)
259
-
260
- return tools
261
201
 
262
202
 
263
203
  def load_data_config_tools() -> List[Callable[..., Any]]:
@@ -293,67 +233,8 @@ def load_data_config_tools() -> List[Callable[..., Any]]:
293
233
  return tools
294
234
 
295
235
 
296
- def load_data_binary_tools() -> List[Callable[..., Any]]:
297
- """Load binary data processing tools as a list of callable functions.
298
-
299
- Returns:
300
- List of binary data processing tool functions
301
-
302
- Example:
303
- >>> binary_tools = load_data_binary_tools()
304
- >>> len(binary_tools) == 6
305
- True
306
- """
307
- from .data import binary_processing
308
-
309
- tools = []
310
- binary_function_names = [
311
- "read_binary_file",
312
- "write_binary_file",
313
- "encode_binary_data",
314
- "decode_binary_data",
315
- "validate_binary_format",
316
- "extract_binary_metadata",
317
- ]
318
-
319
- for name in binary_function_names:
320
- func = getattr(binary_processing, name)
321
- if callable(func):
322
- tools.append(func)
323
-
324
- return tools
325
-
326
-
327
- def load_data_archive_tools() -> List[Callable[..., Any]]:
328
- """Load archive processing tools as a list of callable functions.
329
236
 
330
- Returns:
331
- List of archive processing tool functions
332
237
 
333
- Example:
334
- >>> archive_tools = load_data_archive_tools()
335
- >>> len(archive_tools) == 7
336
- True
337
- """
338
- from .data import archive_processing
339
-
340
- tools = []
341
- archive_function_names = [
342
- "create_zip_archive",
343
- "extract_zip_archive",
344
- "list_archive_contents",
345
- "add_to_archive",
346
- "create_tar_archive",
347
- "extract_tar_archive",
348
- "validate_archive_integrity",
349
- ]
350
-
351
- for name in archive_function_names:
352
- func = getattr(archive_processing, name)
353
- if callable(func):
354
- tools.append(func)
355
-
356
- return tools
357
238
 
358
239
 
359
240
  def merge_tool_lists(
@@ -451,7 +332,7 @@ def load_all_read_only_tools() -> List[Callable[..., Any]]:
451
332
 
452
333
  Example:
453
334
  >>> read_only_tools = load_all_read_only_tools()
454
- >>> len(read_only_tools) > 50 # Should have 50+ read-only tools
335
+ >>> len(read_only_tools) > 35 # Should have 35+ read-only tools
455
336
  True
456
337
  """
457
338
  tools = []
@@ -479,15 +360,11 @@ def load_all_read_only_tools() -> List[Callable[..., Any]]:
479
360
  # Text Processing Tools (10 tools - ALL are read-only)
480
361
  tools.extend(load_all_text_tools())
481
362
 
482
- # Data Read-Only Tools (34 tools)
363
+ # Data Read-Only Tools (21 tools)
483
364
  from .data import (
484
- archive_processing,
485
- binary_processing,
486
365
  config_processing,
487
366
  csv_tools,
488
367
  json_tools,
489
- object_serialization,
490
- structures,
491
368
  transform,
492
369
  validation,
493
370
  )
@@ -523,39 +400,8 @@ def load_all_read_only_tools() -> List[Callable[..., Any]]:
523
400
  if callable(func):
524
401
  tools.append(func)
525
402
 
526
- # Binary read-only tools (3)
527
- data_binary_read_only = [
528
- "read_binary_file",
529
- "validate_binary_format",
530
- "extract_binary_metadata",
531
- ]
532
- for name in data_binary_read_only:
533
- func = getattr(binary_processing, name)
534
- if callable(func):
535
- tools.append(func)
536
403
 
537
- # Archive read-only tools (2)
538
- data_archive_read_only = ["list_archive_contents", "validate_archive_integrity"]
539
- for name in data_archive_read_only:
540
- func = getattr(archive_processing, name)
541
- if callable(func):
542
- tools.append(func)
543
404
 
544
- # Structure read-only tools (8)
545
- data_structure_read_only = [
546
- "flatten_dict_simple",
547
- "unflatten_dict",
548
- "get_nested_value_simple",
549
- "merge_dicts_simple",
550
- "compare_data_structures",
551
- "safe_get",
552
- "remove_empty_values",
553
- "extract_keys",
554
- ]
555
- for name in data_structure_read_only:
556
- func = getattr(structures, name)
557
- if callable(func):
558
- tools.append(func)
559
405
 
560
406
  # Validation tools (5 - ALL are read-only)
561
407
  data_validation_read_only = [
@@ -570,12 +416,6 @@ def load_all_read_only_tools() -> List[Callable[..., Any]]:
570
416
  if callable(func):
571
417
  tools.append(func)
572
418
 
573
- # Object serialization read-only tools (2)
574
- data_object_read_only = ["sanitize_for_serialization", "validate_pickle_safety"]
575
- for name in data_object_read_only:
576
- func = getattr(object_serialization, name)
577
- if callable(func):
578
- tools.append(func)
579
419
 
580
420
  # Transform read-only tools (4 - analysis/cleaning without modification)
581
421
  data_transform_read_only = [
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: basic-open-agent-tools
3
- Version: 0.7.0
3
+ Version: 0.7.2
4
4
  Summary: An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions.
5
5
  Home-page: https://github.com/open-agent-tools/basic-open-agent-tools
6
6
  Author: Open Agent Tools
@@ -13,13 +13,9 @@ src/basic_open_agent_tools.egg-info/requires.txt
13
13
  src/basic_open_agent_tools.egg-info/top_level.txt
14
14
  src/basic_open_agent_tools/crypto/__init__.py
15
15
  src/basic_open_agent_tools/data/__init__.py
16
- src/basic_open_agent_tools/data/archive_processing.py
17
- src/basic_open_agent_tools/data/binary_processing.py
18
16
  src/basic_open_agent_tools/data/config_processing.py
19
17
  src/basic_open_agent_tools/data/csv_tools.py
20
18
  src/basic_open_agent_tools/data/json_tools.py
21
- src/basic_open_agent_tools/data/object_serialization.py
22
- src/basic_open_agent_tools/data/structures.py
23
19
  src/basic_open_agent_tools/data/transform.py
24
20
  src/basic_open_agent_tools/data/validation.py
25
21
  src/basic_open_agent_tools/file_system/__init__.py
@@ -32,13 +28,9 @@ src/basic_open_agent_tools/system/__init__.py
32
28
  src/basic_open_agent_tools/text/__init__.py
33
29
  src/basic_open_agent_tools/text/processing.py
34
30
  src/basic_open_agent_tools/utilities/__init__.py
35
- tests/test_data_archive_processing.py
36
- tests/test_data_binary_processing.py
37
31
  tests/test_data_config_processing.py
38
32
  tests/test_data_csv_tools.py
39
33
  tests/test_data_json_tools.py
40
- tests/test_data_object_serialization.py
41
- tests/test_data_structures.py
42
34
  tests/test_data_transform.py
43
35
  tests/test_data_validation.py
44
36
  tests/test_file_system_tools.py
@@ -15,9 +15,9 @@ class TestReadOnlyTools:
15
15
  def test_load_all_read_only_tools_count(self):
16
16
  """Test that we get the expected number of read-only tools."""
17
17
  tools = boat.load_all_read_only_tools()
18
- # Should have 55 read-only tools total:
19
- # 11 file system + 10 text + 34 data = 55
20
- assert len(tools) == 55
18
+ # Should have 40 read-only tools total:
19
+ # 11 file system + 10 text + 19 data = 40 (removed binary, structures, archives, objects)
20
+ assert len(tools) == 40
21
21
 
22
22
  def test_all_returned_items_are_callable(self):
23
23
  """Test that all returned items are callable functions."""
@@ -37,7 +37,7 @@ class TestReadOnlyTools:
37
37
  # Verify counts
38
38
  assert len(fs_tools) == 11 # File system read-only tools
39
39
  assert len(text_tools) == 10 # All text tools are read-only
40
- assert len(data_tools) == 34 # Data read-only tools
40
+ assert len(data_tools) == 19 # Data read-only tools (removed binary, structures, archives, objects)
41
41
 
42
42
  def test_read_only_tools_exclude_write_operations(self):
43
43
  """Test that read-only tools exclude write/modify operations."""
@@ -86,9 +86,6 @@ class TestReadOnlyTools:
86
86
  "validate_schema_simple",
87
87
  "clean_whitespace",
88
88
  "extract_sentences",
89
- "flatten_dict_simple",
90
- "validate_binary_format",
91
- "list_archive_contents",
92
89
  ]
93
90
 
94
91
  for expected in expected_read_only:
@@ -126,5 +123,5 @@ class TestReadOnlyTools:
126
123
  assert "read_only" in all_tools
127
124
  assert isinstance(all_tools["read_only"], list)
128
125
  assert (
129
- len(all_tools["read_only"]) == 55
126
+ len(all_tools["read_only"]) == 40
130
127
  ) # Should match our read-only tool count