Skip to main content

A lightweight, extensible framework for building AI agent.

Project description

LiteAgent

codecov

Introduction

LiteAgent is an easy-to-learn, lightweight, and extensible AI agent framework built on top of the official OpenAI Python SDK. It is designed as a minimal yet practical implementation for quickly building intelligent assistants and chatbots with robust tool-calling capabilities. The codebase is intentionally simple, making it ideal for learning, extension, and rapid prototyping.

Key Advantages:

  • Minimal and approachable: The simplest agent implementation for fast learning and hacking.
  • Accurate and complete type hints: All function signatures are fully type-hinted and never faked, ensuring reliable developer experience and static analysis.
  • Flexible parameter definition: Supports defining tool function parameters using basic types, Pydantic models, or Python dataclasses—even in combination.
  • Streaming responses: Seamless support for OpenAI streaming output.
  • Custom tool functions: Easily integrate your own Python functions (e.g., weather, temperature queries).
  • Rich type annotations, Pydantic-based.
  • Easy to extend and test.

Installation

You can install LiteAgent directly from PyPI:

pip install lite-agent

Or use uv:

uv pip install lite-agent

If you want to install from source for development:

uv pip install -e .
# or
pip install -e .

Quick Start

Code Example

See examples/basic.py:

import asyncio
from lite_agent.agent import Agent
from lite_agent.runner import Runner

async def get_whether(city: str) -> str:
    await asyncio.sleep(1)
    return f"The weather in {city} is sunny with a few clouds."

async def main():
    agent = Agent(
        model="gpt-4.1",
        name="Weather Assistant",
        instructions="You are a helpful weather assistant.",
        tools=[get_whether],
    )
    runner = Runner(agent)
    resp = await runner.run_until_complete("What's the weather in New York?")
    for chunk in resp:
        print(chunk)

if __name__ == "__main__":
    asyncio.run(main())

See pyproject.toml for details.

Testing

pytest

License

MIT License

Author

Jianqi Pan (jannchie@gmail.com)

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

lite_agent-0.16.5.tar.gz (448.7 kB view details)

Uploaded Source

Built Distribution

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

lite_agent-0.16.5-py3-none-any.whl (58.4 kB view details)

Uploaded Python 3

File details

Details for the file lite_agent-0.16.5.tar.gz.

File metadata

  • Download URL: lite_agent-0.16.5.tar.gz
  • Upload date:
  • Size: 448.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lite_agent-0.16.5.tar.gz
Algorithm Hash digest
SHA256 d758be462c253097558f3040879f265b3f53c740107406cf498e4d2162871475
MD5 e1aa731aab8f4a8972825ae178f87ad2
BLAKE2b-256 d48858bb1e34ee92b87c7cc97148a98ce2d8de32fcef29fb46a5bdf079fb12f1

See more details on using hashes here.

File details

Details for the file lite_agent-0.16.5-py3-none-any.whl.

File metadata

  • Download URL: lite_agent-0.16.5-py3-none-any.whl
  • Upload date:
  • Size: 58.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for lite_agent-0.16.5-py3-none-any.whl
Algorithm Hash digest
SHA256 5fe179c88e6da54c20608ae5521a342f329e982d50a9b59a788b87e909b7db74
MD5 1e408849eb819cf080f4ead5b29f18ea
BLAKE2b-256 77734e66c8cbb38a381ff16036daf1cf4b72fe77a70bef84e720eec1138fbd3c

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