A simple AI toolkit for text processing using OpenAI and Gemini APIs
Project description
AIWand 🪄
A simple and elegant Python package for AI-powered text processing using OpenAI and Google Gemini APIs.
✨ Features
- Smart Provider Selection - Automatically uses OpenAI or Gemini based on available keys
- Text Summarization - Create concise, detailed, or bullet-point summaries
- AI Chat - Have conversations with context history
- Text Generation - Generate content from prompts
- Helper Utilities - Random number and UUID generation
- Zero Configuration - Works with just environment variables
- CLI Interface - Optional command line usage
🚀 Quick Start
Installation
pip install aiwand
Configuration
Set your API keys as environment variables:
# Option 1: OpenAI only
export OPENAI_API_KEY="your-openai-key"
# Option 2: Gemini only
export GEMINI_API_KEY="your-gemini-key"
# Option 3: Both (set preference)
export OPENAI_API_KEY="your-openai-key"
export GEMINI_API_KEY="your-gemini-key"
export AI_DEFAULT_PROVIDER="openai" # or "gemini"
Or create a .env file in your project:
OPENAI_API_KEY=your-openai-key
GEMINI_API_KEY=your-gemini-key
AI_DEFAULT_PROVIDER=openai
Basic Usage
import aiwand
# Summarize text
summary = aiwand.summarize("Your long text here...")
# Chat with AI
response = aiwand.chat("What is machine learning?")
# Generate text
story = aiwand.generate_text("Write a poem about coding")
# Generate random number and UUID
random_num = aiwand.generate_random_number(8) # 8-digit number
unique_id = aiwand.generate_uuid() # UUID4
Advanced Usage
import aiwand
# Customized summarization
summary = aiwand.summarize(
text="Your long text...",
style="bullet-points", # "concise", "detailed", "bullet-points"
max_length=50,
model="gpt-4" # Optional: specify model
)
# Chat with conversation history
conversation = []
response1 = aiwand.chat("Hello!", conversation_history=conversation)
conversation.append({"role": "user", "content": "Hello!"})
conversation.append({"role": "assistant", "content": response1})
response2 = aiwand.chat("What did I just say?", conversation_history=conversation)
# Generate text with custom parameters
text = aiwand.generate_text(
prompt="Write a technical explanation",
max_tokens=300,
temperature=0.3 # Lower = more focused, Higher = more creative
)
# Helper utilities for testing and development
test_id = aiwand.generate_random_number(6) # 6-digit number
session_id = aiwand.generate_uuid() # UUID4
user_code = aiwand.generate_random_number(4) # 4-digit code
transaction_uuid = aiwand.generate_uuid(uppercase=True) # Uppercase UUID
Configuration Management
import aiwand
# Show current configuration
aiwand.show_current_config()
# Interactive setup (optional)
aiwand.setup_user_preferences()
Error Handling
import aiwand
try:
summary = aiwand.summarize("Some text")
except aiwand.AIError as e:
print(f"AI service error: {e}")
except ValueError as e:
print(f"Input error: {e}")
🔧 CLI Usage (Optional)
# Direct prompts (easiest way!)
aiwand "Ten fun names for a pet pelican"
aiwand "Explain quantum computing in simple terms"
# Specific commands
aiwand summarize "Your text here" --style bullet-points
aiwand chat "What is machine learning?"
aiwand generate "Write a story about AI"
# Helper utilities
aiwand helper random --length 8 # Generate 8-digit random number
aiwand helper uuid --uppercase # Generate uppercase UUID
# Setup preferences
aiwand setup
aiwand config
📚 Documentation
- API Reference - Complete function documentation
- CLI Reference - Command line usage
- Installation Guide - Detailed setup instructions
- Virtual Environment Guide - Best practices for Python environments
🤝 Connect
- GitHub: github.com/onlyoneaman/aiwand
- PyPI: pypi.org/project/aiwand
- X (Twitter): @onlyoneaman
📝 License
MIT License - see LICENSE file for details.
Made with ❤️ by Aman Kumar
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 aiwand-0.3.2.tar.gz.
File metadata
- Download URL: aiwand-0.3.2.tar.gz
- Upload date:
- Size: 25.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1395404b0ee100a1b0bf2db392931a337687fa14d9b796c855bdd7ac35b1db0f
|
|
| MD5 |
06f8264c6836f33f7c1b507faa347018
|
|
| BLAKE2b-256 |
b2ffa9565beee60d3ab51a7565299f2ef79e1816b51ac7a4fdb04e40b924bdb7
|
File details
Details for the file aiwand-0.3.2-py3-none-any.whl.
File metadata
- Download URL: aiwand-0.3.2-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c9600d8d372e9e46af5974b44144550547cf7d7e74047e11fae7c053557716b7
|
|
| MD5 |
62909a7c0a609933627f10aba59391b0
|
|
| BLAKE2b-256 |
cd827cbb6010d0ed37bbd87b679e3d9a93c1c55a23980f672c0423ea2350aecd
|