[build-system] requires = ["maturin>=1.0,<2.0"] build-backend = "maturin" [tool.maturin] manifest-path = "engine_rust_src/Cargo.toml" module-name = "engine_rust" [project] name = "lovecasim" version = "0.1.0" description = "Add your description here" readme = "README.md" requires-python = ">=3.11" dependencies = [ "flask==3.0.0", "gunicorn==21.2.0", "hypothesis>=6.150.2", "numpy>=1.26.0,<2.1.0", "pydantic>=2.12.5", "tqdm>=4.66.0", ] [[tool.uv.index]] name = "pytorch-cu124" url = "https://download.pytorch.org/whl/cu124" explicit = true [tool.uv.sources] torch = { index = "pytorch-cu124" } torchvision = { index = "pytorch-cu124" } torchaudio = { index = "pytorch-cu124" } [project.optional-dependencies] ai = [ "numba==0.60.0", "torch>=2.5.1", "matplotlib>=3.8.0", ] [tool.setuptools] packages = ["engine", "ai", "tools", "compiler"] [dependency-groups] dev = [ "maturin>=1.11.5", "mypy>=1.19.1", "pre-commit>=4.5.1", "pytest>=9.0.2", "pytest-bdd>=8.1.0", "pytest-xdist>=3.6.1", "ruff>=0.14.11", ] [tool.pytest.ini_options] testpaths = ["engine/tests"] addopts = "--ignore=tests --ignore=tools" filterwarnings = [ "ignore:.*'cache' is set for njit and is ignored.*:RuntimeWarning" ] [tool.ruff] # Same as Black. line-length = 120 indent-width = 4 target-version = "py312" [tool.ruff.lint] select = ["E4", "E7", "E9", "F", "B", "I"] ignore = ["E501", "E741"] [tool.ruff.format] quote-style = "double" indent-style = "space" skip-magic-trailing-comma = false line-ending = "auto" [tool.mypy] python_version = "3.12" warn_return_any = true warn_unused_configs = true ignore_missing_imports = true check_untyped_defs = true disallow_untyped_defs = false explicit_package_bases = true plugins = ["pydantic.mypy"] [[tool.mypy.overrides]] module = ["tools.*", "ai.*", "scripts.*", "game.*"] ignore_errors = true