[project] name = "dota2tuned" version = "0.1.0" description = "Dota 2 data platform, recommender, and Gradio assistant for the Hugging Face Build Small Hackathon." readme = "README.md" license = "Apache-2.0" requires-python = ">=3.11,<3.13" dependencies = [ "datasets>=5.0.0", "duckdb>=1.5.3", "gradio>=6.18.0", "httpx>=0.28.1", "huggingface-hub>=1.19.0", "joblib>=1.5.3", "numpy>=2.4.6", "polars>=1.41.2", "pyarrow>=24.0.0", "pydantic>=2.12.5,<2.13.0", "python-dotenv>=1.2.2", "scikit-learn>=1.9.0", "tenacity>=9.1.4", "typer>=0.25.1", ] [project.optional-dependencies] train = [ "accelerate>=1.14.0", "bitsandbytes>=0.49.2", "peft>=0.19.1", "torch>=2.12.0", "transformers>=5.12.0", "trl>=1.6.0", ] lightgbm = ["lightgbm>=4.6.0"] modal = ["modal>=1.5.0", "fastapi[standard]>=0.137.0"] dev = ["pytest>=9.1.0", "ruff>=0.15.17"] [project.scripts] dota2tuned = "dota2tuned.cli:app" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/dota2tuned"] [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "B", "UP", "SIM"] [tool.pytest.ini_options] testpaths = ["tests"]