pyproject.toml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. [project]
  2. name = "williambutcherbot"
  3. version = "0.1.0"
  4. description = "A Telegram Bot for group management and more."
  5. readme = "README.md"
  6. requires-python = ">=3.12"
  7. dependencies = [
  8. "aiohttp~=3.14.1",
  9. "aiofiles~=23.2.1",
  10. "ffmpeg-python~=0.2.0",
  11. "gTTS~=2.5.1",
  12. "dnspython==2.6.1",
  13. "future~=1.0.0",
  14. "googletrans~=4.0.0rc1",
  15. "motor~=3.6",
  16. "pymongo~=4.15",
  17. "pillow~=12.3.0",
  18. "cryptography~=45.0",
  19. "qrcode~=8.2",
  20. "psutil~=5.9.8",
  21. "pykeyboard~=0.1.5",
  22. "python-arq~=6.0.7",
  23. "requests~=2.33.0",
  24. "search-engine-parser~=0.6.8",
  25. "speedtest-cli~=2.1.3",
  26. "TgCrypto~=1.2.5",
  27. "uvloop~=0.19.0",
  28. "yt-dlp~=2026.6.9",
  29. "bs4~=0.0.2",
  30. "python-dotenv~=1.2.2",
  31. "feedparser~=6.0.12",
  32. "pyromod~=3.1.6",
  33. "fuzzysearch~=0.7.3",
  34. "img2pdf~=0.5.1",
  35. "telegraph~=2.2.0",
  36. "pytz~=2024.1",
  37. ]
  38. [dependency-groups]
  39. dev = [
  40. "mongomock-motor>=0.0.35",
  41. "pytest>=8.3.4",
  42. "pytest-asyncio>=0.25.2",
  43. "ruff>=0.9.0",
  44. ]
  45. [tool.pytest.ini_options]
  46. asyncio_mode = "auto"
  47. testpaths = ["tests"]
  48. [tool.ruff]
  49. line-length = 100
  50. target-version = "py312"
  51. # The upstream bot predates Ruff. Keep the migration baseline focused on the
  52. # admin, points, giveaway, and integration surfaces changed by this fork.
  53. include = [
  54. "launcher.py",
  55. "sample_config.py",
  56. "tests/**/*.py",
  57. "wbb/admin/**/*.py",
  58. "wbb/services/**/*.py",
  59. "wbb/modules/admin_panel.py",
  60. "wbb/modules/admin_web.py",
  61. "wbb/modules/chat_watcher.py",
  62. "wbb/modules/giveaway.py",
  63. "wbb/modules/karma.py",
  64. "wbb/modules/points.py",
  65. "wbb/modules/teacher_directory.py",
  66. "wbb/modules/technician_services.py",
  67. "wbb/utils/dbadmin.py",
  68. "wbb/utils/dbdirectory.py",
  69. "wbb/utils/dbgiveaway.py",
  70. "wbb/utils/dbpoints.py",
  71. "wbb/utils/dbservice.py",
  72. "wbb/web_admin.py",
  73. ]
  74. [tool.ruff.lint]
  75. select = ["E", "F", "I", "UP", "B", "ASYNC"]
  76. ignore = ["E501"]