[build-system] requires = ["hatchling", "hatch-vcs"] build-backend = "hatchling.build" [project] name = "khoj-assistant" description = "A natural language search engine for your personal notes, transactions and images" readme = "README.md" license = "GPL-3.0-or-later" requires-python = ">=3.8, <3.11" authors = [ { name = "Debanjum Singh Solanky, Saba Imran" }, ] keywords = [ "search", "semantic-search", "productivity", "NLP", "AI", "org-mode", "markdown", "beancount", "images", ] classifiers = [ "Development Status :: 4 - Beta", "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Topic :: Internet :: WWW/HTTP :: Indexing/Search", "Topic :: Scientific/Engineering :: Artificial Intelligence", "Topic :: Scientific/Engineering :: Human Machine Interfaces", "Topic :: Text Processing :: Linguistic", ] dependencies = [ "dateparser == 1.1.1", "defusedxml == 0.7.1", "fastapi == 0.77.1", "jinja2 == 3.1.2", "openai >= 0.27.0", "pillow == 9.3.0", "pydantic == 1.9.1", "pyqt6 == 6.3.1", "pyyaml == 6.0", "rich >= 13.3.1", "schedule == 1.1.0", "sentence-transformers == 2.2.2", "torch == 1.13.1", "uvicorn == 0.17.6", ] dynamic = ["version"] [project.urls] Homepage = "https://github.com/debanjum/khoj#readme" Issues = "https://github.com/debanjum/khoj/issues" Discussions = "https://github.com/debanjum/khoj/discussions" Releases = "https://github.com/debanjum/khoj/releases" [project.scripts] khoj = "khoj.main:run" [project.optional-dependencies] test = [ "pytest >= 7.1.2", ] dev = [ "khoj-assistant[test]", "mypy >= 1.0.1", "black >= 23.1.0", "pre-commit >= 3.0.4", ] [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.pytest.ini_options] addopts = "--strict-markers" markers = [ "chatquality: Evaluate chatbot capabilities and quality", ]