Files
autorag_dashboard/pyproject.toml
2025-03-18 04:34:57 +00:00

150 lines
4.3 KiB
TOML

[build-system]
requires = ["setuptools", "setuptools-scm"]
build-backend = "setuptools.build_meta"
[project]
name = "AutoRAG"
authors = [
{ name = "Marker-Inc", email = "vkehfdl1@gmail.com" }
]
description = 'Automatically Evaluate RAG pipelines with your own data. Find optimal structure for new RAG product.'
readme = "README.md"
requires-python = ">=3.10"
keywords = ['RAG', 'AutoRAG', 'autorag', 'rag-evaluation', 'evaluation', 'rag-auto', 'AutoML', 'AutoML-RAG']
license = { file = "LICENSE" }
classifiers = [
"Intended Audience :: Developers",
"Intended Audience :: Information Technology",
"Intended Audience :: Science/Research",
'Programming Language :: Python :: 3.10',
'Programming Language :: Python :: 3.11',
'Programming Language :: Python :: 3.12',
"Topic :: Scientific/Engineering :: Artificial Intelligence",
"Topic :: Software Development :: Libraries",
"Topic :: Software Development :: Libraries :: Python Modules",
]
urls = { Homepage = "https://github.com/Marker-Inc-Korea/AutoRAG" }
dynamic = ["version", "dependencies"]
[tool.poetry]
name = "AutoRAG"
version = "0.0.2" #initial version
description = "Automatically Evaluate RAG pipelines with your own data. Find optimal structure for new RAG product."
authors = ["Marker-Inc <vkehfdl1@gmail.com>"]
[tool.setuptools.dynamic]
version = { file = ["autorag/VERSION"] }
dependencies = { file = ["requirements.txt"] }
[tool.setuptools]
include-package-data = true
[tool.setuptools.packages.find]
where = ["."]
include = ["autorag*"]
exclude = ["tests"]
[tool.pytest.ini_options]
pythonpath = ["."]
testpaths = ["tests"]
addopts = ["--import-mode=importlib"] # default is prepend
[project.optional-dependencies]
ko = ["kiwipiepy >= 0.18.0", "konlpy"]
dev = ["ruff", "pre-commit"]
parse = ["PyMuPDF", "pdfminer.six", "pdfplumber", "unstructured", "jq", "unstructured[pdf]", "PyPDF2<3.0", "pdf2image"]
ja = ["sudachipy>=0.6.8", "sudachidict_core"]
gpu = ["torch", "sentencepiece", "bert_score", "optimum[openvino,nncf]", "peft", "llmlingua", "FlagEmbedding",
"sentence-transformers", "transformers", "llama-index-llms-ollama", "llama-index-embeddings-huggingface",
"llama-index-llms-huggingface", "onnxruntime"]
all = ["AutoRAG[gpu]", "AutoRAG[ko]", "AutoRAG[dev]", "AutoRAG[parse]", "AutoRAG[ja]"]
[project.entry-points.console_scripts]
autorag = "autorag.cli:cli"
[tool.ruff]
# Exclude a variety of commonly ignored directories.
exclude = [
".bzr",
".direnv",
".eggs",
".git",
".git-rewrite",
".hg",
".ipynb_checkpoints",
".mypy_cache",
".nox",
".pants.d",
".pyenv",
".pytest_cache",
".pytype",
".ruff_cache",
".svn",
".tox",
".venv",
".vscode",
"__pypackages__",
"_build",
"buck-out",
"build",
"dist",
"node_modules",
"site-packages",
"venv",
]
# Same as Black.
line-length = 88
indent-width = 4
# Assume Python 3.9
target-version = "py39"
[tool.ruff.lint]
# Enable Pyflakes (`F`) and a subset of the pycodestyle (`E`) codes by default.
# Unlike Flake8, Ruff doesn't enable pycodestyle warnings (`W`) or
# McCabe complexity (`C901`) by default.
select = ["E4", "E7", "E9", "F"]
ignore = ["E722", "F821"]
# Allow fix for all enabled rules (when `--fix`) is provided.
fixable = ["ALL"]
unfixable = ["B"]
# Allow unused variables when underscore-prefixed.
dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$"
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["E402", "F401"]
"**/{docs}/*" = ["E402", "F401"]
"test_*.py" = ["F401", "F811"]
"*_test.py" = ["F401", "F811"]
"resources/parse_data/*" = ["W292"]
[tool.ruff.format]
# Like Black, use double quotes for strings.
quote-style = "double"
# Like Black, indent with spaces, rather than tabs.
indent-style = "tab"
# Like Black, respect magic trailing commas.
skip-magic-trailing-comma = false
# Like Black, automatically detect the appropriate line ending.
line-ending = "auto"
# Enable auto-formatting of code examples in docstrings. Markdown,
# reStructuredText code/literal blocks and doctests are all supported.
#
# This is currently disabled by default, but it is planned for this
# to be opt-out in the future.
docstring-code-format = true
# Set the line length limit used when formatting code snippets in
# docstrings.
#
# This only has an effect when the `docstring-code-format` setting is
# enabled.
docstring-code-line-length = "dynamic"