Skip to main content

A Minimal agent runtime built on OpenAI Responses API

Project description

LiteRun 🚀

PyPI - Version PyPI - Python Version PyPI - License Documentation

A lightweight, flexible Python framework for building custom OpenAI agents (Responses API) with tool support and structured prompt management.

Features

  • Custom Agent Execution: Control the loop with synchronous and streaming support.
  • Tool Support: Easy registration with Pydantic-powered validation.
  • Type Safety: Built for modern Python 3.10+ environments.
  • Prompt Templates: Structured message management.
  • Event-Driven: Granular control via a rich event system.

For detailed documentation on Architecture, Streaming, and Advanced Configuration, see DOCS.md.

Requirements

  • Python 3.10+

Note: Core dependencies like openai and pydantic are automatically installed when you install literun.

Installation

You can install literun directly from PyPI:

pip install literun

Quick Start

Basic Agent

Here is a simple example of how to create an agent with a custom tool.

import os
from literun import Agent, ChatOpenAI, Tool, ArgsSchema

# 1. Define a tool function
def get_weather(location: str, unit: str = "celsius") -> str:
    return f"The weather in {location} is 25 degrees {unit}."

# 2. Wrap it with Tool schema
weather_tool = Tool(
    func=get_weather,
    name="get_weather",
    description="Get the weather for a location",
    args_schema=[
        ArgsSchema(
            name="location",
            type=str,
            description="The city and state, e.g. San Francisco, CA",
        ),
        ArgsSchema(
            name="unit",
            type=str,
            description="The unit of temperature",
            enum=["celsius", "fahrenheit"],
        ),
    ],
)

# 3. Initialize Agent
agent = Agent(
    llm=ChatOpenAI(model="gpt-4.1-mini", temperature=0.7),
    system_prompt="You are a helpful assistant.",
    tools=[weather_tool],
)

# 4. Run the Agent
result = agent.invoke(user_input="What is the weather in Tokyo?")
print(f"Final Answer: {result.final_output}")

Advanced Usage

LiteRun supports Streaming, Runtime Context Injection (for secrets), and Direct LLM Usage.

👉 Check out the Documentation and Examples for more details.

Project Structure

literun/
├── src/
│   └── literun/          # Main package source
│       ├── agent.py      # Agent orchestrator
│       ├── llm.py        # ChatOpenAI wrapper
│       ├── tool.py       # Tool & Schema definitions
│       └── ...
├── tests/                # Unit tests (agent, llm, tools, prompts)
├── examples/             # Runnable examples
├── DOCS.md               # Detailed documentation
├── LICENSE               # MIT License
├── README.md             # This file
└── pyproject.toml        # Project configuration & dependencies

Contributing

We welcome contributions! Please follow these steps to set up your development environment:

  1. Fork the repository and clone it locally:

    git clone https://github.com/kaustubh-tr/literun.git
    cd literun
    
  2. Install in editable mode with development dependencies:

    pip install -e .[dev]
    
  3. Create a feature branch and make your changes.

  4. Test your changes (see below).

  5. Submit a pull request.

Testing

This project uses pytest as the primary test runner, but supports unittest as well.

# Run all tests
pytest

or using unittest:

python -m unittest discover tests

Note: Some integration tests require the OPENAI_API_KEY environment variable. They are automatically skipped if it is missing.

License

Copyright (c) 2026 Kaustubh Trivedi.

Distributed under the terms of the MIT license, LiteRun is free and open source software.

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

literun-0.1.1.tar.gz (25.1 kB view details)

Uploaded Source

Built Distribution

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

literun-0.1.1-py3-none-any.whl (21.1 kB view details)

Uploaded Python 3

File details

Details for the file literun-0.1.1.tar.gz.

File metadata

  • Download URL: literun-0.1.1.tar.gz
  • Upload date:
  • Size: 25.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for literun-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ca8ea3135384449e909a73a4dbb4c8f5620e412241db073bed17940402d5a0e2
MD5 7f2104d472883b2759c5679823c0acbc
BLAKE2b-256 7937b0d38a2b31b4b5d2858ee4d8ce61214b34e56f91ca5a591273a8aba9f36f

See more details on using hashes here.

File details

Details for the file literun-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: literun-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for literun-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 30d39fb95370946f6e621752574b107293c96a43558088990ac30a0ae16c5d78
MD5 61b744346da09996249fdbed8bfaaa82
BLAKE2b-256 2f659c38c499b4b10d8138d73a1d56891a52bbce3bd496b9710382b7e32eedd2

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