[tool.poetry] name = "serge" description = "Serge API package" version = "0.1.0" license = "MIT" authors = [ "Nathan Sarrazin " ] packages = [ { include = "serge", from = "src" } ] homepage = "https://serge.chat/" repository = "https://github.com/serge-chat/serge" include = [{path="src"}] [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api" [tool.poetry.dependencies] python=">=3.9,<4.0" asyncio = "^3.4.3" packaging = "^23.1" pydantic = "^1.10.12" python-dotenv = "^1.0.0" python-multipart = "^0.0.6" pyyaml = "^6.0" rfc3986 = "^2.0.0" sentencepiece = "^0.1.99" sniffio = "^1.3.0" sse-starlette = "^1.6.5" starlette = "^0.26.1" toml = "^0.10.2" tqdm = "^4.66.1" typing-extensions = "^4.8.0" ujson = "^5.8.0" urllib3 = "^2.0.4" uvicorn = "^0.23.2" uvloop = "^0.17.0" watchfiles = "^0.20.0" websockets = "^11.0" anyio = "^4.0.0" certifi = "^2023.7.22" charset-normalizer = "^3.2.0" click = "^8.1.7" email-validator = "^2.0.0" fastapi = "^0.95.1" filelock = "^3.12.4" h11 = "^0.14.0" httpcore = "^0.18.0" httptools = "^0.6.0" huggingface-hub = "^0.16.4" idna = "^3.4" itsdangerous = "^2.1.2" jinja2 = "^3.1.2" markupsafe = "^2.1.3" motor = "^3.3.1" orjson = "^3.9.7" dnspython = "^2.4.2" lazy-model = "^0.2.0" requests = "^2.31.0" numpy = "^1.25.2" langchain = "^0.0.180" loguru = "^0.7.2" redis = {extras = ["hiredis"], version = "^5.0.0"} pytest = "^7.4.2" [tool.ruff] # Enable pycodestyle (`E`) and Pyflakes (`F`) codes by default. select = ["E", "F"] ignore = [] # Allow autofix for all enabled rules (when `--fix`) is provided. fixable = ["A", "B", "C", "D", "E", "F", "G", "I", "N", "Q", "S", "T", "W", "ANN", "ARG", "BLE", "COM", "DJ", "DTZ", "EM", "ERA", "EXE", "FBT", "ICN", "INP", "ISC", "NPY", "PD", "PGH", "PIE", "PL", "PT", "PTH", "PYI", "RET", "RSE", "RUF", "SIM", "SLF", "TCH", "TID", "TRY", "UP", "YTT"] unfixable = [] # Exclude a variety of commonly ignored directories. exclude = [ ".bzr", ".direnv", ".eggs", ".git", ".git-rewrite", ".hg", ".mypy_cache", ".nox", ".pants.d", ".pytype", ".ruff_cache", ".svn", ".tox", ".venv", "__pypackages__", "_build", "buck-out", "build", "dist", "node_modules", "venv", ] # Same as Black. line-length = 150 # Allow unused variables when underscore-prefixed. dummy-variable-rgx = "^(_+|(_+[a-zA-Z0-9_]*[a-zA-Z0-9]+?))$" # Assume Python 3.11 target-version = "py311" [tool.ruff.per-file-ignores] "tests/*" = ["S101"] [tool.ruff.mccabe] # Unlike Flake8, default to a complexity level of 10. max-complexity = 10 [tool.black] line-length = 150 target-version = ['py311']