tessl install tessl/pypi-tox-pyenv@1.1.0tox plugin that makes tox use `pyenv which` to find python executables
Agent Success
Agent success rate when using this tile
98%
Improvement
Agent success rate improvement when using this tile compared to baseline
1.03x
Baseline
Agent success rate without this tile
95%
{
"context": "This criteria evaluates how well the engineer uses pyenv for Python executable discovery. The focus is on proper subprocess management for executing pyenv commands, correct handling of pyenv output and error conditions, and appropriate use of pyenv's 'which' subcommand to resolve Python executables.",
"type": "weighted_checklist",
"checklist": [
{
"name": "pyenv which usage",
"description": "Uses the 'pyenv which' command to resolve Python executable paths. The implementation should execute 'pyenv which <version_identifier>' as a subprocess to query pyenv for the location of a specific Python version.",
"max_score": 30
},
{
"name": "Subprocess execution",
"description": "Correctly uses Python's subprocess module (subprocess.run, subprocess.Popen, or subprocess.check_output) to execute the pyenv command. Should capture both stdout and stderr from the subprocess.",
"max_score": 20
},
{
"name": "pyenv binary discovery",
"description": "Implements logic to locate the pyenv binary in the system PATH before attempting to execute it. Can use shutil.which(), os.path, or similar methods to find the pyenv executable.",
"max_score": 15
},
{
"name": "Exit code handling",
"description": "Properly checks the exit code (returncode) from the pyenv subprocess to distinguish between success (0) and failure (non-zero). Uses this to determine whether pyenv successfully found the Python version.",
"max_score": 15
},
{
"name": "stdout parsing",
"description": "Correctly extracts and parses the Python executable path from pyenv's stdout output. Should strip whitespace (newlines, spaces) from the output.",
"max_score": 10
},
{
"name": "Error differentiation",
"description": "Distinguishes between different error scenarios: pyenv not found (OSError/FileNotFoundError when locating binary) versus pyenv failing to find a Python version (non-zero exit code from 'pyenv which').",
"max_score": 10
}
]
}