LightRAG/pyproject.toml
Taddeus 2255b91210 Adds initial LightRAG app integration with schema and processors
Introduces the LightRAG Retrieval-Augmented Generation framework as an Apolo app, including input/output schemas, types, and processors.
Adds Helm chart value processing, environment and persistence configurations, and output service discovery for deployment.
Includes scripts for generating type schemas and testing support, along with CI and linting setup tailored for the new app.
Provides a documentation loader script to ingest markdown files into LightRAG with flexible referencing modes.

Relates to MLO-469
2025-11-03 13:59:52 +02:00

111 lines
2.1 KiB
TOML

[project]
name = "apolo-apps-lightrag"
version = "0.0.1"
description = "Apolo LightRAG application"
authors = [
{name = "Apolo", email = "dev@apolo.us"}
]
readme = "README.md"
dynamic = ["version"]
requires-python = ">=3.11.0,<4.0"
[tool.poetry]
name = "apolo-apps-lightrag"
authors = ["Apolo.us"]
packages = [
{ include = "apolo_apps_lightrag", from = ".apolo/src" },
]
[tool.poetry.dependencies]
apolo-sdk = "^25.7.2"
pydantic = "^2.9.2"
pyyaml = "^6.0.2"
yarl = "^1.18.3"
apolo-app-types = "^25.9.0"
[tool.poetry.group.dev]
optional = true
[tool.poetry.group.dev.dependencies]
pre-commit = "^4.2.0"
types-PyYAML = "^6.0.12.20241230"
pytest = "^8.3.4"
pytest-asyncio = "^0.25.3"
pytest-cov = "^6.2.1"
mypy = "^1.17.1"
[tool.ruff]
target-version = "py311"
lint.select = [
"E", "F", "I", "C90", "UP", "B", "ASYNC", "N", "FBT", "A", "C4", "EM", "FA", "ICN",
"G", "PIE", "T20", "PYI", "PT", "RET", "PTH"
]
lint.ignore = [
"A003",
"N818"
]
[tool.ruff.lint.isort.sections]
ApoloSDK = ["apolo-sdk"]
[tool.ruff.lint.isort]
combine-as-imports = true
lines-after-imports = 2
section-order = ["future", "standard-library", "third-party", "ApoloSDK", "first-party", "local-folder"]
known-first-party = ["apolo_app_types"]
known-local-folder = ["tests"]
[tool.mypy]
check_untyped_defs = true
disallow_any_generics = true
disallow_untyped_defs = true
follow_imports = "silent"
strict_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_unused_configs = true
plugins = ['pydantic.mypy']
exclude = [
"tests/"
]
[[tool.mypy.overrides]]
module = "pytest"
ignore_missing_imports = true
[tool.flake8]
extend-exclude = [
".git",
".env",
"__pycache__",
".eggs",
]
max-line-length = 88
extend-ignore = [
"N801",
"N802",
"N803",
"E252",
"W503",
"E133",
"E203",
"F541",
]
[tool.coverage.report]
fail_under = 0
skip_empty = true
sort = "-cover"
omit = [
"./apolo/tests/*",
]
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
log_cli = false
log_level = "INFO"
junit_family = "xunit2"
testpaths = [
"./apolo/tests/",
]