[project] name = "atheon-in-action" version = "0.0.0" description = "Huggingface Demo showcasing how Atheon works" authors = [{ name = "Saurabh Ghanekar", email = "ghanekarsaurabh8@gmail.com" }] license = "BSD-2-Clause" license-files = ["LICENSE"] readme = "README.md" requires-python = ">=3.11" dependencies = [ "fastapi-slim>=0.115", "uvicorn>=0.34", "pydantic>=2.10", "pillow>=11.1", "atheon-codex>=0.3", "llama-cpp-python>=0.3", "huggingface-hub>=0.29", "pymongo>=4.11", "email-validator>=2.2", "groq>=0.20", ] [dependency-groups] dev = ["click>=8.1", "pre-commit>=4.0", "rich>=13.9", "ruff>=0.9"] test = ["pytest>=8.3", "pytest-cov>=6.0"] [tool.uv] default-groups = ["dev", "test"] [tool.ruff] line-length = 88 [tool.ruff.lint] select = [ # "D", # pydocstyle "E", # pycodestyle errors "W", # pycodestyle warnings "F", # pyflakes "I", # isort "S", # flake8-bandit "B", # flake8-bugbear "C4", # flake8-comprehensions "UP", # pyupgrade "ARG001", # unused arguments in functions ] ignore = [ "E501", # line too long, handled by black "B008", # do not perform function calls in argument defaults "W191", # indentation contains tabs "B904", # Allow raising exceptions without from e, for HTTPException ] [tool.ruff.lint.pydocstyle] convention = "google" [tool.versioning] backend = "uv" [tool.versioning.files] version_variable = ["app/app/main.py:__version__"] [tool.tailwind_sorter] file_patterns = [".html"] class_attributes = ["class"]