[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", "wheel"]
build-backend = "setuptools.build_meta"

[project]
name = "fss-mini-rag"
version = "2.1.0"
description = "Educational RAG system that actually works! Two modes: fast synthesis for quick answers, deep exploration for learning."
authors = [
    {name = "Brett Fox", email = "brett@fsscoding.com"}
]
readme = "README.md"
license = {text = "MIT"}
requires-python = ">=3.8"
keywords = ["rag", "search", "ai", "llm", "embeddings", "semantic-search", "code-search"]
classifiers = [
    "Development Status :: 4 - Beta",
    "Intended Audience :: Developers",
    "License :: OSI Approved :: MIT License",
    "Programming Language :: Python :: 3",
    "Programming Language :: Python :: 3.8",
    "Programming Language :: Python :: 3.9",
    "Programming Language :: Python :: 3.10",
    "Programming Language :: Python :: 3.11",
    "Programming Language :: Python :: 3.12",
    "Topic :: Software Development :: Tools",
    "Topic :: Scientific/Engineering :: Artificial Intelligence",
]

[project.urls]
Homepage = "https://github.com/FSSCoding/Fss-Mini-Rag"
Repository = "https://github.com/FSSCoding/Fss-Mini-Rag"
Issues = "https://github.com/FSSCoding/Fss-Mini-Rag/issues"

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

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