[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", "shapely>=2.0", # union of per-country discs into one merged zone region ] # label placement is in-repo (tinymfv.labelplace); no textalloc/adjustText dep # 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.metadata] allow-direct-references = true # the api extra pulls openrouter_wrapper straight from git [tool.hatch.build.targets.wheel] packages = ["src/tinymfv"]