honcho/pyproject.toml

92 lines
2.3 KiB
TOML

[project]
name = "honcho"
version = "2.2.0"
description = "Honcho Server"
authors = [
{name = "Plastic Labs", email = "hello@plasticlabs.ai"},
]
readme = "README.md"
requires-python = ">=3.10"
dependencies = [
"fastapi[standard]>=0.111.0",
"python-dotenv>=1.0.0",
"sqlalchemy>=2.0.30",
"fastapi-pagination>=0.12.24",
"pgvector>=0.2.5",
"sentry-sdk[anthropic,fastapi,sqlalchemy]>=2.3.1",
"greenlet>=3.0.3",
"psycopg[binary]>=3.1.19",
"httpx>=0.27.0",
"rich>=13.7.1",
"nanoid>=2.0.0",
"alembic>=1.14.0",
"pyjwt>=2.10.0",
"tiktoken>=0.9.0",
"mirascope[anthropic,google,groq,langfuse]>=1.25.1",
"openai>=1.91.0",
"pydantic>=2.11.7",
"pydantic-settings>=2.10.1",
"google-generativeai>=0.8.5",
"pdfplumber>=0.11.7",
"typing-extensions>=4.11.0",
]
[tool.uv]
dev-dependencies = [
"honcho-core==1.3.0",
"honcho-ai==1.2.2",
"pytest>=8.2.2",
"sqlalchemy-utils>=0.41.2",
"pytest-asyncio>=0.23.7",
"coverage>=7.6.0",
"interrogate>=1.7.0",
"py-spy>=0.3.14",
"ruff>=0.11.2",
"basedpyright>=1.29.4",
"pre-commit>=4.2.0",
"pytest-cov>=6.2.1",
]
[tool.ruff.lint]
# from https://docs.astral.sh/ruff/linter/#rule-selection example
select = [
# pycodestyle
"E",
# Pyflakes
"F",
# pyupgrade
"UP",
# flake8-bugbear
"B",
# flake8-simplify
"SIM",
# isort
"I",
]
ignore = ["E501", "B008", "COM812"]
[tool.ruff.lint.flake8-bugbear]
extend-immutable-calls = ["fastapi.Depends"]
[tool.pytest.ini_options]
asyncio_mode = "auto"
asyncio_default_fixture_loop_scope = "session"
addopts = "--strict-markers --cov=src/ --cov-report=term-missing"
testpaths = ["tests"]
pythonpath = ["src"]
[tool.basedpyright]
# BasedPyright currently seems like the best type checker option, much faster
# https://docs.basedpyright.com/latest/configuration/config-files/#sample-pyprojecttoml-file
include = ["src", "tests", "sdks/python/src"]
exclude = ["tests/**/disabled*.py"]
reportIgnoreCommentWithoutRule = false
reportMissingTypeStubs = false
reportUnusedCallResult = false
reportCallInDefaultInitializer = false
reportAny = false
reportExplicitAny = false
allowedUntypedLibraries = ["langfuse", "langfuse.decorators", "mirascope"]
reportImplicitOverride = false
reportImportCycles = false