Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/evals.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
---
title: LLM evals in Python, next to your tests
description: Write LLM evals in Python with Apte. An eval is a test that returns a value, scored by evaluators or an LLM judge, with fixtures, concurrency and a JSONL history of runs.
---

# Evals

Evaluate LLM outputs with scored metrics and historical tracking.
Expand Down
9 changes: 7 additions & 2 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,13 @@
---
title: Async-first Python testing and LLM evals
description: Apte is a Python testing framework and LLM eval runner. Tests run as coroutines on a single event loop, with explicit dependency injection instead of fixtures resolved by name.
---

# Apte

**Async-first testing with explicit dependency injection.**
**Async-first Python testing with explicit dependency injection, and LLM evals in the same runner.**

Apte is a Python testing framework designed for modern async applications. Instead of implicit fixture resolution by name, Apte requires you to explicitly declare what each test needs.
Apte is a Python testing framework for async applications, and an alternative to pytest with pytest-asyncio when your tests are mostly I/O. Tests run as coroutines on a single event loop, so they run concurrently without separate processes. Instead of implicit fixture resolution by name, Apte requires you to explicitly declare what each test needs. LLM evals are tests that return a score instead of asserting, and they use the same fixtures and the same CLI.

## Why Apte?

Expand Down
3 changes: 2 additions & 1 deletion mkdocs.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
site_name: Apte
site_description: Async-first testing with explicit dependency injection
site_url: https://renaudcepre.github.io/apte/
site_description: Apte is an async-first Python testing framework with explicit dependency injection and native LLM evals. Tests and evals run as coroutines on one event loop.
repo_url: https://github.com/renaudcepre/apte
repo_name: renaudcepre/apte

Expand Down
6 changes: 5 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "apte"
version = "0.3.1"
description = "Async-first Python testing framework"
description = "Async-first Python testing framework with explicit dependency injection and native LLM evals"
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
Expand All @@ -19,6 +19,10 @@ keywords = [
"test-framework",
"asyncio",
"fixtures",
"llm-evals",
"llm-evaluation",
"evals",
"pytest-alternative",
]
classifiers = [
"Development Status :: 3 - Alpha",
Expand Down