Capability · Framework — observability

Lilypad (Mirascope Labs)

Lilypad is a developer-first, open-source platform for the 'prompt-as-function' workflow. Every Python function you decorate with `@lilypad.trace` becomes a versioned, traced experiment — with inputs, outputs, model config, and costs captured. Lilypad pairs naturally with Mirascope's prompt DSL but works standalone.

Framework facts

Category
observability
Language
Python
License
MIT
Repository
https://github.com/Mirascope/lilypad

Install

pip install lilypad-sdk
# run the self-hosted server (docker) or use hosted cloud:
docker run -p 8000:8000 mirascope/lilypad

Quickstart

import lilypad
from openai import OpenAI

lilypad.configure(project='my-app', base_url='http://localhost:8000')

@lilypad.trace(versioning='automatic')
def summarize(text: str) -> str:
    resp = OpenAI().chat.completions.create(
        model='gpt-4o-mini',
        messages=[{'role':'user','content': f'Summarise: {text}'}]
    )
    return resp.choices[0].message.content

summarize('The mitochondria is the powerhouse of the cell.')

Alternatives

  • Arize Phoenix — larger OSS peer
  • Langfuse — self-hostable alternative
  • Braintrust — hosted prompt + eval platform
  • W&B Weave — eval-oriented

Frequently asked questions

Do I need Mirascope to use Lilypad?

No — Lilypad works with any Python function that calls an LLM. Mirascope just makes the prompt DSL nicer to trace.

What does 'versioning=automatic' mean?

Lilypad snapshots the function's source, model config, and inputs each call, so the same function changes over time are tracked as separate versions with their own eval histories.

Sources

  1. Lilypad — docs — accessed 2026-04-20
  2. Lilypad GitHub — accessed 2026-04-20