Skip to main content

AIToolMaker

AIToolMaker is a powerful Python framework that automatically generates and runs Streamlit-based AI tools and chatbots, or exports them as full HTML/CSS/JS websites.

Features

  • Instant Tool Generation: Create AI-powered tools with a single command
  • Multiple Output Formats: Generate Streamlit apps or standalone websites
  • 6 Pre-built Tools: Chatbot, Blog Generator, Data Analyzer, SQL Generator, Document Summarizer, Web Summarizer
  • Run Immediately: Option to run tools instantly without exporting code
  • Auto-branding: Automatic name and logo generation
  • Multi-API Support: Works with Gemini, OpenAI, and Anthropic APIs

Installation

pip install aitoolmaker

Or install from source:

git clone https://github.com/MoustafaMohamed01/aitoolmaker.git
cd aitoolmaker
pip install -e .

Quick Start

Python API

from aitoolmaker import AIToolMaker

# Initialize
tool = AIToolMaker(
    api_key="YOUR_GEMINI_API_KEY",
    model="gemini-2.0-flash"
)

# Generate and run a chatbot
tool.create_tool(
    tool_type="chatbot",
    output="streamlit",
    run=True,
    name="My AI Assistant"
)

Command Line

# Create a blog generator
aitoolmaker create --tool blog_generator --api-key YOUR_KEY --output streamlit

# Create and run immediately
aitoolmaker create --tool chatbot --api-key YOUR_KEY --run

# Generate a website
aitoolmaker create --tool sql_generator --api-key YOUR_KEY --output website

Available Tools

Tool Description
chatbot Professional AI assistant with conversation history
blog_generator AI-powered blog writer with keyword optimization
data_analyzer Ask questions about CSV data using AI
sql_generator Generate SQL queries from natural language
document_summarizer Summarize PDF and Word documents
web_summarizer Summarize website content

Usage Examples

Generate Multiple Tools

from aitoolmaker import AIToolMaker

api_key = "YOUR_API_KEY"
tools = ["chatbot", "blog_generator", "sql_generator"]

for tool_type in tools:
    maker = AIToolMaker(api_key=api_key, model="gemini-2.0-flash")
    result = maker.create_tool(
        tool_type=tool_type,
        output="streamlit",
        output_dir=f"./generated_{tool_type}"
    )
    print(f"{tool_type} created at {result['output_dir']}")

Custom Branding

from aitoolmaker import AIToolMaker

maker = AIToolMaker(api_key="YOUR_KEY", model="gemini-2.0-flash")

result = maker.create_tool(
    tool_type="data_analyzer",
    output="streamlit",
    name="DataMaster Pro",
    logo="./my_logo.png",
    output_dir="./my_data_tool"
)

Generate Website

from aitoolmaker import AIToolMaker

maker = AIToolMaker(api_key="YOUR_KEY", model="gemini-2.0-flash")

result = maker.create_tool(
    tool_type="sql_generator",
    output="website",
    name="SQL Wizard",
    output_dir="./sql_website"
)

CLI Usage

List Available Tools

aitoolmaker list

Get Tool Information

aitoolmaker info chatbot

Create Tool with Options

aitoolmaker create \
  --tool document_summarizer \
  --api-key YOUR_KEY \
  --model gemini-2.0-flash \
  --name "DocSummarizer Pro" \
  --logo ./logo.png \
  --output-dir ./my_summarizer

Generated Output Structure

Streamlit App

generated_chatbot/
├── app.py              # Main Streamlit application
├── api_key.py          # API key configuration
├── requirements.txt    # Python dependencies
├── README.md           # Usage instructions
└── utils.py            # Utility functions (if needed)

Website

generated_chatbot_website/
├── index.html          # Main HTML file
├── css/
│   └── style.css       # Stylesheet
├── js/
│   └── app.js          # JavaScript logic
├── assets/
│   └── logo.png        # Logo image
└── README.md           # Deployment instructions

Use Cases

  • Rapid Prototyping: Quickly create AI tool prototypes
  • Client Demos: Generate custom-branded demos
  • Internal Tools: Build internal AI tools for teams
  • Learning: Study production-ready AI code
  • Deployment: Export portable, deployment-ready code

Contributing

Contributions are welcome! To add a new tool:

  1. Create a template file in core/templates/your_tool.py
  2. Define the template constant
  3. Register it in core/templates/__init__.py
  4. Update SUPPORTED_TOOLS in __init__.py

License

MIT License - See LICENSE file for details

Acknowledgments

Support


Made by the Moustafa Mohamed

Release files for aitoolmaker 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for aitoolmaker 0.1.0
File Size Uploaded
aitoolmaker-0.1.0.tar.gz 728.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aitoolmaker 0.1.0
File Interpreter ABI Platform
aitoolmaker-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / aitoolmaker-0.1.0.tar.gz

Download URL aitoolmaker-0.1.0.tar.gz
Size 728.1 kB
Tags Source
SHA-256 checksum
How to use checksums
945f0bc535132a019e535c190d487278b3f148e4cf6485adaf30ffa1b5c1a51f
BLAKE2b-256 checksum
How to use checksums
ce58d456b6bc87f39c8384b2cb79705c340a6f5afa6f3c2a589199a6b56ba78e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release files / aitoolmaker-0.1.0-py3-none-any.whl

Download URL aitoolmaker-0.1.0-py3-none-any.whl
Size 730.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3e78934b006a2a3ea62d07f20fb14b8d672ebb38b7095c7c5a99cf7e1f4aa4df
BLAKE2b-256 checksum
How to use checksums
a02ca22fd5debd816f2fb03eea5675dc66db5b79c3f9b39bba64f6d2bcd9737c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.7

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page