Skip to main content

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:

demo


📦 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


Download files

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

Source Distribution

lucyai-1.1.0.tar.gz (18.0 kB view details)

Uploaded Source

Built Distribution

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

lucyai-1.1.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

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

Hashes for lucyai-1.1.0.tar.gz
Algorithm Hash digest
SHA256 0b0ddcd7829fee4e4ade56ade7304e6b3e258edbd6e4911ba0fb8de58d1a26dc
MD5 6484c336e8bb0aed5220ebaa23590005
BLAKE2b-256 9c5050208bd2a125f018706c0202efdff44c7405aa62af22265a3ba50f368ea4

See more details on using hashes here.

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

Hashes for lucyai-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7b0ca482aeafb60cde7da91b78b422209dfdd19215d6ef71cd4707f1b017479d
MD5 3e5c242d887df667427210547b61013e
BLAKE2b-256 4f17d189c6f9afb2065c3eb9c8c7390f6fefba87d8be66199d07f48dfd5bbd78

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