Files
moral-maps/pyproject.toml
T
wassnameandClaudypoo 1261fabac8 read_api: use wassname/openrouter_wrapper (stamina retry) + save all raw responses
Replace the hand-rolled OpenAI client with openrouter_wrapper.openrouter_request,
which backs off on 429/provider/upstream/malformed errors (a rate-limited model no
longer kills the run), so retry logic doesn't diverge from the rest of the stack.
read_items_sampled now carries the raw sample texts; wvs_map appends every response
to wvs_iw_responses.jsonl (audit trail -- these API calls cost money).

Co-Authored-By: Claudypoo <288921227+claudypoo@users.noreply.github.com>
2026-07-05 08:11:53 +08:00

44 lines
1.4 KiB
TOML

[project]
name = "tiny-mfv"
version = "0.1.0"
description = "Tiny moral-foundations vignettes eval (Clifford 2015 classic + paraphrase configs) for steering checkpoints."
requires-python = ">=3.11"
dependencies = [
"transformers>=5.7",
"torch",
"pandas",
"loguru",
"tqdm",
"tabulate",
"numpy",
]
[project.optional-dependencies]
# tinymfv.maps (culture-map + range viz) only; `import tinymfv` and the evals stay headless,
# numeric-only consumers (steering-lite) skip this. Install with `pip install tiny-mfv[maps]`.
maps = [
"matplotlib>=3.8",
"textalloc>=1.2.3", # non-overlapping label placement on the maps
"shapely>=2.0", # union of per-country discs into one merged zone region
]
# tinymfv.read_api (sampling readout for logprob-less API models) only. Install with
# `pip install tiny-mfv[api]`. The local logprob reader (read.py) needs none of this.
api = [
# robust OpenRouter calls (stamina backoff on 429/provider/upstream/malformed errors) --
# wassname's wrapper, so retry/rate-limit handling doesn't diverge from the rest of the stack.
"openrouter-wrapper @ git+https://github.com/wassname/openrouter_wrapper",
"python-dotenv",
]
[dependency-groups]
dev = [
"scipy>=1.17.1",
]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.build.targets.wheel]
packages = ["src/tinymfv"]