# Liara and the backend Dockerfile install dependencies from requirements.txt. # This file is in .liaraignore because the Python builder rejects pyproject.toml # next to requirements.txt. Editing this list does not change the Docker image # until requirements.txt changes too. [project] name = "kamidso" version = "0.1.0" description = "Kamidso intelligent data assistant" license = "MIT" requires-python = ">= 3.10, < 3.13" dependencies = [ "aiohttp>=3.10.11,<4", "chardet==5.1.0", "importlib-resources==5.12.0", "cachetools", "pydantic>=2.6.0", "typeguard", "snowflake-id", "typing_inspect", "tomli>=2.2.1", "apscheduler>=3.10,<4", "httpx[socks]", "fastapi>=0.100.0,<0.113.0", "tenacity<=8.3.0", "prettytable", "click", "psutil==5.9.8", "colorama==0.4.6", "tomlkit", "rich", "termcolor", "pandas==2.2.3", "scikit-learn>=1.4", "statsmodels>=0.14", "numpy>=1.21.0,<2.0.0", "auto-gpt-plugin-template>=0.0.3", "mcp>=1.8.0", "jinja2", "uvicorn", "shortuuid", "SQLAlchemy>=2.0.25, <2.0.29", "msgpack", "cloudpickle", "pympler", "duckdb", "duckdb-engine==0.9.1", "schedule", "sqlparse==0.4.4", "python-multipart", "coloredlogs", "seaborn", "gTTS==2.3.1", "pymysql", "jdatetime==5.2.0", "jsonschema", "python-jsonpath", "tokenizers>=0.14", "alembic==1.12.0", "openpyxl==3.1.2", "xlrd==2.0.1", "aiofiles", "GitPython", "graphviz", "cryptography", "pyzmq", "lyric-py>=0.1.7", "lyric-py-worker>=0.1.7", "lyric-js-worker>=0.1.7", "lyric-component-ts-transpiling>=0.1.7", "openai>=1.59.6", "tiktoken>=0.8.0", "dashscope", "pyparsing", "spacy>=3.7.4,<3.8", "markdown", "bs4", "python-pptx", "python-docx", "olefile", "pypdf", "pdfplumber", "onnxruntime>=1.14.1,<=1.18.1", "chromadb>=0.4.22", "docker>=6.0.0", "selenium>=4.0.0", "typing-extensions>=4.0.0", "motor>=3.3", "psycopg2-binary>=2.9.10", "oracledb>=3.1.0", "neo4j>=5.28.1", "pymssql>=2.3.4", ] [project.scripts] kamidso = "kamidso.cli:main" [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["kamidso"] exclude = [ "kamidso/**/tests", "kamidso/**/tests/*", ] [tool.uv] managed = true dev-dependencies = [ "pytest>=7.0.0", "pytest_asyncio", "pytest-mock>=3.14.0", "ruff>=0.9.1", ] [tool.pytest.ini_options] pythonpath = ["."] addopts = ["--import-mode=importlib"] python_files = ["test_*.py", "*_test.py"] testpaths = ["tests/kamidso"] [tool.ruff] line-length = 88 target-version = "py310" [tool.ruff.format] docstring-code-format = true quote-style = "double" indent-style = "space" line-ending = "auto" [tool.ruff.lint] select = ["E", "F", "I"] [tool.ruff.lint.isort] known-first-party = ["kamidso"] [tool.ruff.lint.per-file-ignores] "kamidso/engine/app/openapi/api_v1/agentic_data_api.py" = ["E501"] "kamidso/engine/ext/rag/graph_builder/codegraph_visualizer.py" = ["E501"]