[project] name = "QQAwesomeBot" version = "0.1.0" description = "QQAwesomeBot" readme = "README.md" requires-python = ">=3.10, <4.0" dependencies = [ "nonebot2[fastapi]>=2.5.0", "nonebot-adapter-onebot>=2.4.6", "nonebot-plugin-status>=0.9.0", "nonebot-plugin-apscheduler>=0.5.0", "nonebot-plugin-localstore>=0.7.4", "nonebot-plugin-orm[default]>=0.8.3", "httpx>=0.28.1", ] [project.optional-dependencies] dev = [ "pyright[nodejs]", "ruff" ] [tool.nonebot] plugin_dirs = ["src/plugins"] builtin_plugins = ["echo"] [tool.nonebot.adapters] nonebot-adapter-onebot = [ { name = "OneBot V11", module_name = "nonebot.adapters.onebot.v11" } ] "@local" = [] [tool.nonebot.plugins] "@local" = [] nonebot-plugin-status = ["nonebot_plugin_status"] nonebot-plugin-apscheduler = ["nonebot_plugin_apscheduler"] nonebot-plugin-localstore = ["nonebot_plugin_localstore"] nonebot-plugin-orm = ["nonebot_plugin_orm"] [tool.ruff] line-length = 88 target-version = "py39" [tool.ruff.format] line-ending = "lf" [tool.ruff.lint] # For more rules, see https://docs.astral.sh/ruff/rules/. select = [ "F", # Pyflakes "W", # pycodestyle warnings "E", # pycodestyle errors "I", # isort "C90", # mccabe "N", # pep8-naming "PL", # pylint "UP", # pyupgrade "YTT", # flake8-2020 "ANN", # flake8-annotations "ASYNC", # flake8-async "BLE", # flake8-blind-except "FBT", # flake8-boolean-trap "B", # flake8-bugbear "A", # flake8-builtins "COM", # flake8-commas "C4", # flake8-comprehensions "DTZ", # flake8-datetimez "T10", # flake8-debugger "ICN", # flake8-import-conventions "PIE", # flake8-pie "T20", # flake8-print "PYI", # flake8-pyi "Q", # flake8-quotes "RSE", # flake8-raise "RET", # flake8-return "SIM", # flake8-simplify "SLOT", # flake8-slots "TID", # flake8-tidy-imports "TC", # flake8-type-checking "ARG", # flake8-unused-arguments "PTH", # flake8-use-pathlib # "ERA", # eradicate "FAST", # FastAPI "PERF", # Perflint "PGH", # pygrep-hooks "FURB", # refurb "TRY", # tryceratops "RUF", # Ruff-specific rules ] ignore = [ "E402", # module-import-not-at-top-of-file # nonebot2 require() violates this "B008", # function-call-in-default-argument # nonebot2 Depends() without Annotated violates this "UP037", # quoted-annotation # "RUF001", # ambiguous-unicode-character-string # "RUF002", # ambiguous-unicode-character-docstring # "RUF003", # ambiguous-unicode-character-comment # "ANN201", # missing-return-type-undocumented-public-function "ANN202", # missing-return-type-private-function "ANN401", # any-type "COM812", # missing-trailing-comma "PLC0415", # import-outside-top-level ] allowed-confusables = [",", "。", "“", "”", ":", ";", "?", "!", "【", "】", "《", "》", "…", "—", "(", ")", "、"] [tool.ruff.lint.pyupgrade] keep-runtime-typing = true [tool.pyright] # For Pylance/Pyright configurations, see https://microsoft.github.io/pyright/#/configuration. pythonVersion = "3.9" pythonPlatform = "All" typeCheckingMode = "standard" [dependency-groups] dev = [ "pyright>=1.1.411", "ruff>=0.16.6", ]