noteguard-agent / pyproject.toml
github-actions[bot]
Deploy 9aa839066bbf99a8ada733b41479a39770b3bb83 from main
eb83689
Raw
History Blame Contribute Delete
1.8 kB
[build-system]
requires = ["setuptools>=68", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "noteguard-agent"
version = "1.2.4"
description = "Trust layer for clinical AI β€” de-identifies NHS notes before LLM sees them."
readme = "README.md"
requires-python = ">=3.10"
license = { text = "MIT" }
authors = [{ name = "Chaeyoon Kim" }]
keywords = ["nhs", "de-identification", "phi", "langgraph", "gemini", "rap"]
dependencies = [
"fastapi>=0.109.0",
"uvicorn[standard]>=0.27.0",
"langgraph>=0.2.0",
"langchain>=0.3.0",
"langchain-google-genai>=2.0.0",
"langchain-tavily>=0.1.0",
"langsmith>=0.1.0",
"python-dotenv>=1.0.0",
"huggingface_hub>=0.20.0",
]
[project.optional-dependencies]
# pip install -e ".[nlp]" β€” Presidio + spaCy NER for free-text PERSON/LOCATION.
# Also needs a spaCy model: python -m spacy download en_core_web_md
nlp = ["presidio-analyzer>=2.2.0", "spacy>=3.7.0,<4"]
# pip install -e ".[demo]" β€” Streamlit interactive demo
demo = ["streamlit>=1.35.0"]
# pip install -e ".[dev]" β€” full dev tooling incl. langgraph dev server
dev = [
"pytest>=8.0.0",
"pytest-cov>=4.1.0",
"ruff>=0.3.0",
"pre-commit>=3.6.0",
"langgraph-cli[inmem]>=0.4.0",
]
[project.urls]
Homepage = "https://github.com/chaeyoonyunakim/noteguard-agent"
[tool.setuptools.packages.find]
where = ["."]
include = ["src*", "agent*", "app*", "eval*"]
[tool.ruff]
line-length = 110
target-version = "py310"
src = ["src", "agent", "app", "eval", "tests"]
[tool.ruff.lint]
select = ["E", "F", "I", "B", "UP", "W"]
ignore = ["B008"]
[tool.ruff.lint.per-file-ignores]
"agent/graph.py" = ["E402"]
"app/api.py" = ["E402"]
"eval/run_eval.py" = ["E402", "I001"]
[tool.pytest.ini_options]
testpaths = ["tests"]
addopts = "-q"