Spaces:
Runtime error
Runtime error
File size: 2,667 Bytes
8018595 c403899 8018595 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
[build-system]
build-backend = "setuptools.build_meta"
requires = ["setuptools>=61.0"]
[dependency-groups]
dev = ["sentinel[dev]"]
test = ["sentinel[test]"]
[project]
authors = [
{email = "[email protected]", name = "Joao Paulo Euko"},
{email = "[email protected]", name = "Tom Barrett"},
{email = "[email protected]", name = "Thomas Makkink"}
]
dependencies = [
"fastapi",
"fpdf>=1.7.2",
"hydra-core>=1.3.2",
"langchain",
"langchain-community",
"langchain-google-genai",
"langchain-ollama",
"langchain-openai",
"markdown2>=2.5.3",
"matplotlib>=3.10.3",
"openpyxl>=3.1.0",
"python-dotenv",
"pyyaml",
"reportlab>=4.0.0"
]
description = "LLM-based Cancer Risk Assessment Assistant"
name = "sentinel"
readme = "README.md"
requires-python = ">=3.12"
version = "0.1.0"
[project.optional-dependencies]
dev = [
"ipywidgets",
"jupyterlab",
"plotly",
"pre-commit",
"pyright",
"pyright>=1.1.405",
"seaborn",
"uvicorn"
]
test = [
"pytest-cov>=4.0.0",
"pytest-mock>=3.15.1",
"pytest>=7.0.0"
]
[tool.ruff]
line-length = 88
target-version = "py312"
[tool.ruff.format]
indent-style = "space"
line-ending = "auto"
quote-style = "double"
skip-magic-trailing-comma = false
[tool.ruff.lint]
ignore = [
"ARG001", # unused function argument (test fixtures)
"ARG002", # unused method argument (pydantic callbacks)
"B008", # do not perform function calls in argument defaults
"B904", # raise from err (requires manual review)
"C408", # unnecessary dict call (plotly API requires dict())
"C901", # too complex
"E501", # line too long, handled by formatter
"F841", # unused variable (sometimes needed for future use)
"RUF002", # ambiguous hyphen (requires manual review)
"RUF012", # ClassVar annotations (requires manual review)
"SIM102", # nested if statements (sometimes clearer)
"SIM108", # ternary operator (sometimes if-else is clearer)
"TCH" # type-checking rules (often can't be auto-fixed)
]
select = [
"ARG", # flake8-unused-arguments
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"E", # pycodestyle errors
"F", # pyflakes
"I", # isort
"Q", # flake8-quotes
"RUF", # ruff-specific rules
"SIM", # flake8-simplify
"TCH", # flake8-type-checking
"UP", # pyupgrade
"W" # pycodestyle warnings
]
[tool.ruff.lint.isort]
known-first-party = ["sentinel"]
[tool.ruff.lint.pydocstyle]
# Use Google-style docstrings.
convention = "google"
[tool.ruff.lint.pylint]
allow-magic-value-types = ["int", "str"]
[tool.setuptools.packages.find]
include = ["sentinel*"]
where = ["src"]
[tool.uv]
default-groups = ["dev", "test"] # By default, install all dependencies.
|