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 v1.3.0
🎯 NEW: Loadouts - 6 pre-configured tool bundles for specific use cases (coder, docs writer, data analyst, web publisher, visual designer, office suite)
📝 Markdown Enhancements: Advanced HTML conversion with blockquotes, tables, task lists, and 5 new parsing functions
📅 DateTime Improvements: 6 new formatting/parsing functions for human-readable dates, times, and durations
Recent Updates
v1.2.0 - Markdown and datetime enhancements, datetime essentials helper
v1.1.0 - New helper functions: Added 10 use-case focused tool loaders for targeted agent capabilities
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
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
# Option 1: Load all tools (337 functions)
all_tools = boat.load_all_tools()
# Option 2: Use pre-configured loadouts for specific use cases
coder_tools = boat.load_coder_loadout() # ~105 tools for development
docs_tools = boat.load_docs_loadout() # ~130 tools for documentation
analyst_tools = boat.load_data_analyst_loadout() # ~115 tools for data analysis
web_tools = boat.load_web_publisher_loadout() # ~90 tools for web content
designer_tools = boat.load_visual_designer_loadout() # ~60 tools for graphics
office_tools = boat.load_office_suite_loadout() # ~80 tools for Office work
# Option 3: 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
# General-purpose agent
agent = Agent(tools=all_tools)
# Specialized developer agent
dev_agent = Agent(tools=boat.load_coder_loadout())
# Documentation writer agent
docs_agent = Agent(tools=boat.load_docs_loadout())
Available Modules
21 modules with 337 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 |
46 | Date/time operations, timezones, formatting, parsing |
| 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 |
17 | Markdown generation, parsing, HTML conversion |
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 | 337 |
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
🎯 Pre-configured Loadouts: 6 curated tool bundles optimized for specific use cases with minimal overlap
Loadouts - Pre-configured Tool Bundles
Choose the right loadout for your agent's role to minimize token usage and maximize relevance:
1. load_coder_loadout() (~105 tools)
For: Software developers, DevOps engineers, automation scripts
Includes: File system, system operations, network, logging, crypto, archive, config files (YAML, TOML, JSON, INI)
Example Agents:
- DevOps agent managing deployments and server configs
- Project setup agent scaffolding new projects
2. load_docs_loadout() (~130 tools)
For: Technical writers, documentation creators, report generators
Includes: Word, PDF, Markdown, HTML, diagrams, images, text processing
Example Agents:
- Technical writer creating API documentation
- Report generator compiling findings into formatted documents
3. load_data_analyst_loadout() (~115 tools)
For: Data analysts, financial analysts, business intelligence
Includes: Excel, CSV, data validation, diagrams, structured data formats (JSON, YAML, XML)
Example Agents:
- Financial analyst processing budgets and creating reports
- BI agent generating dashboards and analytics
4. load_web_publisher_loadout() (~90 tools)
For: Web developers, content managers, blog publishers
Includes: HTML, XML, Markdown, network operations, text processing
Example Agents:
- Blog publisher converting drafts to HTML
- Documentation site generator creating static websites
5. load_visual_designer_loadout() (~60 tools)
For: Graphic designers, infographic creators, visual content producers
Includes: Image processing, diagrams, color tools, file operations
Example Agents:
- Infographic generator creating data visualizations
- Brand asset manager processing images and color palettes
6. load_office_suite_loadout() (~80 tools)
For: Office workers, business users, administrative assistants
Includes: Excel, Word, PowerPoint, file operations, datetime essentials
Example Agents:
- Office assistant creating business reports and presentations
- Administrative agent managing documents and schedules
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/nconfirmation - Shows preview info (file sizes, etc.)
🤖 Agent Mode - Non-TTY with skip_confirm=False
- Raises
CONFIRMATION_REQUIREDerror 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
- Getting Started - Installation and setup
- API Reference - Complete function reference
- Examples - Usage examples and patterns
- FAQ - Troubleshooting and common questions
- Contributing - Development guidelines
- Changelog - Version history
Helper Functions
Rapid Loaders - Pre-configured Loadouts (6 total)
Optimized tool bundles for specific roles and use cases - minimal overlap, maximum relevance:
import basic_open_agent_tools as boat
# Loadouts - Choose the one that matches your agent's role
boat.load_coder_loadout() # ~105 tools - Development, DevOps, automation
boat.load_docs_loadout() # ~130 tools - Document creation (Word, PDF, Markdown, HTML)
boat.load_data_analyst_loadout() # ~115 tools - Data analysis (Excel, CSV, validation)
boat.load_web_publisher_loadout() # ~90 tools - Web content (HTML, XML, Markdown)
boat.load_visual_designer_loadout() # ~60 tools - Graphics (Images, Diagrams, Color)
boat.load_office_suite_loadout() # ~80 tools - Office productivity (Excel, Word, PowerPoint)
Generic Loaders
Build custom tool sets by combining modules:
# Master loader
boat.load_all_tools() # Load all 337 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
# Use-case focused loaders (10 total)
boat.load_essential() # ~25 most commonly needed tools
boat.load_core_readonly() # 28 read-only tools (filesystem, text, data parsing)
boat.load_converters() # 78 pure transformation tools (text, datetime, crypto, color)
boat.load_document_readers() # Extract content from PDF, Word, Excel, PowerPoint, images
boat.load_writers() # All file creation/modification tools
boat.load_analyst_tools() # Data analysis and validation tools
boat.load_web_tools() # HTML, Markdown, network operations
boat.load_devtools() # Debugging, logging, performance measurement
boat.load_structured_data_tools() # CSV, JSON, XML, YAML, TOML, INI
boat.load_office_suite() # Excel, Word, PowerPoint tools
boat.load_markup_tools() # HTML, Markdown, XML processing
# 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file basic_open_agent_tools-1.3.1.tar.gz.
File metadata
- Download URL: basic_open_agent_tools-1.3.1.tar.gz
- Upload date:
- Size: 201.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a18258930ba4a8c1c4d8b8950b59bbd980f07a919952bc05305b1b555cbb1ced
|
|
| MD5 |
561dff75a64fd3a260cd2497dd51a9e9
|
|
| BLAKE2b-256 |
9f283dcbeb9dc2258a4b34b689862a2db1cc0e6eeb053c2cf753b088c7a6b91d
|
Provenance
The following attestation bundles were made for basic_open_agent_tools-1.3.1.tar.gz:
Publisher:
publish.yml on Open-Agent-Tools/basic-open-agent-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
basic_open_agent_tools-1.3.1.tar.gz -
Subject digest:
a18258930ba4a8c1c4d8b8950b59bbd980f07a919952bc05305b1b555cbb1ced - Sigstore transparency entry: 1082463372
- Sigstore integration time:
-
Permalink:
Open-Agent-Tools/basic-open-agent-tools@713caab7cf2772087e080f7b65fc0eadeef06578 -
Branch / Tag:
refs/tags/v1.3.1 - Owner: https://github.com/Open-Agent-Tools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@713caab7cf2772087e080f7b65fc0eadeef06578 -
Trigger Event:
release
-
Statement type:
File details
Details for the file basic_open_agent_tools-1.3.1-py3-none-any.whl.
File metadata
- Download URL: basic_open_agent_tools-1.3.1-py3-none-any.whl
- Upload date:
- Size: 237.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86cd5c35b0fb1f4f9f15322ef4b8612ee28397980426447986d8bbe9bc71a679
|
|
| MD5 |
793fc2f690a64bdfc87b9a41b28d35b7
|
|
| BLAKE2b-256 |
c668e7e38d15d28c442d82fb47a3276d6954b02762985d972999e05a1ada2760
|
Provenance
The following attestation bundles were made for basic_open_agent_tools-1.3.1-py3-none-any.whl:
Publisher:
publish.yml on Open-Agent-Tools/basic-open-agent-tools
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
basic_open_agent_tools-1.3.1-py3-none-any.whl -
Subject digest:
86cd5c35b0fb1f4f9f15322ef4b8612ee28397980426447986d8bbe9bc71a679 - Sigstore transparency entry: 1082463415
- Sigstore integration time:
-
Permalink:
Open-Agent-Tools/basic-open-agent-tools@713caab7cf2772087e080f7b65fc0eadeef06578 -
Branch / Tag:
refs/tags/v1.3.1 - Owner: https://github.com/Open-Agent-Tools
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@713caab7cf2772087e080f7b65fc0eadeef06578 -
Trigger Event:
release
-
Statement type: