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:
- Create a template file in
core/templates/your_tool.py - Define the template constant
- Register it in
core/templates/__init__.py - Update
SUPPORTED_TOOLSin__init__.py
License
MIT License - See LICENSE file for details
Acknowledgments
- Built with Streamlit
- Powered by Google Gemini
Support
- Issues: GitHub Issues
- Email: moustafamohmd5@gmail.com
Made by the Moustafa Mohamed
- Linkedin Moustafa Mohamed
- Github MoustafaMohamed01
- Kaggle moustafamohamed01
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aitoolmaker-0.1.0.tar.gz
(728.1 kB
view details)
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
aitoolmaker-0.1.0-py3-none-any.whl
(730.0 kB
view details)
File details
Details for the file aitoolmaker-0.1.0.tar.gz.
File metadata
- Download URL: aitoolmaker-0.1.0.tar.gz
- Upload date:
- Size: 728.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
945f0bc535132a019e535c190d487278b3f148e4cf6485adaf30ffa1b5c1a51f
|
|
| MD5 |
069e0f4affcf9f2ace03d68fd9169d07
|
|
| BLAKE2b-256 |
ce58d456b6bc87f39c8384b2cb79705c340a6f5afa6f3c2a589199a6b56ba78e
|
File details
Details for the file aitoolmaker-0.1.0-py3-none-any.whl.
File metadata
- Download URL: aitoolmaker-0.1.0-py3-none-any.whl
- Upload date:
- Size: 730.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3e78934b006a2a3ea62d07f20fb14b8d672ebb38b7095c7c5a99cf7e1f4aa4df
|
|
| MD5 |
0c70e0dabe30832779f95bdeea8a0737
|
|
| BLAKE2b-256 |
a02ca22fd5debd816f2fb03eea5675dc66db5b79c3f9b39bba64f6d2bcd9737c
|