Skip to main content

Liman AgentOps

Project description

Liman

High-level AgentOps package for building and running conversational AI agents using YAML manifests and node-based workflows.

Purpose

liman is the main entry point package that provides production-ready tools for orchestrating multi-turn AI conversations. Built on top of liman_core, it offers:

  • Agent orchestration: Manages complex conversational flows with state persistence
  • Executor engine: Handles sequential and parallel node execution workflows
  • YAML-based configuration: Load and compose agent definitions from declarative manifests
  • State management: Built-in persistence for conversation history and execution state
  • Error handling: Comprehensive logging and recovery mechanisms

Installation

Requires Python 3.10+

# with pip
pip install liman
# with uv
uv pip install liman
# with poetry
poetry install liman

Quick Start

Step 1: Create a directory for your agent specifications:

mkdir agents

Step 2: Create a YAML file for your agent node, e.g., agents/llm.yaml:

# agents/llm.yaml
kind: LLMNode
name: assistant
description: A conversational AI assistant
prompts:
  system: You are a helpful assistant.

Step 3: Create a Python script to run the agent:

from langchain_openai.chat_models import ChatOpenAI
from liman import Agent, Registry, load_specs_from_directory

llm = ChatOpenAI(model="gpt-4o")

# Create conversational agent
agent = Agent(
    "./agents",  # directory with YAML specs
    start_node="assistant"
    llm=llm,  # Langchain LLM instance
)

respones = agent.step("Hello! Can you help me with a math problem?")
print(response)

Architecture

Agent → Executor → NodeActor → Node (from liman_core)
  ↓        ↓           ↓            ↓
Queue   Workflow   Execution   Specification
  • Agent: Manages conversation queues and multi-turn interactions
  • Executor: Orchestrates node execution with state persistence
  • State storage: Handles conversation and execution state across sessions

vs liman_core

liman liman_core
High-level Agent class Low-level Node/NodeActor
Multi-turn conversations Single node execution
YAML configuration loading Node specifications
State persistence Stateless building blocks
Production error handling Core primitives

Use liman for building complete conversational agents, liman_core for low-level components that allow you to build your own orchestration.

Development

# Run tests
poe test
# Type checking
poe mypy
# Linting
poe lint
# Format code
poe format

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

liman-0.1.0a3.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

liman-0.1.0a3-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

Details for the file liman-0.1.0a3.tar.gz.

File metadata

  • Download URL: liman-0.1.0a3.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for liman-0.1.0a3.tar.gz
Algorithm Hash digest
SHA256 84d62c16b9c634efbad3c311d2a377545bb9f72c7f33231767b4ca613b0b0b8f
MD5 17dcc6d1c04ae8b83b53f5885cd196d2
BLAKE2b-256 a6bd8489766e7973ad214acdf7c8c6823a376c3e789743b7d1784ac0fe9374b7

See more details on using hashes here.

Provenance

The following attestation bundles were made for liman-0.1.0a3.tar.gz:

Publisher: release.yaml on gurobokum/liman

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file liman-0.1.0a3-py3-none-any.whl.

File metadata

  • Download URL: liman-0.1.0a3-py3-none-any.whl
  • Upload date:
  • Size: 11.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for liman-0.1.0a3-py3-none-any.whl
Algorithm Hash digest
SHA256 3b3d4a2277e9f238a6c1ddea1a702110358547b26be513bc4c4c3b9755457dc3
MD5 6412e690e0179314329b03079b2c5910
BLAKE2b-256 1086aa486e54dcc57b6be8b976c63a869b2891e00f0abbc9545bddd8d55e29c3

See more details on using hashes here.

Provenance

The following attestation bundles were made for liman-0.1.0a3-py3-none-any.whl:

Publisher: release.yaml on gurobokum/liman

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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