[tool.isort]
profile = "black"
line_length = 95
multi_line_output = 3
include_trailing_comma = true
force_grid_wrap = 0
use_parentheses = true
ensure_newline_before_comments = true
src_paths = ["mini_rag", "tests", "examples", "scripts"]
known_first_party = ["mini_rag"]
sections = ["FUTURE", "STDLIB", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER"]
skip = [".venv", ".venv-linting", "__pycache__", ".git"]
skip_glob = ["*.egg-info/*", "build/*", "dist/*"]

[tool.black]
line-length = 95
target-version = ['py310']
include = '\.pyi?$'
extend-exclude = '''
/(
  # directories
  \.eggs
  | \.git
  | \.hg
  | \.mypy_cache
  | \.tox
  | \.venv
  | \.venv-linting
  | _build
  | buck-out
  | build
  | dist
)/
'''

[build-system]
requires = ["setuptools>=61.0"]
build-backend = "setuptools.build_meta"

[project]
name = "mini-rag"
version = "2.1.0"
dependencies = [
    "lancedb>=0.5.0",
    "pandas>=2.0.0",
    "numpy>=1.24.0",
    "pyarrow>=14.0.0",
    "watchdog>=3.0.0",
    "requests>=2.28.0",
    "click>=8.1.0",
    "rich>=13.0.0",
    "PyYAML>=6.0.0",
    "rank-bm25>=0.2.2",
    "psutil"
]

[project.scripts]
rag-mini = "mini_rag.cli:cli"

[tool.setuptools]
packages = ["mini_rag"]