Skip to main content

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.

PyPI version Python versions License

✨ 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

🛠️ Contributing

We welcome contributions from both AI assistants and human developers! Please see our comprehensive contributing guide:

Whether you're an AI assistant helping users or a human developer, these guides ensure consistency and quality across all contributions.

🤝 Connect

📝 License

MIT License - see LICENSE file for details.


Made with ❤️ by Aman Kumar

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiwand-0.4.0.tar.gz (28.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiwand-0.4.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file aiwand-0.4.0.tar.gz.

File metadata

  • Download URL: aiwand-0.4.0.tar.gz
  • Upload date:
  • Size: 28.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for aiwand-0.4.0.tar.gz
Algorithm Hash digest
SHA256 1ca5c975d8558d1313fcbde1c90286db8b339af65c552001811a3c93828103ca
MD5 cb103c46a7d6c8c1a53b06307d659bfc
BLAKE2b-256 5f6177c78e7b8dd8c98cf915096cf4b8fed625065155a9654695706f17e4f1c9

See more details on using hashes here.

File details

Details for the file aiwand-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: aiwand-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.4

File hashes

Hashes for aiwand-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 62cdee0210c0e92c30b671bf489a1c788a4d5b2cdc08bb9fd576d04074a69da9
MD5 1dc8f57eba055d689b541b8f1bf25bc9
BLAKE2b-256 14d6342a23477e04a0eee0be08b74e8e2bd3f7213ac290ee6fa757f0cb2e4cc7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page