[tool.poetry] name = "langserve" version = "0.0.1" description = "" readme = "README.md" authors = ["LangChain"] license = "MIT" repository = "https://github.com/langchain-ai/langchain" [tool.poetry.dependencies] python = ">3.8.1,<4" httpx = "^0.23.0" # May be able to decrease this version fastapi = {version = ">0.90.1", optional = true} sse-starlette = {version = "^1.3.0", optional = true} httpx-sse = {version = "^0.3.1", optional = true} pydantic = "^1" langchain = ">=0.0.304" [tool.poetry.group.dev.dependencies] jupyterlab = "^3.6.1" [tool.poetry.group.typing.dependencies] [tool.poetry.group.lint.dependencies] black = { version="^23.1.0", extras=["jupyter"] } ruff = "^0.0.255" codespell = "^2.2.0" [tool.poetry.group.test.dependencies] pytest = "^7.2.1" pytest-cov = "^4.0.0" pytest-asyncio = "^0.21.1" pytest-mock = "^3.11.1" pytest-socket = "^0.6.0" [tool.poetry.group.examples.dependencies] openai = "^0.28.0" uvicorn = {extras = ["standard"], version = "^0.23.2"} [tool.poetry.extras] # Extras that are used for client client = ["httpx-sse"] # Extras that are used for server server = ["sse-starlette", "fastapi"] # All all = ["httpx-sse", "sse-starlette", "fastapi"] [tool.ruff] select = [ "E", # pycodestyle "F", # pyflakes "I", # isort ] # Same as Black. line-length = 88 [tool.ruff.isort] # TODO(Team): Temporary to make isort work with examples. # examples assume langserve is available as a 3rd party package # For simplicity we'll define it as first party for now can update later. known-first-party = ["langserve"] [tool.mypy] disallow_untyped_defs = "True" ignore_missing_imports = "True" [tool.coverage.run] omit = [ "tests/*", ] [build-system] requires = ["poetry-core"] build-backend = "poetry.core.masonry.api"