MachineSex/pyproject.toml
Giorgio Gilestro ab3dc10587 Restructure: descriptive tier and experiment names, paper/manuscript
- paper/pnas -> paper/manuscript (venue-neutral)
- configs/layer1 -> configs/inheritance, src/knowledge -> src/inheritance
  (imported as `inheritance`), make layer1 -> make inheritance; layer2 alias dropped
- inheritance and trained-network bundles named after the manuscript figure
  they feed (fig2_grounding_sweep, figS3_rebaselining, ...), or descriptively
  where they feed none; configs keep their `experiment:` value so parquet
  hashes are unchanged, only output.dir moves
- figure scripts, SI figure sources, notebooks, REPRODUCING.md, README and the
  SI Methods/tables updated; make clean no longer deletes tracked manifests;
  reproduce.sh hashes the s{seed}/ layouts too

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Y64o8FKP7rCuXzC48pxpMm
2026-09-13 17:00:40 +01:00

44 lines
1.6 KiB
TOML

[project]
name = "lamarckian-society"
version = "0.1.0"
description = "Layer 1 analytical core: knowledge transmission as a Wright-Fisher process."
readme = "README.md"
requires-python = ">=3.11"
dependencies = [
"numpy>=1.26",
"scipy>=1.11",
"pandas>=2.1",
"pyarrow>=15",
"matplotlib>=3.8",
"pydantic>=2.5",
"pyyaml>=6.0",
]
[project.optional-dependencies]
dev = ["pytest>=8.0"]
# Layer 1.5 neural existence proof. Torch is only needed from Stage C (RNN/VAE/MLP);
# Stages A-B (synthetic sandbox + histogram bridge) are pure NumPy and run in the base env.
# The default PyPI torch wheel is CUDA-enabled (cu13, matching the RTX A4000 driver).
# Install with `uv sync --extra neural`.
neural = ["torch>=2.2"]
# The real-MNIST secondary-confirmation tier only. Install with `uv sync --extra mnist`.
mnist = ["torchvision>=0.17"]
# Layer 2 / LLM prototype (blueprint C2/C4): LoRA specialists + weight-space merging on a small
# open-weight base. GPU; models download to the HF cache (outside the repo). `uv sync --extra llm`.
llm = ["transformers>=4.44", "peft>=0.11", "datasets", "accelerate"]
# Jupyter notebooks that walk through the biological model and regenerate every paper figure
# from the committed artifacts. `uv sync --extra notebooks`.
notebooks = ["jupyter>=1.0"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
# src-layout: src/inheritance/ (the inheritance model, importable as `inheritance`),
# src/neural/ (trained networks) and src/llm/ (language models).
[tool.hatch.build.targets.wheel]
packages = ["src/inheritance", "src/neural", "src/llm"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"