content: [tool.poetry]
  name = "nonebot-plugin-gspanel"
  version = "0.2.25"
  description = "Genshin player cards plugin for NoneBot2"
  authors = ["monsterxcn <monsterxcn@gmail.com>"]
  documentation = "https://github.com/monsterxcn/nonebot-plugin-gspanel#readme"
  license = "MIT"
  homepage = "https://github.com/monsterxcn/nonebot-plugin-gspanel"
  readme = "README.md"
  keywords = ["nonebot", "nonebot2", "genshin", "panel", "card"]
  
  [tool.poetry.dependencies]
  python = ">=3.8.1,<4.0"
  nonebot2 = ">=2.0.0b3"
  nonebot-adapter-onebot = ">=2.0.0b1"
  httpx = ">=0.20.0, <1.0.0"
  nonebot-plugin-htmlrender = ">=0.2.1"
  playwright = ">=1.25.0"  # chrome compatibility of `:has()`
  attrs = ">=20.1.0"       # attrs 20.1.0 adds `@frozen`
  
  [tool.poetry.group.dev.dependencies]
  black = "^23.1.0"
  flake8 = "^6.0.0"
  flake8-pyproject = "^1.2.2"
  isort = "^5.12.0"
  pre-commit = "^3.0.4"
  pycln = "^2.1.3"
  pyupgrade = "^3.3.1"
  
  [tool.black]
  line-length = 88
  target-version = ["py38", "py39", "py310", "py311"]
  include = '\.pyi?$'
  extend-exclude = '''
  '''
  
  [tool.flake8]
  exclude = [
    ".git",
    "__pycache__",
    "build",
    "dist",
    ".venv",
  ]
  max-line-length = 88
  # W292: No newline at end of file
  # W391: Blank line at end of file
  # W503: Line break occurred before a binary operator
  # E203: Whitespace before ':'
  ignore = ["W292", "W391", "W503", "E203"]
  # F401: Module imported but unused
  per-file-ignores = [
    "__init__.py:F401",
  ]
  
  [tool.isort]
  profile = "black"
  line_length = 88
  length_sort = true
  skip_gitignore = true
  force_sort_within_sections = true
  extra_standard_library = ["typing_extensions"]
  
  [tool.pycln]
  path = "."
  all = false
  
  [tool.pyright]
  reportShadowedImports = false
  pythonVersion = "3.8"
  pythonPlatform = "All"
  executionEnvironments = [
    { root = "./tests", extraPaths = ["./"] },
    { root = "./" },
  ]
  
  [build-system]
  requires = ["poetry-core>=1.0.0"]
  build-backend = "poetry.core.masonry.api"
  