[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"] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" # src-layout: src/knowledge/ is importable as `knowledge` (the normative package # name the scientific-validation conformance tests import). src/neural/ is Layer 1.5. [tool.hatch.build.targets.wheel] packages = ["src/knowledge", "src/neural", "src/llm"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q"