CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/pypi-py-solc-x

Python wrapper and version management tool for the solc Solidity compiler.

77

1.05x

Evaluation77%

1.05x

Agent success when using this tile

Overview
Eval results
Files

rubric.jsonevals/scenario-10/

{
  "context": "Evaluates how the solution uses py-solc-x cross-process locking to serialize compiler installs and avoid duplicate work. Focuses on acquiring and releasing the shared lock with timeout semantics so concurrent processes coordinate safely.",
  "type": "weighted_checklist",
  "checklist": [
    {
      "name": "Lock retrieval",
      "description": "Uses solcx.utils.lock.get_process_lock() (or the provided lock utility from py-solc-x) to obtain the shared interprocess lock instead of ad-hoc file handling.",
      "max_score": 25
    },
    {
      "name": "Timed acquire",
      "description": "Acquires the py-solc-x process lock before running perform_install, respecting wait_timeout by passing it through to lock.acquire(...) or the context manager so acquisition blocks only up to that limit.",
      "max_score": 25
    },
    {
      "name": "Skip when installed",
      "description": "After the lock is held, re-checks is_installed and returns without calling perform_install when another process already completed the install, ensuring the check happens while holding the py-solc-x lock.",
      "max_score": 20
    },
    {
      "name": "Release on errors",
      "description": "Ensures the py-solc-x process lock is always released (context manager or try/finally) even when perform_install raises, so subsequent processes are not blocked indefinitely.",
      "max_score": 15
    },
    {
      "name": "Shared scope",
      "description": "Uses the shared lock instance/filename from solcx.utils.lock so concurrent callers of the same version coordinate on the same underlying lock rather than creating per-call lock names.",
      "max_score": 15
    }
  ]
}

Install with Tessl CLI

npx tessl i tessl/pypi-py-solc-x

tile.json