|
[build-system] |
|
requires = ["hatchling", "hatch-vcs"] |
|
build-backend = "hatchling.build" |
|
|
|
[project] |
|
name = "rag-pipelines" |
|
version = "0.0.1" |
|
description = 'Advanced Retrieval Augmented Generation Pipelines' |
|
readme = "README.md" |
|
requires-python = ">=3.9" |
|
license = "MIT" |
|
keywords = [] |
|
authors = [ |
|
{ name = "Ashwin Mathur", email = "" }, |
|
{ name = "Varun Mathur", email = "" }, |
|
] |
|
classifiers = [ |
|
"License :: OSI Approved :: MIT License", |
|
"Development Status :: 4 - Beta", |
|
"Programming Language :: Python", |
|
"Programming Language :: Python :: 3.9", |
|
"Programming Language :: Python :: 3.10", |
|
"Programming Language :: Python :: 3.11", |
|
"Programming Language :: Python :: Implementation :: CPython", |
|
"Programming Language :: Python :: Implementation :: PyPy", |
|
] |
|
dependencies = [ |
|
"dataloaders @ git+https://github.com/avnlp/dataloaders.git", |
|
"langchain-core", |
|
"langgraph", |
|
"langchain-text-splitters", |
|
"langchain-experimental", |
|
"langchain-huggingface", |
|
"langchain-groq", |
|
"langchain_milvus", |
|
"langchain-qdrant", |
|
"langchain-pinecone", |
|
"langchain-voyageai", |
|
"spladerunner", |
|
"haystack-ai", |
|
"weave", |
|
"edgartools", |
|
"fastembed", |
|
"pinecone-text[splade]", |
|
"unstructured[pdf]", |
|
"deepeval", |
|
"arize-phoenix", |
|
"dspy", |
|
"dspy-ai[milvus]", |
|
"optimum[onnxruntime]", |
|
] |
|
|
|
[project.optional-dependencies] |
|
dev = ["pytest"] |
|
|
|
[project.urls] |
|
Documentation = "https://github.com/avnlp/rag-pipelines#readme" |
|
Issues = "https://github.com/avnlp/rag-pipelines/issues" |
|
Source = "https://github.com/avnlp/rag-pipelines" |
|
|
|
[tool.hatch.metadata] |
|
allow-direct-references = true |
|
|
|
[tool.hatch.build.targets.wheel] |
|
packages = ["src/rag_pipelines"] |
|
|
|
[tool.hatch.envs.default] |
|
installer = "uv" |
|
dependencies = [ |
|
"coverage[toml]>=6.5", |
|
"pytest", |
|
"pytest-rerunfailures", |
|
"pytest-mock", |
|
] |
|
|
|
[tool.hatch.envs.default.scripts] |
|
test = "pytest -vv {args:tests}" |
|
test-cov = "coverage run -m pytest {args:tests}" |
|
test-cov-retry = "test-cov --reruns 3 --reruns-delay 30 -x" |
|
cov-report = ["- coverage combine", "coverage report"] |
|
cov = ["test-cov", "cov-report"] |
|
cov-retry = ["test-cov-retry", "cov-report"] |
|
|
|
[[tool.hatch.envs.test.matrix]] |
|
python = ["39", "310", "311"] |
|
|
|
[tool.hatch.envs.lint] |
|
installer = "uv" |
|
detached = true |
|
dependencies = ["pip", "black>=23.1.0", "mypy>=1.0.0", "ruff>=0.0.243"] |
|
|
|
[tool.hatch.envs.lint.scripts] |
|
typing = "mypy --install-types --non-interactive --explicit-package-bases {args:src/ tests}" |
|
style = ["ruff check {args:}", "black --check --diff {args:.}"] |
|
fmt = ["black {args:.}", "ruff check --fix --unsafe-fixes {args:}", "style"] |
|
all = ["style", "typing"] |
|
|
|
[tool.coverage.run] |
|
source = ["rag_pipelines"] |
|
branch = true |
|
parallel = true |
|
|
|
[tool.coverage.report] |
|
omit = ["*/tests/*", "*/__init__.py"] |
|
show_missing = true |
|
exclude_lines = ["no cov", "if __name__ == .__main__.:", "if TYPE_CHECKING:"] |
|
|
|
[tool.ruff] |
|
target-version = "py39" |
|
line-length = 120 |
|
|
|
[tool.ruff.lint] |
|
select = [ |
|
"A", |
|
"ARG", |
|
"B", |
|
"C", |
|
"D", |
|
"D401", |
|
"DTZ", |
|
"E", |
|
"EM", |
|
"F", |
|
"I", |
|
"ICN", |
|
"ISC", |
|
"N", |
|
"PLC", |
|
"PLE", |
|
"PLR", |
|
"PLW", |
|
"Q", |
|
"RUF", |
|
"S", |
|
"T", |
|
"TID", |
|
"UP", |
|
"W", |
|
"YTT", |
|
] |
|
ignore = [ |
|
|
|
"B027", |
|
|
|
"FBT003", |
|
|
|
"S102", |
|
"S105", |
|
"S106", |
|
"S107", |
|
|
|
"C901", |
|
"PLR0911", |
|
"PLR0912", |
|
"PLR0913", |
|
"PLR0915", |
|
|
|
"T201", |
|
|
|
"D100", |
|
"D104", |
|
|
|
"E501", |
|
|
|
"A002", |
|
|
|
"A005", |
|
|
|
"B008", |
|
"ARG002", |
|
"ARG005", |
|
] |
|
unfixable = [ |
|
|
|
"F401", |
|
] |
|
|
|
[tool.ruff.lint.pydocstyle] |
|
convention = "google" |
|
|
|
[tool.ruff.lint.isort] |
|
known-first-party = ["rag_pipelines"] |
|
|
|
[tool.ruff.lint.flake8-tidy-imports] |
|
ban-relative-imports = "parents" |
|
|
|
[tool.ruff.lint.per-file-ignores] |
|
|
|
"tests/**/*" = ["PLR2004", "S101", "TID252"] |
|
|
|
[tool.pytest.ini_options] |
|
minversion = "6.0" |
|
addopts = "--strict-markers" |
|
markers = ["integration: integration tests"] |
|
log_cli = true |
|
|
|
[tool.black] |
|
line-length = 120 |
|
|
|
[[tool.mypy.overrides]] |
|
module = ["rag_pipelines.*", "pytest.*", "numpy.*"] |
|
ignore_missing_imports = true |
|
|