Catalog PyPI
Back to packageRELEASE DETAILS

0.2.2

PyPI

ai-agenttools

Semantic Kernel plugins for AI agents: File I/O, Excel, Word, PowerPoint, PDF, CSV, Web scraping, and Shell commands

agentsaicsvexcelpdfpowerpointsemantic-kerneltoolsweb-scrapingword
Published30 Nov 2025
Direct dependencies9
Transitive dependenciesNot calculated

README

Version 0.2.2 documentation

AI AgentTools

Empowering AI agents to bridge the gap between intelligence and action.

AI AgentTools is a comprehensive, open-source toolkit that gives AI agents the hands and eyes they need to interact with the digital world. From automating office workflows to web scraping and data analysis, we're building the foundational layer that transforms conversational AI into productive assistants capable of real-world tasks. Our vision is a future where AI agents seamlessly collaborate with humans, handling the repetitive and complex, freeing people to focus on creativity and strategy.

🚀 Now available on PyPI! Install with pip install ai-agenttools


Comprehensive Semantic Kernel plugins for AI agents to perform PC tasks: File I/O, Office documents (Excel, Word, PowerPoint), PDF operations, CSV/data manipulation, web scraping, and shell commands.

Installation

pip install ai-agenttools

Optional Dependencies

Install specific tool categories as needed:

# All tools
pip install ai-agenttools[all]

# Office suite (Excel, Word, PowerPoint)
pip install ai-agenttools[office]

# Individual tools
pip install ai-agenttools[excel]      # Excel operations
pip install ai-agenttools[word]       # Word documents
pip install ai-agenttools[powerpoint] # PowerPoint presentations
pip install ai-agenttools[pdf]        # PDF operations
pip install ai-agenttools[csv]        # CSV/data manipulation
pip install ai-agenttools[web]        # Web scraping

Usage

from agenttools import (
    FileIOTools,
    ExcelTools,
    WordTools,
    PowerPointTools,
    PDFTools,
    CSVTools,
    WebTools,
    ShellTool
)
from semantic_kernel import Kernel

kernel = Kernel()

# Add plugins as needed
kernel.add_plugin(FileIOTools(), plugin_name="file_io_tools")
kernel.add_plugin(ExcelTools(), plugin_name="excel_tools")
kernel.add_plugin(WordTools(), plugin_name="word_tools")
kernel.add_plugin(PowerPointTools(), plugin_name="powerpoint_tools")
kernel.add_plugin(PDFTools(), plugin_name="pdf_tools")
kernel.add_plugin(CSVTools(), plugin_name="csv_tools")
kernel.add_plugin(WebTools(), plugin_name="web_tools")
kernel.add_plugin(ShellTool(), plugin_name="shell_tool")

Features

FileIOTools (4 functions)

  • ensure_dir - Create directories
  • write_file - Write text files
  • append_file - Append to files
  • read_file - Read text files

ExcelTools (15+ functions)

  • create_workbook - Create Excel files
  • read_sheet - Read Excel data
  • write_cell - Write to cells
  • write_rows - Write multiple rows
  • add_sheet, delete_sheet - Manage worksheets
  • get_cell_value, set_cell_value - Cell operations
  • And more...

WordTools (9 functions)

  • create_word_document - Create Word documents
  • add_heading - Add headings with levels
  • add_paragraph - Add text paragraphs
  • add_table - Create tables
  • set_table_cell - Fill table cells
  • add_bullet_list - Add bulleted lists
  • add_page_break - Insert page breaks
  • read_word_document - Extract text

PowerPointTools (8 functions)

  • create_presentation - Create PowerPoint files
  • add_title_slide - Add title slides
  • add_content_slide - Add slides with bullet points
  • add_blank_slide - Add blank slides
  • add_text_box - Add text boxes to slides
  • get_slide_count - Count slides
  • read_slide_text - Extract slide content

PDFTools (8 functions)

  • create_pdf - Create PDF documents
  • extract_pdf_text - Extract text from PDFs
  • merge_pdfs - Merge multiple PDFs
  • split_pdf - Split PDF into pages
  • extract_pdf_page - Extract specific pages
  • get_pdf_info - Get PDF metadata
  • rotate_pdf_pages - Rotate PDF pages

CSVTools (9 functions)

  • read_csv - Read CSV files
  • get_csv_info - Get CSV metadata
  • filter_csv - Filter rows by column value
  • sort_csv - Sort by column
  • get_column_stats - Statistical analysis
  • merge_csv_files - Combine multiple CSVs
  • select_csv_columns - Select specific columns
  • convert_csv_to_json - CSV to JSON conversion

WebTools (9 functions)

  • fetch_webpage - Download HTML content
  • extract_text_from_url - Extract text from webpages
  • extract_links - Get all hyperlinks
  • extract_images - Get all image URLs
  • download_file - Download files from URLs
  • make_get_request - HTTP GET requests
  • make_post_request - HTTP POST requests
  • find_elements_by_tag - Find HTML elements

ShellTool (1 function)

  • run_shell - Execute shell commands with safety checks
    • Blocks dangerous commands (rm -rf, etc.)

License

CC BY-NC 4.0 - Free for non-commercial use. For commercial licensing, please contact the author.

This software is provided for personal, educational, and research use only. Commercial use requires a separate license.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 20

Native requirements
9 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
semantic-kernel
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
semantic-kernelruntime
openpyxl
Environment
{
  "extras": "",
  "marker": "extra == \"excel\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
openpyxl; extra == "excel"runtime
python-docx
Environment
{
  "extras": "",
  "marker": "extra == \"word\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
python-docx; extra == "word"runtime
python-pptx
Environment
{
  "extras": "",
  "marker": "extra == \"powerpoint\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
python-pptx; extra == "powerpoint"runtime
PyPDF2
Environment
{
  "extras": "",
  "marker": "extra == \"pdf\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
PyPDF2; extra == "pdf"runtime
reportlab
Environment
{
  "extras": "",
  "marker": "extra == \"pdf\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
reportlab; extra == "pdf"runtime
pandas
Environment
{
  "extras": "",
  "marker": "extra == \"csv\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pandas; extra == "csv"runtime
requests
Environment
{
  "extras": "",
  "marker": "extra == \"web\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
requests; extra == "web"runtime
beautifulsoup4
Environment
{
  "extras": "",
  "marker": "extra == \"web\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
beautifulsoup4; extra == "web"runtime
openpyxl
Environment
{
  "extras": "",
  "marker": "extra == \"office\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
openpyxl; extra == "office"runtime
python-docx
Environment
{
  "extras": "",
  "marker": "extra == \"office\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
python-docx; extra == "office"runtime
python-pptx
Environment
{
  "extras": "",
  "marker": "extra == \"office\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
python-pptx; extra == "office"runtime
openpyxl
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
openpyxl; extra == "all"runtime
python-docx
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
python-docx; extra == "all"runtime
python-pptx
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
python-pptx; extra == "all"runtime
PyPDF2
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
PyPDF2; extra == "all"runtime
reportlab
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
reportlab; extra == "all"runtime
pandas
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
pandas; extra == "all"runtime
requests
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
requests; extra == "all"runtime
beautifulsoup4
Environment
{
  "extras": "",
  "marker": "extra == \"all\"",
  "requires_python": ">=3.9",
  "evaluation": "NOT_EVALUATED"
}
beautifulsoup4; extra == "all"runtime

Distribution files

2 collected
ai_agenttools-0.2.2-py3-none-any.whl

bdist_wheel · 17.65 KB · Python py3

Source file
ai_agenttools-0.2.2.tar.gz

sdist · 16.27 KB · Python source

Source file

Metadata history

Meaningful changes
Current collected state Current

Observed since 21 Oct, 09:54 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:b125f2ed771a5100941c4cbb805df48e934a8ec1920ade47a66dabcbd2ffe8ad

Other collected versions

View all collected versions →