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 add 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.0a4.tar.gz (12.2 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.0a4-py3-none-any.whl (11.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: liman-0.1.0a4.tar.gz
  • Upload date:
  • Size: 12.2 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.0a4.tar.gz
Algorithm Hash digest
SHA256 6dd38faaf632e2fd7cc4b64cc476931cc8c866f03d76e4b371d0ccaf98b3f05a
MD5 4c3d944872e254a0779df977fb57b20c
BLAKE2b-256 21a34b7b5b37f229cfbaef0ebd2bf590610c522b80283a9d85409c2ee14c1645

See more details on using hashes here.

Provenance

The following attestation bundles were made for liman-0.1.0a4.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.0a4-py3-none-any.whl.

File metadata

  • Download URL: liman-0.1.0a4-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.0a4-py3-none-any.whl
Algorithm Hash digest
SHA256 a9c4404bd3ef615764c206d2e9206c7b9c9fc68b92baf6dbb8cb6ca7141b0a16
MD5 8278fc5b8da3816ad28b31a3792bcaf9
BLAKE2b-256 ce6356721f06dacfda61c9d06868896214b0ad88479ecf77180751aeeec06bbd

See more details on using hashes here.

Provenance

The following attestation bundles were made for liman-0.1.0a4-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