[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 "] [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"