[build-system] requires = ["hatchling"] build-backend = "hatchling.build" [project] name = "helia" version = "0.1.0" description = "Agentic Interview Analysis Framework" readme = "README.md" requires-python = ">=3.13" dependencies = [ "langchain>=0.1.0", "langchain-openai>=0.1.0", "langgraph", "neo4j", "qdrant-client", "pydantic", "openai", "pydantic-settings>=2.12.0", ] [tool.hatch.build.targets.wheel] packages = ["src/helia"] [dependency-groups] dev = [ "ruff>=0.14.7", "pyrefly>=0.43.1", ] [tool.ruff] line-length = 100 target-version = "py314" [tool.ruff.lint] extend-select = [ "F", # Pyflakes rules "W", # PyCodeStyle warnings "E", # PyCodeStyle errors "I", # Sort imports properly "UP", # Warn if certain things can changed due to newer Python versions "C4", # Catch incorrect use of comprehensions, dict, list, etc "FA", # Enforce from __future__ import annotations "ISC", # Good use of string concatenation "ICN", # Use common import conventions "RET", # Good return practices "SIM", # Common simplification rules "TID", # Some good import practices "TC", # Enforce importing certain types in a TYPE_CHECKING block "PTH", # Use pathlib instead of os.path "TD", # Be diligent with TODO comments "NPY", # Numpy-specific rules "COM", # enforce trailing comma rules "DTZ", # require strict timezone manipulation with datetime "FBT", # detect boolean traps "N", # enforce naming conventions, e.g. ClassName vs function_name ] ignore = ["E501", "COM812", "TD003"] [tool.pyrefly] search-path = ["src"] project-includes = ["**/*.py*", "**/*.ipynb"]