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.0.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.0.0-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file lucyai-1.0.0.tar.gz.

File metadata

  • Download URL: lucyai-1.0.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.0.0.tar.gz
Algorithm Hash digest
SHA256 4794cfb738429c3b529556b64888ff29479fcab0d6dda74ed623242e9db97df9
MD5 70a0cffabe47ac7fdcbb4340671a9090
BLAKE2b-256 cab83e16b434900f8697f64791b1cd6d17520c0af19b5fb41740b4f6373e6fe5

See more details on using hashes here.

File details

Details for the file lucyai-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: lucyai-1.0.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.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1c5f0a0146d68da55af74f798af80a0c45f62c86b08823b97be32521469959b1
MD5 7e180494cf3f226197d0b0dd65c7a66e
BLAKE2b-256 2c4c471766fc4d58e98546df84dea68c227313b82598aec6af1f7258a20e0f81

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