[project] name = "brewmatch" version = "0.1.0" description = "Coffee recommendation system using ML - recommends coffee beans based on taste preferences" readme = "README.md" requires-python = ">=3.13" dependencies = [ "flask>=3.1.3", "flask-cors>=6.0.2", "gunicorn>=25.3.0", "kagglehub>=1.0.0", "matplotlib>=3.10.8", "numpy>=2.4.3", "optuna>=4.8.0", "pandas>=3.0.2", "pyarrow>=23.0.1", "scikit-learn>=1.8.0", "seaborn>=0.13.2", "tabulate>=0.10.0", "torch>=2.11.0", "tqdm>=4.66.5", ] [project.optional-dependencies] cuda = ["torch>=2.11.0"] [project.scripts] download = "brewmatch.data.download:main" preprocess = "brewmatch.data.preprocess:main" train = "brewmatch.train:main" evaluate = "brewmatch.evaluate:main" experiment = "brewmatch.experiment:main" serve = "brewmatch.api.app:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["src/brewmatch"] [[tool.uv.index]] name = "pytorch-cu130" url = "https://download.pytorch.org/whl/cu130" [tool.uv.sources] torch = [ { index = "pytorch-cu130", extra = "cuda" }, ]