[build-system] requires = ["setuptools>=68", "wheel"] build-backend = "setuptools.build_meta" [project] name = "contrastive-lm" version = "0.1.0" description = "CLM: contrastive language model serving engine and System One API (typed noul / choice / score questions over state)" readme = "README.md" requires-python = ">=3.10" license = { text = "Apache-2.0" } authors = [{ name = "Jacky Kwok", email = "jackykwok@berkeley.edu" }] keywords = ["contrastive", "embeddings", "system-one", "verifier", "ranking"] classifiers = [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", "Topic :: Scientific/Engineering :: Artificial Intelligence", ] dependencies = [ "numpy>=1.24", "requests>=2.28", # the serving engine (projection heads) and the HTTP API "torch>=2.1", "fastapi>=0.100", "uvicorn>=0.23", # the Qwen3-8B embedder (GPU) "vllm>=0.6", # train/finetune.py: read the published Parquet embedding datasets "pyarrow>=14", ] [project.optional-dependencies] # kept for compatibility: serve and vllm are now installed by default serve = [] vllm = [] # download checkpoints from the Hugging Face Hub with the hub client (plain HTTPS works without it) hf = ["huggingface_hub>=0.20"] all = ["contrastive-lm[hf]"] [project.scripts] clm-serve = "clm.server:main" clm-download = "clm.heads:download_main" [project.urls] Homepage = "https://github.com/Contrastive-LM/CLM" Blog = "https://contrastive-lm.notion.site" Discord = "https://discord.gg/5dAQEDJBs" "Data & Models" = "https://huggingface.co/Contrastive-LM" [tool.setuptools.packages.find] where = ["src"] [tool.setuptools.package-data] clm = ["py.typed", "static/*"]