[tool.poetry]
name = "nonebot2"
version = "2.0.0rc2"
description = "An asynchronous python bot framework."
authors = ["yanyongyu <yyy@nonebot.dev>"]
license = "MIT"
readme = "README.md"
homepage = "https://v2.nonebot.dev/"
repository = "https://github.com/nonebot/nonebot2"
documentation = "https://v2.nonebot.dev/"
keywords = ["bot", "qq", "qqbot", "mirai", "coolq"]
classifiers = [
  "Development Status :: 5 - Production/Stable",
  "Framework :: Robot Framework",
  "Framework :: Robot Framework :: Library",
  "Operating System :: OS Independent",
  "Programming Language :: Python :: 3"
]
packages = [
  { include = "nonebot" },
]
include = ["nonebot/py.typed"]

[tool.poetry.dependencies]
python = "^3.8"
yarl = "^1.7.2"
loguru = "^0.6.0"
pygtrie = "^2.4.1"
fastapi = ">=0.87.0,<1.0.0"
tomlkit = ">=0.10.0,<1.0.0"
typing-extensions = ">=3.10.0,<5.0.0"
pydantic = { version = "^1.10.0", extras = ["dotenv"] }
uvicorn = { version = ">=0.20.0,<1.0.0", extras = ["standard"] }

websockets = { version="^10.0", optional = true }
Quart = { version = ">=0.18.0,<1.0.0", optional = true }
aiohttp = { version = "^3.7.4", extras = ["speedups"], optional = true }
httpx = { version = ">=0.20.0,<1.0.0", extras = ["http2"], optional = true }

[tool.poetry.group.dev.dependencies]
isort = "^5.10.1"
black = "^22.1.0"
nonemoji = "^0.1.2"
pre-commit = "^2.16.0"

[tool.poetry.group.test.dependencies]
pytest-cov = "^4.0.0"
pytest-xdist = "^3.0.2"
pytest-asyncio = "^0.20.0"
nonebug = { git = "https://github.com/nonebot/nonebug.git" }

[tool.poetry.group.docs.dependencies]
nb-autodoc = { git = "https://github.com/nonebot/nb-autodoc.git" }

[tool.poetry.extras]
quart = ["quart"]
httpx = ["httpx"]
aiohttp = ["aiohttp"]
websockets = ["websockets"]
all = ["quart", "aiohttp", "httpx", "websockets"]

[tool.pytest.ini_options]
asyncio_mode = "auto"
addopts = "--cov=nonebot --cov-report=term-missing"
filterwarnings = [
    "error",
    "ignore::DeprecationWarning",
]

[tool.black]
line-length = 88
target-version = ["py38", "py39", "py310", "py311"]
include = '\.pyi?$'
extend-exclude = '''
'''

[tool.isort]
profile = "black"
line_length = 88
length_sort = true
skip_gitignore = true
force_sort_within_sections = true
src_paths = ["nonebot", "tests"]
extra_standard_library = ["typing_extensions"]

[build-system]
requires = ["poetry_core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
