[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "tsi-sim" version = "0.1.0" description = "Monte-Carlo simulation of Cryptarchia Total Stake Inference with uncle references" readme = "README.md" requires-python = ">=3.11" license = { text = "MIT" } authors = [{ name = "Logos" }] dependencies = [ "numpy>=1.26", "pandas>=2.1", "pyarrow>=14", "matplotlib>=3.8", "scipy>=1.11", "pyyaml>=6.0", "tqdm>=4.66", "joblib>=1.3", ] [project.optional-dependencies] dev = ["pytest>=8.0", "pytest-xdist>=3.5", "ruff>=0.5", "mypy>=1.8"] [project.scripts] tsi-sweep = "tsi_sim.sweep:main" [tool.hatch.build.targets.wheel] packages = ["src/tsi_sim"] [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B", "NPY"] ignore = ["E741"] # allow single-char names like L (latency), q, m — domain symbols [tool.pytest.ini_options] testpaths = ["tests"] markers = ["slow: long-running (full-scale k) checks"] addopts = "-q"