You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
The PyPI install puts the tool's site-packages on a driver's PYTHONPATH, which breaks LongMemEval #11
Installed with uv tool install nullius-eval==0.1.0rc2, a LongMemEval run stops before its first unit:
nullius.standard.jsonl.Failed: units: the program ended without replying (SyntaxError: invalid syntax)
The driver's log (<job>/.work/driver-*.log), home shortened to ~:
File "~/.local/share/nullius/standard/upstreams/longmemeval/9e0b455f4ef0e2ab8f2e582289761153549043fc/src/evaluation/evaluate_qa.py", line 6, in <module>
File "~/.local/share/nullius/standard/drivers/longmemeval/8f6ca5cafb32/.venv/lib/python3.9/site-packages/openai/__init__.py", line 8, in <module>
...
File "~/.local/share/uv/tools/nullius-eval/lib/python3.12/site-packages/click/utils.py", line 298
match message:
^
SyntaxError: invalid syntax
The driver runs in its own Python 3.9 venv, but it imports click from the tool's Python 3.12 environment.
Cause: run.py:75 sets APP to the folder that holds the nullius package ("app/: what a kit's driver imports"), and run.py:450 passes it to the driver as PYTHONPATH (prove.py:78 does the same). From a source checkout that folder is app/, which holds only Nullius. From the wheel it is the tool's whole site-packages, so every package there comes before the driver venv's own on sys.path.
Screenshot
No response
Reproduction
uv tool install nullius-eval==0.1.0rc2
nullius standard run longmemeval keyword-memory --dataset longmemeval_oracle --limit 1 --provider custom --model <model> --judge-model <model>
It fails at units; the driver log under the job's .work/ shows the traceback above. No model call is made.
Running the same command from a v0.1.0rc2 checkout (PYTHONPATH=app with the tool's Python) works.
Expected
A driver imports its own venv's packages and only the nullius package from the tool, so LongMemEval runs from the PyPI install as it does from a checkout.
Acceptance
From uv tool install nullius-eval, nullius standard run longmemeval keyword-memory --limit 1 gets past units.
A driver's PYTHONPATH gives it the nullius package and no other package of the tool's environment, both from the wheel and from a checkout (a test).
Activity
fix(standard): give drivers only the nullius package on PYTHONPATH (T…