Skip to main content

An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions.

Project description

basic-open-agent-tools

An open foundational toolkit providing essential components for building AI agents with minimal dependencies for local (non-HTTP/API) actions.

🆕 What's New in v0.13.12

🐛 Bug Fixes: Fixed Strands decorator detection and updated outdated test imports

📦 Test Improvements: Corrected test compatibility with current data module structure

Recent Updates

v0.13.6 - Enhanced confirmation dialogs with content previews for better decision-making

v0.13.3 - Added structured logging with BOAT_LOG_LEVEL environment variable control

v0.13.2 - Smart confirmation system that adapts to interactive, agent, or automation contexts

v0.13.1 - Focused toolkit scope; coding tools migrated to coding-open-agent-tools

Installation

pip install basic-open-agent-tools

Or with UV:

uv add basic-open-agent-tools

Optional Dependencies

# All features
pip install basic-open-agent-tools[all]

# Specific features
pip install basic-open-agent-tools[system]      # Process management, system info
pip install basic-open-agent-tools[pdf]         # PDF reading and creation
pip install basic-open-agent-tools[xml]         # XML parsing and validation
pip install basic-open-agent-tools[word]        # Word document operations
pip install basic-open-agent-tools[excel]       # Excel spreadsheet operations
pip install basic-open-agent-tools[powerpoint]  # PowerPoint presentations
pip install basic-open-agent-tools[image]       # Image processing

Quick Start

import basic_open_agent_tools as boat

# Load all tools
all_tools = boat.load_all_tools()  # 326 functions

# Or load specific categories
fs_tools = boat.load_all_filesystem_tools()
text_tools = boat.load_all_text_tools()
data_tools = boat.load_all_data_tools()

# Merge selected categories
custom_tools = boat.merge_tool_lists(fs_tools, text_tools, data_tools)

# Use with any agent framework
from google.adk.agents import Agent
agent = Agent(tools=all_tools)

Available Modules

21 modules with 326 total functions — all with @strands_tool decorator and Google ADK compatible signatures.

📊 Complete Module Breakdown

Module Functions Description
Core Operations
file_system 19 File and directory operations, tree generation
text 10 Text processing, case conversion, formatting
data 23 JSON, CSV, YAML, TOML processing and validation
datetime 40 Date/time operations, timezones, business days
Document Processing
excel 24 Spreadsheet reading, writing, formatting, charts
xml 24 XML parsing, authoring, validation, transformation
pdf 20 PDF creation, reading, manipulation
word 18 Word document operations and formatting
html 17 HTML generation and parsing
diagrams 16 Mermaid and PlantUML diagram generation
markdown 12 Markdown generation and parsing
powerpoint 10 PowerPoint presentation operations
System & Network
system 19 Shell commands, process management, environment
network 4 HTTP client, DNS lookup, port checking
utilities 8 Debugging, timing, performance tools
Security & Data
crypto 14 Hashing, encoding, UUID/token generation
color 14 Color conversion, palette generation, analysis
image 12 Image manipulation and metadata reading
archive 9 ZIP, TAR, GZIP, BZIP2, XZ compression
Task Management
todo 8 Task creation, validation, management
logging 5 Structured logging and log rotation
TOTAL 326

Key Features

Agent-Friendly: Simplified type signatures prevent "signature too complex" errors

🚀 Minimal Dependencies: Pure Python core with optional dependencies only when needed

🔧 Modular: Load only what you need

🤝 Multi-Framework: Works with Google ADK (signature-based), LangChain, Strands Agents (@strands_tool decorator), custom frameworks

🔍 Enhanced Feedback: Detailed operation confirmations with skip_confirm safety parameter

Safety Features

Smart Confirmation System (3 Modes)

All write/delete operations include a skip_confirm parameter with intelligent confirmation handling:

🔄 Bypass Mode - skip_confirm=True or BYPASS_TOOL_CONSENT=true env var

  • Proceeds immediately without prompts
  • Perfect for CI/CD and automation

💬 Interactive Mode - Terminal with skip_confirm=False

  • Prompts user with y/n confirmation
  • Shows preview info (file sizes, etc.)

🤖 Agent Mode - Non-TTY with skip_confirm=False

  • Raises CONFIRMATION_REQUIRED error with instructions
  • LLM agents can ask user and retry with skip_confirm=True
# Safe by default - adapts to context
result = boat.file_system.write_file_from_string(
    file_path="/tmp/example.txt",
    content="Hello, World!",
    skip_confirm=False  # Interactive prompt OR agent error
)

# Explicit overwrite
result = boat.file_system.write_file_from_string(
    file_path="/tmp/example.txt",
    content="Updated content",
    skip_confirm=True  # Bypasses all confirmations
)

# Automation mode
import os
os.environ['BYPASS_TOOL_CONSENT'] = 'true'
# All confirmations bypassed for CI/CD

Documentation

Helper Functions

import basic_open_agent_tools as boat

# Master loader
boat.load_all_tools()  # Load all 326 functions

# Category loaders (21 total)
boat.load_all_filesystem_tools()
boat.load_all_text_tools()
boat.load_all_data_tools()
boat.load_all_datetime_tools()
boat.load_all_excel_tools()
boat.load_all_xml_tools()
boat.load_all_pdf_tools()
boat.load_all_word_tools()
boat.load_all_html_tools()
boat.load_all_markdown_tools()
boat.load_all_powerpoint_tools()
boat.load_all_diagrams_tools()
boat.load_all_system_tools()
boat.load_all_network_tools()
boat.load_all_utilities_tools()
boat.load_all_crypto_tools()
boat.load_all_color_tools()
boat.load_all_image_tools()
boat.load_all_archive_tools()
boat.load_all_todo_tools()
boat.load_all_logging_tools()

# Specialized data loaders (4 total)
boat.load_data_json_tools()    # JSON operations
boat.load_data_csv_tools()     # CSV operations
boat.load_data_validation_tools()  # Data validation
boat.load_data_config_tools()  # YAML, TOML, INI

# Utility functions
boat.merge_tool_lists(*tool_lists)  # Merge and deduplicate
boat.list_all_available_tools()     # List all tool names
boat.get_tool_info(tool_name)       # Get tool metadata

Contributing

We welcome contributions! See our Contributing Guide for development setup, coding standards, and pull request process.

License

MIT License - see LICENSE for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

basic_open_agent_tools-0.13.14.tar.gz (140.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

basic_open_agent_tools-0.13.14-py3-none-any.whl (177.9 kB view details)

Uploaded Python 3

File details

Details for the file basic_open_agent_tools-0.13.14.tar.gz.

File metadata

  • Download URL: basic_open_agent_tools-0.13.14.tar.gz
  • Upload date:
  • Size: 140.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for basic_open_agent_tools-0.13.14.tar.gz
Algorithm Hash digest
SHA256 e209f602fa38e31644368842df2cc8eab9387ba8e3f8e5e62f383e39f730499e
MD5 f36da36c5e9671338e5c87a27fbe5a9b
BLAKE2b-256 6d324f464452e5d0c42c6dd0f620527af97bcfae416d526b0f4bbd3a61af70cf

See more details on using hashes here.

Provenance

The following attestation bundles were made for basic_open_agent_tools-0.13.14.tar.gz:

Publisher: publish.yml on Open-Agent-Tools/basic-open-agent-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file basic_open_agent_tools-0.13.14-py3-none-any.whl.

File metadata

File hashes

Hashes for basic_open_agent_tools-0.13.14-py3-none-any.whl
Algorithm Hash digest
SHA256 b7a0f413d9af9fa021843cb3c44bcde3c245ef1502f0b699d28b31b21781e129
MD5 d4a9aaee31c35945ec8a8185af1770b2
BLAKE2b-256 bdb716fccc690ccda4ca99039e838cc9860fbb2a79ffb63bf9ac36a1246fde5f

See more details on using hashes here.

Provenance

The following attestation bundles were made for basic_open_agent_tools-0.13.14-py3-none-any.whl:

Publisher: publish.yml on Open-Agent-Tools/basic-open-agent-tools

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page