Lightweight multimodal AI agent framework with tool calling and Gemini integration
Project description
🚀 LucyAI
Turn Python functions into multimodal AI agents in seconds.
No graphs. No config files. No boilerplate.
Just Python → intelligent agents.
⚡ Why LucyAI?
Most AI frameworks force complexity:
- Graphs
- Pipeline systems
- Config files
- Extra abstraction layers
LucyAI removes all of it.
- ✔ Function = Tool
- ✔ Instant execution
- ✔ Multimodal by default
- ✔ Built-in memory
- ✔ Zero boilerplate
If you can write Python, you can build AI agents.
🎬 Live Demo
Real tool calling + memory + no setup:
📦 Installation
uv add lucyai
or
pip install lucyai
🧠 Quick Start
from lucyai import Lucy
agent = Lucy()
response = agent.run("Hello!")
print(response)
🔧 Tool Calling
Turn Python functions into AI tools automatically:
from lucyai import Lucy
agent = Lucy()
@agent.tool
def get_time() -> str:
return "3:00 PM"
@agent.tool
def add(a: int, b: int) -> int:
return a + b
🖼️ Image Input
agent.run("What is in this image?", imagedata="image.png")
Supported:
- PNG
- JPEG
- Pillow Images
- NumPy arrays
- Raw bytes
🎧 Audio Input
agent.run("Transcribe this audio", audiodata="audio.wav")
Supported:
- WAV
- MP3
- Raw bytes
🎥 Video Input
agent.run("Describe this video", videodata="video.mp4")
Supported:
- MP4
- Raw bytes
💭 Memory
agent = Lucy(history_limit=10)
agent.run("My name is Johnny")
agent.run("What is my name?")
agent.clear_history()
🔑 API Keys
Environment variables:
-
GEMINI_API_KEY
-
HZAPIKEY
export GEMINI_API_KEY="your-key"
Or:
Lucy(api_key="your-key")
🧪 Example
from lucyai import Lucy
agent = Lucy()
@agent.tool
def search(q: str) -> str:
return f"Searching: {q}"
print(agent.run("Find cauliflower recipes"))
🤖 Why LucyAI?
- Fast setup
- Multimodal by default
- Real tool calling
- Minimal boilerplate
- Pure Python
If you can write a function, you can build an AI agent.
📋 Requirements
- Python 3.11+
- Gemini API key
📜 License
AGPL-3.0-only
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 lucyai-1.1.0.tar.gz.
File metadata
- Download URL: lucyai-1.1.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b0ddcd7829fee4e4ade56ade7304e6b3e258edbd6e4911ba0fb8de58d1a26dc
|
|
| MD5 |
6484c336e8bb0aed5220ebaa23590005
|
|
| BLAKE2b-256 |
9c5050208bd2a125f018706c0202efdff44c7405aa62af22265a3ba50f368ea4
|
File details
Details for the file lucyai-1.1.0-py3-none-any.whl.
File metadata
- Download URL: lucyai-1.1.0-py3-none-any.whl
- Upload date:
- Size: 18.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7b0ca482aeafb60cde7da91b78b422209dfdd19215d6ef71cd4707f1b017479d
|
|
| MD5 |
3e5c242d887df667427210547b61013e
|
|
| BLAKE2b-256 |
4f17d189c6f9afb2065c3eb9c8c7390f6fefba87d8be66199d07f48dfd5bbd78
|