[build-system] requires = ["setuptools>=61.0", "wheel"] build-backend = "setuptools.build_meta" [project] name = "fot_intervention_recommender" version = "0.1.0" description = "Freshman On-Track Intervention Recommender PoC" readme = "README.md" requires-python = ">=3.12" dependencies = [ "setuptools>=80.9.0", # Pinned to v2.2.2 because the PyTorch team dropped support for macOS on Intel (x86_64) # in subsequent releases. This is the last official version with a pre-built wheel # that is compatible with older Mac hardware. # See GitHub issue: https://github.com/pytorch/pytorch/issues/114602 "torch==2.2.2", "numpy<2.0", # Pin to NumPy 1.x for compatibility with torch==2.2.2 "sentence-transformers", "faiss-cpu", "google-generativeai", "python-dotenv", "gradio", "gradio_client", ] [project.scripts] fot-recommender = "fot_recommender.main:main" [project.optional-dependencies] dev = [ "black>=25.1.0", "mypy>=1.16.1", "pytest>=8.4.1", "ruff>=0.12.2", "jupyterlab>=4.0", "notebook>=7.0", "ipywidgets" ] [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-dir] "" = "src" [tool.ruff.lint] # Add any specific rules you want to enforce here in the future. # For now, we will just define what to exclude. exclude = [ ".venv", "*/__pycache__/*", "src/fot_intervention_recommender.egg-info", "*.ipynb", ]