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
Metadata
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)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| aitoolmaker-0.1.0.tar.gz | 728.1 kB | Without provenance | Details for aitoolmaker-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| aitoolmaker-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for aitoolmaker-0.1.0-py3-none-any.whl |
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
|
Security for aitoolmaker 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.