[build-system] requires = ["hatchling>=1.25"] build-backend = "hatchling.build" [project] name = "gcmd-science-keyword-classifier" version = "0.1.0" description = "MVP for constrained hierarchical GCMD Science Keyword classification." readme = "README.md" requires-python = ">=3.11" license = { text = "Proprietary" } authors = [ { name = "GCMD Classifier Contributors" } ] dependencies = [ "pydantic>=2.7,<3", ] [project.optional-dependencies] dev = [ "pytest>=8,<9", "ruff>=0.5,<1", ] openai = [ "openai>=1.0,<2", ] gradio = [ "gradio>=4,<6", ] [tool.pytest.ini_options] testpaths = ["tests"] pythonpath = ["src"] addopts = "-q" markers = [ "integration: tests that may require live external services and are skipped by default", ] [tool.ruff] line-length = 100 target-version = "py311" src = ["src", "tests"] exclude = [ "prototype", "outputs", ".venv", ] [tool.ruff.lint] select = ["E", "F", "I", "UP", "B"] ignore = [] [tool.ruff.format] quote-style = "double" indent-style = "space" line-ending = "auto" [tool.hatch.build.targets.wheel] packages = ["src/gcmd_classifier"] [tool.hatch.build.targets.sdist] include = [ "src/gcmd_classifier", "README.md", "PROJECT_SPEC.md", "AGENTS.md", ]