quivr/backend/pyproject.toml
AmineDiro a9178f651e
feat: structlog parseable (#3314)
# Description
- logging good, better
2024-10-03 09:39:21 -07:00

110 lines
2.7 KiB
TOML

[project]
name = "quivr-monorepo"
version = "0.0.1"
description = "Quivr Monorepo"
authors = [
{ name = "Stan Girard", email = "stan@quivr.app" },
{ name = "Amine Diro", email = "amine@quivr.app" },
{ name = "Chloé Daems", email = "chloe@quivr.app" },
{ name = "Jacopo Chevallard", email = "jacopo@quivr.app" },
]
dependencies = [
"packaging>=22.0",
# Logging packages
"structlog>=24.4.0",
"python-json-logger>=2.0.7",
"orjson>=3.10.7",
]
readme = "README.md"
requires-python = ">= 3.11"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.rye]
managed = true
virtual = false
universal = true
dev-dependencies = [
"mypy>=1.11.1",
"pre-commit>=3.8.0",
"ipykernel>=6.29.5",
"ruff>=0.6.0",
"flake8>=7.1.1",
"flake8-black>=0.3.6",
"pytest-dotenv>=0.5.2",
"pytest-mock>=3.14.0",
"pytest-asyncio>=0.24.0",
"pytest>=8.3.2",
"pytest-xdist>=3.6.1",
"pytest-cov>=5.0.0",
"tox>=4.0.0",
"chainlit>=1.1.306",
]
[tool.rye.workspace]
members = [".", "core", "worker", "api", "docs", "core/examples/chatbot", "core/MegaParse", "worker/diff-assistant"]
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["src/backend"]
[[tool.rye.sources]]
name = "pytorch"
url = "https://download.pytorch.org/whl/cpu"
[tool.mypy]
disallow_untyped_defs = true
# Remove venv skip when integrated with pre-commit
exclude = ["_static", "build", "examples", "notebooks", "venv", ".venv"]
ignore_missing_imports = true
python_version = "3.11"
[tool.ruff]
line-length = 88
exclude = [".git", "__pycache__", ".mypy_cache", ".pytest_cache"]
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"C", # flake8-comprehensions
"B", # flake8-bugbear
]
ignore = [
"B904",
"B006",
"E501", # line too long, handled by black
"B008", # do not perform function calls in argument defaults
"C901", # too complex
]
[tool.ruff.lint.isort]
order-by-type = true
relative-imports-order = "closest-to-furthest"
extra-standard-library = ["typing"]
section-order = [
"future",
"standard-library",
"third-party",
"first-party",
"local-folder",
]
known-first-party = []
[tool.pytest.ini_options]
addopts = "--tb=short -ra -v"
asyncio_default_fixture_loop_scope = "session"
filterwarnings = ["ignore::DeprecationWarning"]
markers = [
"slow: marks tests as slow (deselect with '-m \"not slow\"')",
"base: these tests require quivr-core with extra `base` to be installed",
"tika: these tests require a tika server to be running",
"unstructured: these tests require `unstructured` dependency",
]