Skip to main content

russo

Testing framework for LLM tool-call accuracy — audio & text

PyPI version Supported Python versions CI License


Documentation: https://mohit2152sharma.github.io/russo

Source Code: https://github.com/mohit2152sharma/russo


russo is a testing framework for verifying that LLM agents make the correct tool calls when given audio (or text) input. Think of it as pytest for voice AI tool-calling accuracy.

Key Features

  • Provider-agnostic — works with Gemini, OpenAI, or any custom agent via protocols
  • Audio-first — synthesize text prompts to audio, send to your agent, evaluate tool calls
  • pytest integration — use markers, fixtures, and familiar test patterns
  • Built-in caching — skip TTS on repeated runs, saving time and money
  • Extensible — swap synthesizers, agents, evaluators, and parsers via structural typing

Quick Start

pip install russo

With optional providers:

pip install "russo[openai]"    # OpenAI support
pip install "russo[ws]"        # WebSocket agents
pip install "russo[all]"       # Everything

Minimal Example

import russo
from russo.synthesizers import GoogleSynthesizer
from russo.adapters import GeminiLiveAgent
from russo.evaluators import ExactEvaluator

result = await russo.run(
    prompt="Book a flight from Berlin to Rome for tomorrow",
    synthesizer=GoogleSynthesizer(api_key="..."),
    agent=GeminiLiveAgent(api_key="...", tools=[...]),
    evaluator=ExactEvaluator(),
    expect=[
        russo.tool_call("book_flight", from_city="Berlin", to_city="Rome"),
    ],
)

russo.assert_tool_calls(result)

pytest Integration

import pytest
import russo

@pytest.mark.russo(
    prompt="Book a flight from NYC to LA",
    expect=[russo.tool_call("book_flight", from_city="NYC", to_city="LA")],
)
async def test_book_flight(russo_result):
    russo.assert_tool_calls(russo_result)

License

This project is licensed under the terms of the MIT license.

Metadata

Release files for russo 0.3.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for russo 0.3.3
File Size Uploaded Provenance
russo-0.3.3.tar.gz 144.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for russo 0.3.3
File Interpreter ABI Platform
russo-0.3.3-py3-none-any.whl Python 3 none any Details

Total release size: 185.9 kB

Release files / russo-0.3.3.tar.gz

Download URL russo-0.3.3.tar.gz
Size 144.4 kB
Tags Source
SHA-256 checksum
How to use checksums
6f6b12e6f8aeab132a9d6615390a27d6d19155b2739e02b091d19673ac19eb32
BLAKE2b-256 checksum
How to use checksums
aee1ad52c9afc97092a07bee915708720dc3a5378f796a25769279348105ca31
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

Release files / russo-0.3.3-py3-none-any.whl

Download URL russo-0.3.3-py3-none-any.whl
Size 41.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
eb24620cfdb4e20addf89af5d22defb2c0e39774bef847369eebc7b2fc88d76b
BLAKE2b-256 checksum
How to use checksums
3a722c67fffda60247fe0db81d7d380bac91e09dd0fabba7d2ba890c038d9788
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.7

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

Security for russo 0.3.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for russo-0.3.3.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Feb 18, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page