quivr/backend/core/pyproject.toml
AmineDiro 3001fa1475
feat: quivr core brain info + processors registry + (#2877)
# Description

- Created registry processor logic for automagically adding processors
to quivr_core based Entrypoints
- Added a langchain_community free `SimpleTxtParser` for the quivr_core
base package
- Added tests
- Added brain_info 
- Enriched parsed documents metadata based on quivr_file metadata

used Rich for `Brain.print_info()` to get a better output: 

![image](https://github.com/user-attachments/assets/dd9f2f03-d7d7-4be0-ba6c-3fe38e11c40f)
2024-07-19 09:47:39 +02:00

93 lines
2.1 KiB
TOML

[tool.poetry]
name = "quivr-core"
version = "0.0.9"
description = "Quivr core RAG package"
authors = []
readme = "README.md"
repository = "https://github.com/QuivrHQ/quivr"
[tool.poetry.dependencies]
python = "^3.11"
pydantic = "^2.7.4"
langchain-core = "^0.2.10"
httpx = "^0.27.0"
aiofiles = ">=23.0.0,<25.0.0"
faiss-cpu = { version = "^1.8.0.post1", optional = true }
langchain-community = { version = "^0.2.6", optional = true }
langchain-openai = { version = "^0.1.14", optional = true }
rich = "^13.7.1"
[tool.poetry.extras]
base = ["langchain-community", "faiss-cpu", "langchain-openai"]
pdf = []
[tool.poetry.group.dev.dependencies]
mypy = "^1.10.0"
pre-commit = "^3.7.1"
ipykernel = "*"
ruff = "^0.4.8"
flake8 = "*"
flake8-black = "*"
pytest-cov = "^5.0.0"
[tool.poetry.group.test.dependencies]
pytest-asyncio = "^0.23.7"
pytest = "^8.2.2"
pytest-xdist = "^3.6.1"
[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"
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",
]
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"