mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-02 13:18:18 +00:00
Previously google auth library was explicitly installed only for the cloud variant of Khoj to minimize packages installed for non production use-cases. But it was being implicitly installed as a dependency of an explicit package in the default installation anyway. Making the dependency on google auth package explicit simplifies the conditional import of google auth in code while not incurring any additional cost in terms of space or complexity.
162 lines
3.9 KiB
TOML
162 lines
3.9 KiB
TOML
[build-system]
|
|
requires = ["hatchling", "hatch-vcs"]
|
|
build-backend = "hatchling.build"
|
|
|
|
[project]
|
|
name = "khoj"
|
|
description = "Your Second Brain"
|
|
readme = "README.md"
|
|
license = "AGPL-3.0-or-later"
|
|
requires-python = ">=3.10"
|
|
authors = [
|
|
{ name = "Debanjum Singh Solanky, Saba Imran" },
|
|
]
|
|
keywords = [
|
|
"search",
|
|
"semantic-search",
|
|
"productivity",
|
|
"NLP",
|
|
"AI",
|
|
"org-mode",
|
|
"markdown",
|
|
"images",
|
|
"pdf",
|
|
]
|
|
classifiers = [
|
|
"Development Status :: 5 - Production/Stable",
|
|
"License :: OSI Approved :: GNU Affero General Public License v3 or later (AGPLv3+)",
|
|
"Operating System :: OS Independent",
|
|
"Programming Language :: Python :: 3",
|
|
"Programming Language :: Python :: 3.10",
|
|
"Programming Language :: Python :: 3.11",
|
|
"Programming Language :: Python :: 3.12",
|
|
"Topic :: Internet :: WWW/HTTP :: Indexing/Search",
|
|
"Topic :: Scientific/Engineering :: Artificial Intelligence",
|
|
"Topic :: Scientific/Engineering :: Human Machine Interfaces",
|
|
"Intended Audience :: Information Technology",
|
|
]
|
|
dependencies = [
|
|
"beautifulsoup4 ~= 4.12.3",
|
|
"dateparser >= 1.1.1",
|
|
"defusedxml == 0.7.1",
|
|
"fastapi >= 0.110.0",
|
|
"python-multipart >= 0.0.7",
|
|
"jinja2 == 3.1.6",
|
|
"openai >= 1.0.0",
|
|
"tiktoken >= 0.3.2",
|
|
"tenacity >= 8.2.2",
|
|
"magika ~= 0.5.1",
|
|
"pillow ~= 10.0.0",
|
|
"pydantic[email] >= 2.0.0",
|
|
"pyyaml ~= 6.0",
|
|
"rich >= 13.3.1",
|
|
"schedule == 1.1.0",
|
|
"sentence-transformers == 3.0.1",
|
|
"einops == 0.8.0",
|
|
"transformers >= 4.28.0",
|
|
"torch == 2.2.2",
|
|
"uvicorn == 0.30.6",
|
|
"aiohttp ~= 3.9.0",
|
|
"langchain == 0.2.5",
|
|
"langchain-community == 0.2.5",
|
|
"requests >= 2.26.0",
|
|
"tenacity == 8.3.0",
|
|
"anyio ~= 4.8.0",
|
|
"pymupdf == 1.24.11",
|
|
"django == 5.0.13",
|
|
"django-unfold == 0.42.0",
|
|
"authlib == 1.2.1",
|
|
"llama-cpp-python == 0.2.88",
|
|
"itsdangerous == 2.1.2",
|
|
"httpx == 0.28.1",
|
|
"pgvector == 0.2.4",
|
|
"psycopg2-binary == 2.9.9",
|
|
"lxml == 4.9.3",
|
|
"tzdata == 2023.3",
|
|
"rapidocr-onnxruntime == 1.3.24",
|
|
"openai-whisper >= 20231117",
|
|
"django-phonenumber-field == 7.3.0",
|
|
"phonenumbers == 8.13.27",
|
|
"markdownify ~= 0.11.6",
|
|
"markdown-it-py ~= 3.0.0",
|
|
"websockets == 13.0",
|
|
"psutil >= 5.8.0",
|
|
"huggingface-hub >= 0.22.2",
|
|
"apscheduler ~= 3.10.0",
|
|
"pytz ~= 2024.1",
|
|
"cron-descriptor == 1.4.3",
|
|
"django_apscheduler == 0.6.2",
|
|
"anthropic == 0.49.0",
|
|
"docx2txt == 0.8",
|
|
"google-genai == 1.5.0",
|
|
"google-auth ~= 2.23.3",
|
|
"pyjson5 == 1.6.7",
|
|
"resend == 1.0.1",
|
|
"email-validator == 2.2.0",
|
|
"e2b-code-interpreter ~= 1.0.0",
|
|
]
|
|
dynamic = ["version"]
|
|
|
|
[project.urls]
|
|
Homepage = "https://khoj.dev"
|
|
Documentation = "https://docs.khoj.dev"
|
|
Code = "https://github.com/khoj-ai/khoj"
|
|
|
|
[project.scripts]
|
|
khoj = "khoj.main:run"
|
|
|
|
[project.optional-dependencies]
|
|
prod = [
|
|
"gunicorn == 22.0.0",
|
|
"stripe == 7.3.0",
|
|
"twilio == 8.11",
|
|
"boto3 >= 1.34.57",
|
|
]
|
|
dev = [
|
|
"khoj[prod]",
|
|
"pytest >= 7.1.2",
|
|
"pytest-xdist[psutil]",
|
|
"pytest-django == 4.5.2",
|
|
"pytest-asyncio == 0.21.1",
|
|
"freezegun >= 1.2.0",
|
|
"factory-boy >= 3.2.1",
|
|
"mypy >= 1.0.1",
|
|
"black >= 23.1.0",
|
|
"pre-commit >= 3.0.4",
|
|
"gitpython ~= 3.1.43",
|
|
"datasets",
|
|
"pandas",
|
|
]
|
|
|
|
[tool.hatch.version]
|
|
source = "vcs"
|
|
raw-options.local_scheme = "no-local-version" # PEP440 compliant version for PyPi
|
|
|
|
[tool.hatch.build.targets.sdist]
|
|
include = ["src/khoj"]
|
|
|
|
[tool.hatch.build.targets.wheel]
|
|
packages = ["src/khoj"]
|
|
|
|
[tool.mypy]
|
|
files = "src/khoj"
|
|
pretty = true
|
|
strict_optional = false
|
|
install_types = true
|
|
ignore_missing_imports = true
|
|
non_interactive = true
|
|
show_error_codes = true
|
|
warn_unused_ignores = false
|
|
|
|
[tool.black]
|
|
line-length = 120
|
|
|
|
[tool.isort]
|
|
profile = "black"
|
|
|
|
[tool.pytest.ini_options]
|
|
addopts = "--strict-markers"
|
|
markers = [
|
|
"chatquality: Evaluate chatbot capabilities and quality",
|
|
]
|