Skip to main content

A library that runs the Pochi CLI for verification tasks.

Project description

Pochi Verifier

A Python interface for the pochi CLI to streamline verification processes.

Description

pochi-verifier provides a convenient way to run pochi CLI commands from your Python code. This allows you to integrate pochi's verification capabilities directly into your Python-based testing frameworks.

Requirements

  • Python 3.12+
  • pochi CLI: This package is a wrapper around the pochi command-line tool. You must have the pochi CLI installed.
  • agent-browser: Required for running browser verifications.
  • FFmpeg: Required for recording the browser verification trajectory as a video file.

Usage

pochi-verifier works with a specification that describes the verification task. Here is an example of a browser_verification spec for a to-do list application:

verify_todo.json

{
  "name": "verify_todo_list_functionality",
  "reason": "The application should feature a fully functional to-do list on its homepage. Users must be able to add, edit, and remove items, as well as mark items as complete and incomplete.",
  "truth": "Navigate to http://localhost:8080. Verify that an input field for adding new to-do items is visible. Click the input field, type 'Buy milk', and press Enter. Verify that 'Buy milk' appears in the to-do list. Find the 'Buy milk' item and click the checkbox next to it to mark it as complete. Verify that the 'Buy milk' item is now marked as done (e.g., has a line-through). Find the 'Buy milk' item and click the 'delete' button next to it. Verify that 'Buy milk' is no longer present in the to-do list."
}

You can then use pochi-verifier to run this verification from your Python code. You can also specify a directory to save trajectory files.

import json
from pochi_verifier import PochiVerifier

# Create a verifier instance
verifier = PochiVerifier()

# Example: Run a verification command
with open("path/to/your/verify_todo.json", "r") as f:
    spec = json.load(f)

reason = spec["reason"]
truth = spec["truth"]

try:
    result = verifier.verify(
        reason=reason,
        truth=truth,
        use_browser_agent=True,
        trajectory_dir="path/to/save/trajectory/files"
    )
except (FileNotFoundError, ValueError) as e:
    print(f"Configuration error: {e}")
    raise
except Exception as e:
    print(f"Verification could not be completed: {e}")
    raise

if result.status == "pass":
    print("Verification successful!")
else:
    print("Verification failed.")

print(f"Status: {result.status}")
print(f"Reason: {result.reason}")

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

pochi_verifier-0.2.1.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

pochi_verifier-0.2.1-py3-none-any.whl (6.3 kB view details)

Uploaded Python 3

File details

Details for the file pochi_verifier-0.2.1.tar.gz.

File metadata

  • Download URL: pochi_verifier-0.2.1.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pochi_verifier-0.2.1.tar.gz
Algorithm Hash digest
SHA256 4d0a9845fc8ce67c4319b19e5ccf7052cd8636f1b43d2c188bd7ab3ea6eaf7bd
MD5 8e239dccee0b4f8eb2c2e97af303020c
BLAKE2b-256 b2580746890510dab9a65215dbffe0499aeb34f790a9d218595d85fa64575b39

See more details on using hashes here.

File details

Details for the file pochi_verifier-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: pochi_verifier-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 6.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.21 {"installer":{"name":"uv","version":"0.11.21","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pochi_verifier-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6d5a07594b31f1cb20c3f4b1fbde5f083c334be9dd2a71a446459cf1e30db128
MD5 ed38265c34f7eae97fe3aeb19465ec5a
BLAKE2b-256 3694d97dd3650c4bb75b6ad67855c7843c81a3b3f8b42b0f1d8c4c3d262689e5

See more details on using hashes here.

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